`
jjxliu306
  • 浏览: 153038 次
  • 性别: 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)

    NULL 博文链接:https://jjxliu306.iteye.com/blog/2094986

    uDig 二次开发指南

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

    GIS - udig - gis桌面应用工具

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

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

    uDig软件安装包,解压后,即可使用,本安装包使用Java开发,和Eclipes很像,使用也相似,适合开发人员使用,GIS的不二选择

    uDig文档两篇

    uDig文档两篇 了解uDig平台及其应用 javaGIS桌面应用

    udig开发环境大礼包,eclipse rpc+eclipse modeling Tools+udig_sdk

    下载资源的兄弟如果会udig开发跟我说说,我走了一遍eclipse rpc开发,整个人感觉不好了。如果有同志会eclipse RCP开发可能会入门简单一些,我按照官网走了一片,udig到时配置起来了,但是单独开发应用真的太难了。

    udig2.0安装程序包

    更好用的udig制图软件,因官网下载速度慢,特此分享!

    udig-1.5.0.RC1.win32.win32.x86_64地理信息遥感软件

    打开遥感影像的最简单软件udig,一键安装,支持遥感数据、地理信息shp数据。

    基于OpenLayer的通信网GIS平台的研究

    依托于光纤在线监测系统,基于在光缆网管理中遇到的实际问题,在通 信管线资源GIS模型的基础上,对光缆网GIS平台进行了需求...选择了开源的uDig、Geoserver作为GIS平台,利用饰enLayer工具包设计并实现了光缆网GIS平台。

    图层样式配置软件udig,配置并导出 .sld 样式文件

    图层样式配置软件udig,配置并导出 .sld 样式文件 导出的sld样式文件可以导入到geoserver中,对geoserver发布的wms,wmts,wfs等服务的图层进行样式配置,并提供给前端调用渲染 直接点击 udig_internal.exe 即可运行...

    udig-2.0.0.win32.x64解压版

    好用的udig制图软件,美化地图的实用工具,因官网下载速度慢,特此分享!

    geoserver+mapbuilder+uDig+postgis

    一个完整的tomcat(weblogic)+geoserver+mapbuilder+uDig+postgis利用开元软件构架和建立的gis系统,数据的建立,服务的搭建,web客户端的实现,都有所介绍

    利用udig美化shape文件并由Geoserver发布

    这是gis方向文档,用于shape文件美化显示,用udig软件对shape文件添加美化style,并导出style文件,利用geoserver加载style文件并发布,可以通过openlayers显示

    uDig 快速入门

    uDig 快速入门,详细图示化讲解uDig软件的操作与使用,方便入门与提高

    GeoServer 和GeoWebCache

    基于GeoServer的WebGIS开发.pdf 基于GeoServer和OpenLayers的WebGIS实现.pdf 基于GOESERVER_2.0.2的地图发布(webgis作业).do 使用geoserver创建样式简单图解.doc 优化_geoserver的运行.txt Geoserver+MapBuilder+...

    qgis和udig安装包.zip

    qgis和udig安装包

    利用UDig在图层上显示属性信息

    利用UDig在图层上显示属性信息,另外还有不同比例尺显示不同图像

    uDig简单使用教程.pdf

    uDig简单使用教程.pdf

    udig2.0中文语言包.rar

    udig2.0中文语言包.rar udig2.0中文语言包.rar udig2.0中文语言包.rar udig2.0中文语言包.rar udig2.0中文语言包.rar

Global site tag (gtag.js) - Google Analytics