去年开始
接触
了一些开源
GIS
软件,个人觉得这些软件做的挺不错的,想介绍给使用
GIS
的朋友们。
从空间数据库
说起吧。在空间数据库领域,商业化的产品有
ORACLE SPATIAL
,以及以前的
ARC SDE
等等,而开源空间数据库虽然在功能上略有欠缺,但是在性能上毫不逊色。开源的空间数据库主要是
postgresql
和
mysql
的空间插件,分别是
postGIS
和
mySpatial
。目前由于
PG
对于面向对象支持的更好一些,所以
postGIS
在性能上和功能上都比
myspatial
要强一些。但是两者都有一个最重要的缺陷,就是不直接支持栅格数据。解决方案是将栅格数据存储为
BLOB
类型,并且对其建立四叉树索引,用以模拟商业数据库对栅格数据的存储。相对来说我更喜欢
POSTGIS
一些,原因有三:
1
,
MYSQL
本身不是在所有情况下免费,而
PG
在所有情况下都免费;
2,POSTGIS
性能和功能上都强于
myspatial;3,
国外已经有很多基于
POSTGIS
的成功应用,可以降低风险。
接下来轮到桌面软件了。
QGIS
和
GRASS
是很好的桌面
GIS
,当然基于
ECLIPSE
平台的
UDIG
也是另外一个选择。
QGIS
的最大特点在于界面很友好,熟悉
ARCGIS
的人都能很快的掌握
QGIS
的操作,另外
QGIS
对
WMS
的支持也不错。再者
QGIS
可以无缝集成
POSTGIS
,最后
QGIS
几乎完全照搬了
GRASS
的分析功能,因此其分析功能也很强大。
GRASS
本是美国军方开发的
GIS
,开源后一直受到美国大学老师们的青睐,它可以提供很多
ARCGIS
能提供的分析功能(当然每一种功能可选的算法没后者多),但是
GRASS
的界面比较丑陋,很多功能需要手动运行命令,因此不太适合大多数人用。基于
eclipse
平台的
UDIG
是桌面
GIS
的又一个选择,由于它是基于
eclipse
平台的,运行起来比较慢一点,而且比较耗内存。与前两者相比,它的优势在于操作的简单性,而且支持很多种空间数据源,包括很多商业空间数据库,缺点主要是分析功能比较弱。不过现在
UDIG
发展很迅速,也建议尝试一下。
开源
GIS
服务器主要有
map server
和
geo server
。
Map server
有两个版本,完全免费的那个那个版本是由明尼苏达大学开发的,全部是用
C
语言完成,效率很高可以媲美
ARCGIS SERVER
,并且支持我所知道的所有
GIS
数据源,但是相对来说简陋一些,并且没有内置
AJAX
支持。而
map server
的企业版本来是
auto desk
公司的
map guide,
这个版本功能很强大,而且还有
IDE
支持,当然
IDE
也有两个版本(付费的和不付费的),此外
auto desk
还封装了很多
AJAX
组建,因此这个版本可以说是真的企业级支持了。而
geo server
则是另外的选择了,
它是基于
JAVA
平台做的,安装时需要
JDK1.4
(高版本的也不行),其功能上和
map server
的完全免费版类似,但是性能上次之,只是如果对跨平台要求比较高的话,可以考虑使用它。此外,
OTN
上的文章一直喜欢使用
GEO SERVER
来发布
ORACLE SPATIAL
的地理数据,也不知道是为什么。
此外开源
GIS
客户端技术,也进行的如火如荼,好几个框架都实现了对
AJAX
的支持,
虽然我没有仔细研究这些框架,但是我觉得进行一般的
GIS
应用因该没什么问题。据我所知美国
NASA
就利用
POSTGIS
来管理他们好几个
TB
的空间元数据,而英国陆军部好像使用了
map server
来发布一些他们的地理数据。相比之下,我们国家即使是一个小小的县级市,在做自己门户网站时候,都是使用
ARCGIS
+
ORACLE
+
WEB LOGIC
的超豪华阵容,其实我们完全可以用
QGIS
+
POSTGIS
+
TOMCAT
来实现,这样从软件投入成本来看,我们几乎可以不花一分钱,可以节约多少劳动人民的血汗钱阿。
转载于:https://blog.51cto.com/sapphire/1130262