1、QGIS(原称Quantum GIS)
QGIS(原称Quantum GIS)是一个跨平台的桌面GIS软件。它提供数据的显示、编辑和分析功能,可以自动生成地图,并且能够处理地理空间数据,最后形成你期待的地图数据。它于2004年成为地理空间开源基金会的一个孵化项目。稳定版本是2.14.0 (Essen)。
QGIS是以C++、Python, Qt为编程语言的跨平台应用,可以在多种操作系统上运行,包括Mac OS X、Linux、UNIX和Microsoft Windows。对于Mac用户,QGIS相对于GRASS GIS的优势在于它不需要X11窗口系统,而且界面更简洁、快速。GRASS的图形用户界面也可以使用。
QGIS的最大特点在于界面很友好,熟悉ARCGIS的人都能很快的掌握QGIS的操作,支持WMS并无缝集成POSTGIS(对象-关系型数据库管理系统),几乎完全照搬了GRASS的分析功能,因此其分析功能也很强大。相较于商业GIS,QGIS的文件体积更小,需要的内存和处理能力也更小,因此它可以在旧的硬件上或CPU运算能力被限制的环境下运行。
目前,QGIS被志愿者开发团体持续维护,已被翻译为31种语言,广泛使用在全世界的学术和专业环境中。
网址:https://www.qgis.org
2、gvSIG
gvSIG也是一个跨平台的桌面GIS软件,于2004年在西班牙成为了开源GIS软件。稳定版本是2.0。
该系统适用于Windows、Linux、OS X操作系统;不仅能够访问本地的矢量数据或者栅格数据,而且也能够通过支持开放地理空间信息联盟(OGC)规范的远程服务器访问该类数据。
支持网络地图服务(WMS)、网络要素服务(WFS)、网络覆盖服务(WCS)、目录服务以及地名辞典服务等一系列地理信息网络服务规范,这是gvSIG与其它地理信息系统的特大区别。此外,它也能够访问ESRI公司的ArcIMS服务提供的远程数据。
gvSIG CAD可以跟踪的几何图形,然后编辑顶点分裂线和多边形;gvSIG移动带来了手机GIS应用,适合现场作业。gvSIG 能够支持以下数据格式:矢量格式(Shapefile、DXF、DGN、DWG)、栅格格式(ECW、MrSID、JPEG、jp2、TIFF、geoTIFF、PNG、GIF)和基于XML的格式(KML、GML)。
网址:http://www.gvsig.com/en
3、Whitebox GAT
Whitebox GAT是一个地理空间分析工具箱的桌面GIS软件。它主要是将桌面GIS和遥感软件包综合来进行地理空间分析和数据可视化应用。它被认为是替代的地形分析系统(TAS),旨在提供先进的地理空间数据分析,在环境研究和地理信息行业进行应用,也能够进行地理信息教育工具。实际上取代了地形分析系统——hydro-geomorphic应用程序的工具。通过激光雷达的数据,可以进行转换、分析、管理、缓冲和提取地理空间信息。这个神奇的免费GIS软件在GIS行业几乎是闻所未闻的。
网址:http://www.uoguelph.ca/~hydrogeo/Whitebox/
4、SAGA GIS
AGA GIS是一个经典的免费系统自动分析的GIS软件。主要进行地形分析、流域提取和可见性分析,尤其地形分析上是其最霸气的应用;它也在环境建模和形态测量方面可以进行地形湿度指数和地形位置分类等应用。SAGA与一个特殊的应用程序编程接口(API的)地理数据处理。这个API可以很容易实施的新算法。它的API支持网格数据,矢量数据,并表。SAGA GIS的强大还在于它使多个窗口列出你所有的分析(地图、直方图、散点图、属性等),提供了一个友好的GUI和API。总之,快速、可靠和准确是它的魅力。
网址:http://www.saga-gis.org
5、GRASS GIS
GRASS GIS (Geographic Resources Analysis Support System)是开源代码的地理资源分析支持系统,可用于处理栅格、拓扑矢量、影像和图表数据;优势尤其在于选择分析、图像处理、数字地形操作和统计数据。GRASS 最早是由美国陆军工程兵团作为土地管理和环境规划的工具。在GPL下发布,可以在多个平台上运行,包括Mac OS X、Windows和Linux。用户可以通过图形用户界面使用该软件功能;也可以通过改进直接使用它的模块。当前的 GRASS 6版本采用新的拓扑 2D/3D 矢量引擎并支持矢量网络分析。该系统可以胜任3D矢量图形数据和立体像素的可视化,也支持线性参考系统。GRASS 是开源地理空间基金会最初的八个软件项目之一。由于它的直观和可靠性,它已经广泛用于不同的领域(学术界、环境咨询公司和政府机构),例NASA、美国国家海洋和大气管理局、美国农业部和美国地质调查局等。
网址:https://grass.osgeo.org/
6、MapWindow
MapWindow是一个基于标准的桌面GIS软件,它的90%的用户关注其地图查看器、识别特性、处理工具和打印等特性。MapWindow GIS项目包含了兼容微软视窗的桌面应用,能够查看shapefile和多种栅格数据格式。它可以通过“GIS工具”插件重生成数据、剪辑、合并,及执行其它地处理。开发用户可以使用任何.NET框架语言书写插件扩展此应用,或使用MapWinGUS ActiveX控制书写GIS软件。其TauDEM功能更是自动描述分水岭。
网址:https://www.mapwindow.org/
7、ILWIS
ILWIS是一个土地和水资源综合信息管理的开源GIS软件。它主要被生物学家、水资源管理者和地理空间管理者广泛使用。ILWIS擅长数字化、编辑、显示地理数据和生成地图;也用于遥感图像分类、增强和光谱波段操作。ILWIS最初是在荷兰的供其研究人员和学生使用。自2007年7月1日,它结合集成的矢量和栅格软件程序,已作为免费软件被许多学生、教师和研究人员使用。ILWIS有非常强大的栅格分析模块、高精密和灵活的向量和点数字化模块,集合多种非常实用的工具。在许多方面与GRASS GIS类似,ILWIS目前只能在微软的Windows下使用。
网址:https://www.itc.nl/ilwis/
8、GeoDa
GeoDa是跨平台的开源版本,主要进行空间数据分析。其主要功能是地质统计和空间建模。开源的GeoDa可以在Windows(包括XP,Vista中和7)、Mac OS和Linux上运行。它是哈佛大学,麻省理工大学和康奈尔大学的重要分析工具。GeoDa具有强大的功能来执行空间分析,多元探索性数据分析,以及全球和当地的空间数据。它还执行基本的线性回归、空间模型,也可用于一系列经济发展健康和房地产等领域。
网址:https://spatial.uchicago.edu/software
9、uDig
uDig是由加拿大的咨询公司研制,基于对Eclipse平台和功能分层,关注社会生产的地理信息研究。它具有简单易用和Mac OS功能的优势。从字面含义上,也可以领会到其应用的含义:u代表友好的用户界面,D代表桌面(Windows、Mac或Linux),i代表面向互联网的消费标准(WMS,WFS或WPS),G代表GIS-ready复杂的分析功能。uDig可以使用GRASS复杂的矢量运算,并嵌入JGRASS和专门的水文工具。uDig通常用作用于构建其他GIS平台和应用提供框架,也包括DIVA GIS和海啸远程预警系统的应用。
网址:http://udig.refractions.net/
10、OpenJump
OpenJUMP可以很好地处理大型数据集,并呈现大量的数据图(如饼图、绘制等值线图等)。基于JAVA平台可以读取栅格和可视化框架计算机程序。它可以在Windows,Linux和Mac平台上工作,尤其是在运行Java 1.5或更高版本的操作系统上运行。OpenJUMP的插件增强了其功能,有(绘图和几何)编辑、光栅、印刷、web处理、空间分析、GPS、属性查询、可缩放矢量图形(SVG)格式的影像输出和数据库等应用。它不只是一个免费的演示浏览器,也可以编辑,保存,分析等。它为地理信息系统的API提供了灵活插件结构,从而使新的功能能比较容易进行。
网址:http://www.openjump.org/
11、Diva GIS
DIVA GIS是用于制图和地理数据分析的GIS软件。它专门从事生物的丰富性和多样性的数据分析;它可以提取气候和土地的所有位置数据、进行统计分析和建模;此外,它可以定位国家的界限,河流,卫星图像,并在观察到动物物种的位置,从而为生物学的研究提供了小面积范围的地图。
网址:http://www.diva-gis.org/
12、FalconView
FalconView主要有便携式飞行计划软件(PFPS)的功能,这使得它可以用于战斗飞行计划,所以它的大部分用户来自美国国防部和其他国家地理空间情报机构。它支持各种类型的显示数据,如卫星、激光雷达、频率和MrSID。在SkyView模式中,甚至可以使用MXD文件。
它可以参考各种类型的地图和地理信息,最重要的是在航图、卫星图像和高程图方面。目前用户以军事任务执行人员、飞行员、航空技术支持人员为主。目前的FalconView的一部分XPlan,主要用于美国国防部的任务规划系统和佐治亚技术研究所的计划活动配套方案中。 它可用于Windows系列操作系统;而Linux和移动操作系统的版本正在开发中。
网址:https://falconview.software.informer.com/4.3/
13、OrbisGIS
OrbisGIS是一个半成品的开源GIS软件。它提供了新的方法和技术进行建模,它可以处理和共享空间数据,以便于监测地理领土和管理。OrbisGIS能够处理矢量和栅格数据模型。在执行如噪声地图、水文过程等定位应用上,它可以没有任何插件,只是有时间周期限制。它可以在生态、环境可持续发展的相关性上,使用系统化的方法,进而评估公共政策。但是,这种做法必须考虑到相关的环境、社会和经济因素,以促进其有效的决策和规划。作为包含分析工具,它可以在不同的时间和空间尺度下,计算各项指标,生成综合性的建模;这些都将使OrbisGIS成为不可或缺的工具。
网址:http://orbisgis.org/
14、SasPlanet
俄罗斯开发的地图下载和浏览的工具。
网址:https://bitbucket.org/sas_team/sas.planet.bin/overview
15、Cesium
Cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎。Cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区域,并提供良好的触摸支持,且支持绝大多数的浏览器和mobile。
网址:https://cesiumjs.org
三维数字地球发布平台探索--几款开源软件介绍
探索完平台内容后,本来打算介绍数据类型和数据处理方面,不过决定将相关的开源软件介绍和基于开源软件进行相关开发的要点进行说明。下一章将继续数据的探索。
1.WorldWind
知名度很高,介绍也很全。链接在这里NASA World Wind
目前分为.net版本和java版本。
开发语言:c#.java
渲染方式:DirectX,Opengl(Java)
WorldWind的优势
WorldWind的软件架构应该来说还是很不错的,很优秀。开放的设计,使得Worldwind的扩展非常方便和快捷,目前已有上百种各式各样的插件,很多插件都很有意思和实用。使用.net和java,研究它的工作原理变的相对容易。
相对来说.net版本的容易深入些。java版的严格面向对象方法的使用,使得java版的精简,但深入起来不如.net容易。
以前交流的时候,我经常会推荐WorldWind。很好很强大。
这里以.net版进行说明。
下面的缺陷不能掩盖WorldWind的光彩。
WorldWind的缺陷
总体架构设计没太大问题。主要在内部的几点
1.速度慢。几个原因导致worldwind在实际使用中存在速度慢的问题.
a)影像数据组织混乱。由于worldwind在系统设计时面向的就是各个行业各种数据的集成。因此他设计时的兼容,导致同一地区数据获取重复(占内存资源)、不同数据获取服务器速度不一致影响。
b)c#异常。捕获异常占用了worldwind大部分时间。导致显示、数据获取时严重的停顿。
c)SRTM的动态生成。如果你想像取图工具一样把SRTM下载下来,那简直不可能。
d)QueueDownload实际运作时,一旦出现异常和错误,将导致数据下载停顿。需要重新调整视角。而貌似多线程的下载,实际效果并不明显。这就导致显示出现停顿。
2.三维支持能力稍差。
尤其是在模型的支持方面,虽然有个ModelFeature类来进行三维显示。这里有问题:
a)不支持LOD,虽然.x文件设计时能支持,不过显然ModelFeature不支持。
b)模型显示漂移。当你放大到最详细时,会发现模型左右上下晃动。
c)模型未按tile形式组织。Cache、内存、释放等方式都存在问题。
3.矢量支持
worldwind的矢量处理显示类比较混乱。效果也不是太好。
4.KML支持
通过一个插件能够支持KML,不过想达到googleearth的添加等功能,还需要做很多工作。
5.内存泄露
按理,c#不会存在内存泄露。出现问题的地方是QuadTile.Dispose,D3D的纹理没有进行清除。使得资源占用越来越大,速度越来越慢
6.DEM显示缺陷
每个Tile之间未作平滑处理,经常会出现深坑、断档。
7.影像黑边
大多数基于worldwind的软件,可以看到影像边缘很明显的黑边、锯齿。究其原因,是Jpg压缩,出现黑色渗透交融导致黑边锯齿。 两种解决办法,a)边缘地带采用png。b)严格的数据组织。
WorldWind的国内应用
可以说,国内很多高手都解决了上述的问题,并且发扬WorldWind的优势。典型代表EVGlobe等等。很不容易,从某种角度上来说,确实是自主研发。
2.OSSIMPlanet
链接:ossimplanet
开发语言:c++
渲染方式:opengl
相比WorldWind而言,名气并太大。虽然推荐时,我一般不推荐它,但他确实是另外一个很强大的开源数字地球。我不推荐它的原因是:
1)基于c++。光研究了解它就要花好多成本,这并不太适合国内公司和单位。门槛高,时间长,见效慢。
2)相关资料少。它涉及到太多的大型开源库,而国内翻译的资料相对少很多。不像WorldWind,拿套源代码就能开干。
但我很喜欢它,作为技术人员来说,我推荐大家去看。很多乐趣和知识在里面。很优雅,很内涵,值得收藏。
OSSIMPlanet优势
1)基于OSG(Open Scene Graph),一个很庞大很工业很成熟的开源软件。这点很吸引我。国内很多公司采用,如西安赛能。地址:http://blog.3snews.net/www.openscenegraph.org
仅OSG就能列出非常多的文章,使用OSG的好处不胜列举。要描述清楚需要花很多篇幅。这里我们就带过。
2)平滑快速高效的显示效果。
3)作为平台来说,他涵盖的内容很全,比如你可以用OSG做出媲美TerraBuilder的软件。用GDAL+OSG支持绝大多数矢量、影像、模型文件。
4)完美的模型支持。不用说LOD,连整个城市装入一点问题没有。在很早以前,有个叫做VTP的虚拟城市开源软件。
5)专业化,确实很专业。
6)脚本支持。通过采用OSG的osgInterper(这部分实在是太美妙了),能快速绑定Python,Lua,JavaScript,Ruby。
7)想了解更多的优势,还是自己去下个来看吧。
OSSIMPlanet缺陷
从技术角度来讲,OSSIMPlanet的缺陷几乎没有。不过,上面说过了,想基于它形成自己的产品和解决方案,要花很多投入和资金。因此它的硬伤就是,不适合商业化。
OSSIMPlanet国内应用
几年前,我和一个开发工作室聊过。他们采用的是OSG以及基于OSG开发的数字地球,参考了ossimplanet但未直接使用。因此,国内应用,没有。
这个工作室产品名为VirtualTerran。后来貌似变成了mapok(不确定,知道的请联系我)
3.Gps3D
地址:http://blog.3snews.net/www.mgix.com/gps3d/
这款开源软件应该来说更侧重于gps功能。当然也包含了三维地球的部分功能。
开发语言:c++
渲染方式:Opengl
这个开源软件很小巧也很实用。作为技术参考来说,非常不错。可以参考的部分是经纬度转三维坐标,WMS、WFS的远程调用以及Tile的三维显示。
缺点就不多说,毕竟方向不一致,不能以平台来要求它。
4.Earth3D
地址:http://blog.3snews.net/www.earth3d.org
这款开源软件适合初步研究三维地球。它显示了三维地球,并显示了国界线。
开发语言:c++
渲染方式:Opengl
作为初步研究,还是不错的。毕竟起点的第一步就是如何显示三维地球并贴上MODIS数据。它还能显示国界线。很不错的参考。
5.其他更多的开源软件
目前为止,我发现的开源软件就是以上4种,如果你知道更多,请告诉我。
总结:
1.WorldWind最成熟,最适合商业化.
2.技术最优OSSIMPlanet