很早时候就想基于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的官网地址为:
官网解释为:
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:大西安这么热的天竟然还会感冒,我算不算是奇葩男。。。。。
相关推荐
在本篇讨论中,我们将深入探讨基于开源GIS(地理信息系统)软件UDIG(Universal Digital Geographics)的二次开发。UDIG是一款功能强大的桌面GIS应用程序,它提供了丰富的地图浏览、数据分析和地理处理工具,同时...
uDig 是一款开源桌面 GIS 软件,基于 Java 和 Eclipse 平台,可以进行 shp 格式地图文件的编辑和查看······ 但是,纵观整个网络,都是泛泛地讲了讲如何简单地使用 uDig,却从未见过讲解如何对其进行二次开发的...
是一款开源桌面GIS软件,基于Java和Eclipse平台,可以进行shp格式地图文件的编辑和查看;是一个开源空间数据查看器/编辑器,对OpenGIS标准,关于互联网GIS、网络地图服务器和网络功能服务器有特别的加强。uDig提供一...
java是GIS开发的主要语言之一,下面将对java开发GIS的主要开源项目进行介绍。 1. uDig uDIG是一个基于Eclipse RCP的开源项目,同时也是一个GeoSpatial应用程序和平台。开发者可以通过这个平台创建新的应用程序,...
* User-friendly Desktop Internet GIS (uDig):是一个基于 Eclipse 的桌面 GIS 软件,支持多种数据格式的导入和编辑。 * Kosmo Desktop:是一个功能强大且用户友好的桌面 GIS 软件,支持多种数据格式的导入和编辑。...
在构建一个基于开源GIS的地理信息系统时,首先要理解GIS的核心组成部分和其工作原理。GIS,即地理信息系统,是一个集成了地图、数据管理和分析的综合工具,用于处理与地理位置相关的复杂信息。本文将深入探讨如何...
uDig(User-friendly Desktop GIS,用户友好的桌面地理信息系统)是一款开源的桌面GIS软件,它提供了丰富的地图数据处理、分析和展示功能。这个名为“udig软件安装包解压即用.zip”的压缩文件包含了uDig的安装程序...
因此,开发一套基于开源技术的GIS平台成为了一种可行的选择。 #### 二、开源GIS平台架构设计 ##### 1. 技术选型 在设计开源GIS平台时,主要考虑了以下几种技术: - **Udig**:作为开源GIS桌面系统的代表,Udig...
1. **UDIG软件介绍**:UDIG,全称User-Driven Interactive Geospatial Data Exploration and Graphics,是一个基于Java开发的交互式地理信息系统。它支持多种地理空间数据格式,包括Shapefile、GML、GeoTIFF等,并且...
1. **uDig**:uDig(User-friendly DIgital Geographical Environment)是一个基于Eclipse RCP的开源GIS应用,它不仅是一个独立的桌面GIS软件,还是一个开发平台,允许开发者构建基于uDig的定制化应用。uDig支持Web...
GRASS(Geographic Resources Analysis Support System)是一款基于GNU GPL协议的开源GIS软件,拥有强大的空间数据管理和分析功能。GRASS广泛应用于政府机构、大学和环境咨询公司中。其最新稳定版本为2010年9月3日...
根据开发环境的不同,可以将主流的WebGIS开源解决方案分为两大类:基于C/C++的解决方案和基于JavaEE的解决方案。 - **C/C++解决方案**: - Mapserver(服务器) - QGIS(桌面软件) - Tomcat(中间件) - ...
uDig(Understanding Digital Geography)是一款基于Java开发的开源地理信息系统(GIS),它提供了一个用户友好的界面,使得用户能够轻松处理、分析和展示地理数据。这款软件广泛应用于地理数据的可视化、空间分析...
然而,Udig缺乏空间分析功能,需要二次开发实现。 Quantum GIS(QGIS) Quantum GIS(QGIS)是一个功能强大的开源GIS平台方案,主要功能包括制作地图、支持常见GIS数据编辑绘制、数据格式的转换导入、生成地图样式...
7. **教学与研究**:由于其开源性质,UDIG常被用于地理信息系统教学和研究,因为它允许深入学习GIS原理和开发实践。 在下载“qgis和udig安装包.zip”后,你将获得QGIS和UDIG的安装程序。在解压并运行安装程序之前,...
【开源GIS】在课件中提到了一些开源GIS软件和库,如GRASS、Quantum GIS(QGIS)、OpenJUMP、SharpMap、MapWindow、gvSIG、uDig等,这些都是用于桌面GIS应用的工具。同时,还有JTS、GEOS、NTS、GeoTools等开源地理...
udig 是一个开源的 GIS 工具,能够查看和处理空间数据。使用 udig 工具可以查看导入的 Shape 文件,包括空间数据和属性数据。 本篇文章介绍了如何使用 PostGIS 将 Shape 文件导入 PostgreSQL 数据库的详细步骤。...
uDig(User-friendly DIgital Geographics Environment)是一款开源的桌面GIS软件,它提供了数据编辑、分析和可视化的功能。在这个过程中,uDig被用来创建和编辑地图样式。地图样式是决定地图外观和感觉的关键元素,...