`
jjxliu306
  • 浏览: 157284 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

基于udig(开源GIS软件)二次开发(1)

    博客分类:
  • GIS
 
阅读更多


 很早时候就想基于GIS写一点东西,前面基于UDIG做过不短时间的二次开发。当前也有geoserver+openlayers的一些开发经验。未来一段时间每天一个文章好好写一下关于GIS或者RCP的一些东西,刚好UDIG就是基于GIS+RCP的产品。OK,话不多说我们先看看UDIG是个什么东西,大概接下来几天想讲讲UDIG。

 

百度百科中对udig的讲解是:

http://baike.baidu.com/view/3049420.htm

 

uDig是一个 open source (EPL and BSD) 桌面应用程序框架,构建在Eclipse RCP和GeoTools(一个开源的Java GIS工具包)上的桌面GIS(地理信息系统) ;是一款开源桌面GIS软件,基于Java和Eclipse平台,可以进行shp格式地图文件的编辑和查看;是一个开源空间数据查看器/编辑器,对OpenGIS标准,关于互联网GIS、网络地图服务器和网络功能服务器有特别的加强。uDig提供一个一般的java平台来用开源组件建设空间应用。

 

 

udig的官网地址为:

http://udig.refractions.net/

 

官网解释为:

A GIS Framework for Eclipse

uDig is an open source (EPL and BSD) desktop application framework, built with Eclipse Rich Client (RCP) technology.

  • uDig can be used as a stand-alone application.
  • uDig can be extended with RCP “plug-ins”.
  • uDig can be used as a plug-in in an existing RCP application.

翻译大概为:一个基于eclipse的gis框架,

udig是一个开元的桌面应用框架,构建于eclipse RCP产品。

 

具体的定义和功能大家可以看看官网的定义。由于我做udig二次开发的时候是基于udig1.2的版本,目前官网已经更新到了1.4.所以开发中我可能还是用的1.2的框架,但各个主要功能都差不多。

 

今天主要的工作是让我们下载udig的插件集合或者源码在本地跑起来。

 

udig 1.4SDK 是基于eclipse 3.7 开发的,如果想保持一切SDK的吻合性,开发中可以下载3.7的eclipse。我这里用的是4.2的eclipse所以才会出现后来的一个报错。

 

1。  下载udig的SDK,下载地址 :http://udig.refractions.net/download/ 如果只是想使用udig或者看看udig是什么东西,可以下载安装版或者zip版。udig是基于RCP开发的产品。所以使用习惯上和我们的eclipse保持一致。我们下载SDK版本,因为我们要基于udig做一次二次应用。

 

趁着现在正在下载SDK,我们乱扯一下。UDIG目前可以对多个数据源的信息进行展示,常见的我们的wms服务、shp文件、postgis等都会支持.另外对于SHP(我在开发中主要用到SHP,通过geotools生成shp然后加载到udig里)支持灰常强大,样式、编辑等等很方便。

我们在udig中常用到的几个视图我一会等SDK下载好了给大家截图说明一下。

 

 

 

2.下载完成后,将 udig-1.4.0-sdk.zip 解压到任意目录。打开eclipse(推荐使用RCP /RAP开发版的eclipse),打开后配置一下target。

2.1: window-->preferences.

2.2 在右侧点击add新加一个target或者在当期target中进行添加我们的udig SDK,因为我的这个eclipse目前只是用来做UDIG二次开发,所以我选择在当前target中进行编辑。

 

 

 

 

 

 

 

当前显示我们的eclipse中自带的查件有600多个。我们选择add 增加我们的udig的SDK

这里我们将SDK进行了解压,选择目录,next后

 

 

点击 finish后我们的SDK挂载完成。

2.3 一切完成后,我们可以看到我们的plugins-ins视图中多了很多的插件。

 

2.4 在plugin-ins视图中我们找到一个 net.refractios.udig这个插件,这个插件就是UDIG这个项目的启动插件,product文件也在这个插件中。在这个插件上我们右键--》import as 选择source 或者bin都可以,完成后,我们切换到 package explorer ,可以看到net.refrations.udig  这个插件已经在这里,我们点开会发现udig.product 文件(这个文件的含义以后我会在RCP的帖子里说明)。点开product文件。

 

我们点击 lanunch an eclipse application 在eclipse应用中启动UDIG。

2.4 启动后如果正常那一切OK,但我这边启动后我们发现报错了,提示

java.lang.RuntimeException: No application id has been found.
 at org.eclipse.equinox.internal.app.EclipseAppContainer.startDefaultApp(EclipseAppContainer.java:242)
 at org.eclipse.equinox.internal.app.MainApplicationLauncher.run(MainApplicationLauncher.java:29)
 at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
 at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
 at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
 at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
 at org.eclipse.equinox.launcher.Main.main(Main.java:1426)

 

还有一堆巴拉巴拉的日志说明 缺失插件(!MESSAGE Missing imported package。。。。。)

我们找一下是否哪些插件有异常,因为UDIG是基于feature管理,因此打开
 



 dependencies后发现只有两个feature,理论上来说语言包插件是不会出现多大问题,我们点开第一个freature,



 这我们发现UDIG引用的RCP插件版本为3.7,我当前的环境是4.2因此是插件版本的问题。反回来我们在udig.product 中补一个4.2的RCP feature即可。

 

补后启动:OK!



 

好了,我们在插件模式下正常启动了UDIG,未来的博客里我会先介绍一下UDIG的一个简单使用。

 

PS:大西安这么热的天竟然还会感冒,我算不算是奇葩男。。。。。

  • 大小: 79.3 KB
  • 大小: 66.3 KB
  • 大小: 36.8 KB
  • 大小: 31.6 KB
  • 大小: 123.3 KB
  • 大小: 91.5 KB
  • 大小: 49.8 KB
  • 大小: 91.2 KB
  • 大小: 125.5 KB
分享到:
评论
6 楼 jjxliu306 2015-02-28  
windleos 写道
jjxliu306 写道
windleos 写道
我下的eclipse是4.4的,报错以后你说在udig.product中补一个4.2的RCP feature,是不是就在udig.product中的dependencies点add,然后把org.eclipse.e4.rcp加上,我这里只有个org.eclipse.e4.rcp(1.3.0......),加上以后还是不行,还是那些错,是版本问题吗,求指导

应该是叫 org.eclipse.rcp , 而不是叫org.eclipse.e4.rcp

加了,还是报那些错

加我QQ 329689821
5 楼 windleos 2015-02-26  
jjxliu306 写道
windleos 写道
我下的eclipse是4.4的,报错以后你说在udig.product中补一个4.2的RCP feature,是不是就在udig.product中的dependencies点add,然后把org.eclipse.e4.rcp加上,我这里只有个org.eclipse.e4.rcp(1.3.0......),加上以后还是不行,还是那些错,是版本问题吗,求指导

应该是叫 org.eclipse.rcp , 而不是叫org.eclipse.e4.rcp

加了,还是报那些错
4 楼 jjxliu306 2015-02-13  
windleos 写道
我下的eclipse是4.4的,报错以后你说在udig.product中补一个4.2的RCP feature,是不是就在udig.product中的dependencies点add,然后把org.eclipse.e4.rcp加上,我这里只有个org.eclipse.e4.rcp(1.3.0......),加上以后还是不行,还是那些错,是版本问题吗,求指导

应该是叫 org.eclipse.rcp , 而不是叫org.eclipse.e4.rcp
3 楼 windleos 2015-02-12  
我下的eclipse是4.4的,报错以后你说在udig.product中补一个4.2的RCP feature,是不是就在udig.product中的dependencies点add,然后把org.eclipse.e4.rcp加上,我这里只有个org.eclipse.e4.rcp(1.3.0......),加上以后还是不行,还是那些错,是版本问题吗,求指导
2 楼 jjxliu306 2015-02-09  
liushuo_whu 写道
如此好的博客竟然没有人顶啊

谢谢
1 楼 liushuo_whu 2015-02-04  
如此好的博客竟然没有人顶啊

相关推荐

    基于udig(开源GIS软件)二次开发(4)

    在本篇讨论中,我们将深入探讨基于开源GIS(地理信息系统)软件UDIG(Universal Digital Geographics)的二次开发。UDIG是一款功能强大的桌面GIS应用程序,它提供了丰富的地图浏览、数据分析和地理处理工具,同时...

    uDig 二次开发指南

    uDig 是一款开源桌面 GIS 软件,基于 Java 和 Eclipse 平台,可以进行 shp 格式地图文件的编辑和查看······ 但是,纵观整个网络,都是泛泛地讲了讲如何简单地使用 uDig,却从未见过讲解如何对其进行二次开发的...

    GIS - udig - gis桌面应用工具

    是一款开源桌面GIS软件,基于Java和Eclipse平台,可以进行shp格式地图文件的编辑和查看;是一个开源空间数据查看器/编辑器,对OpenGIS标准,关于互联网GIS、网络地图服务器和网络功能服务器有特别的加强。uDig提供一...

    开源GIS大全(java)

    java是GIS开发的主要语言之一,下面将对java开发GIS的主要开源项目进行介绍。 1. uDig uDIG是一个基于Eclipse RCP的开源项目,同时也是一个GeoSpatial应用程序和平台。开发者可以通过这个平台创建新的应用程序,...

    OSGeo:开源GIS软件、在线教程、数据相关资料

    * User-friendly Desktop Internet GIS (uDig):是一个基于 Eclipse 的桌面 GIS 软件,支持多种数据格式的导入和编辑。 * Kosmo Desktop:是一个功能强大且用户友好的桌面 GIS 软件,支持多种数据格式的导入和编辑。...

    基于开源GIS构建地理信息系统

    在构建一个基于开源GIS的地理信息系统时,首先要理解GIS的核心组成部分和其工作原理。GIS,即地理信息系统,是一个集成了地图、数据管理和分析的综合工具,用于处理与地理位置相关的复杂信息。本文将深入探讨如何...

    udig软件安装包解压即用.zip

    uDig(User-friendly Desktop GIS,用户友好的桌面地理信息系统)是一款开源的桌面GIS软件,它提供了丰富的地图数据处理、分析和展示功能。这个名为“udig软件安装包解压即用.zip”的压缩文件包含了uDig的安装程序...

    开源GIS架构实现思路.docx

    因此,开发一套基于开源技术的GIS平台成为了一种可行的选择。 #### 二、开源GIS平台架构设计 ##### 1. 技术选型 在设计开源GIS平台时,主要考虑了以下几种技术: - **Udig**:作为开源GIS桌面系统的代表,Udig...

    udig2.0安装程序包

    1. **UDIG软件介绍**:UDIG,全称User-Driven Interactive Geospatial Data Exploration and Graphics,是一个基于Java开发的交互式地理信息系统。它支持多种地理空间数据格式,包括Shapefile、GML、GeoTIFF等,并且...

    开源GIS---java系列

    1. **uDig**:uDig(User-friendly DIgital Geographical Environment)是一个基于Eclipse RCP的开源GIS应用,它不仅是一个独立的桌面GIS软件,还是一个开发平台,允许开发者构建基于uDig的定制化应用。uDig支持Web...

    开源GIS平台调研报告

    GRASS(Geographic Resources Analysis Support System)是一款基于GNU GPL协议的开源GIS软件,拥有强大的空间数据管理和分析功能。GRASS广泛应用于政府机构、大学和环境咨询公司中。其最新稳定版本为2010年9月3日...

    符合我公司GIS开源解决方案的探讨

    根据开发环境的不同,可以将主流的WebGIS开源解决方案分为两大类:基于C/C++的解决方案和基于JavaEE的解决方案。 - **C/C++解决方案**: - Mapserver(服务器) - QGIS(桌面软件) - Tomcat(中间件) - ...

    uDig文档两篇

    uDig(Understanding Digital Geography)是一款基于Java开发的开源地理信息系统(GIS),它提供了一个用户友好的界面,使得用户能够轻松处理、分析和展示地理数据。这款软件广泛应用于地理数据的可视化、空间分析...

    常用GIS平台方案对比

    然而,Udig缺乏空间分析功能,需要二次开发实现。 Quantum GIS(QGIS) Quantum GIS(QGIS)是一个功能强大的开源GIS平台方案,主要功能包括制作地图、支持常见GIS数据编辑绘制、数据格式的转换导入、生成地图样式...

    qgis和udig安装包.zip

    7. **教学与研究**:由于其开源性质,UDIG常被用于地理信息系统教学和研究,因为它允许深入学习GIS原理和开发实践。 在下载“qgis和udig安装包.zip”后,你将获得QGIS和UDIG的安装程序。在解压并运行安装程序之前,...

    GIS应用开发课件1.ppt

    【开源GIS】在课件中提到了一些开源GIS软件和库,如GRASS、Quantum GIS(QGIS)、OpenJUMP、SharpMap、MapWindow、gvSIG、uDig等,这些都是用于桌面GIS应用的工具。同时,还有JTS、GEOS、NTS、GeoTools等开源地理...

    开源gis shape文件入PostgreSQL库

    udig 是一个开源的 GIS 工具,能够查看和处理空间数据。使用 udig 工具可以查看导入的 Shape 文件,包括空间数据和属性数据。 本篇文章介绍了如何使用 PostGIS 将 Shape 文件导入 PostgreSQL 数据库的详细步骤。...

    uDig定制地图样式发布到Geoserver并使用Openlayers和Cesium验证.rar

    uDig(User-friendly DIgital Geographics Environment)是一款开源的桌面GIS软件,它提供了数据编辑、分析和可视化的功能。在这个过程中,uDig被用来创建和编辑地图样式。地图样式是决定地图外观和感觉的关键元素,...

Global site tag (gtag.js) - Google Analytics