从空间数据库说起吧。在空间数据库领域,商业化的产品有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来实现,这样从软件投入成本来看,我们几乎可以不花一分钱,可以节约多少劳动人民的血汗钱阿。
分享到:
相关推荐
GIS开发竞赛策划书详细解读 GIS(Geographic Information System,地理信息系统)开发竞赛旨在激发学生对GIS技术的学习热情,培养GIS开发人才,提高他们的软件技术创新能力。湖南科技大学举办的这项竞赛面向全校...
以下是关于GIS开发设计的一些关键知识点: 1. **GIS开发流程**: - 需求分析:明确项目目标,理解用户需求,定义GIS系统功能。 - 系统设计:包括总体架构设计、数据库设计、用户界面设计等,确保系统功能合理且...
本文档将深入探讨GIS项目的开发流程及关键知识点。 一、GIS项目需求分析 在项目启动阶段,需求分析至关重要。需明确项目的目标、预期功能、用户群体和系统性能要求。这一步骤涉及到与客户的沟通,确保项目需求的...
总的来说,《Visual C++开发GIS系统(第2版)》不仅提供了丰富的C++编程技巧,还涵盖了GIS开发的理论与实践,是学习C++开发GIS软件的宝贵资源。通过深入阅读和实践书中的例子,读者可以逐步成长为一名能够独立开发...
目前,GIS在国内的应用范围已经非常广泛,包括资源开发、环境保护、城市规划、土地管理、农作物调查、交通、能源、通讯、地图测绘等多个领域。一批国产GIS软件(如GeoSTAR、City Star、MapGIS等)的成功研发,以及...
3. Web GIS开发:理解Web GIS的概念,熟悉Web GIS框架如OpenLayers、Leaflet,以及服务端GIS框架如GeoServer、ArcGIS Server。 三、GIS应用开发 1. 数据处理:包括数据导入导出、数据清洗、拓扑检查、空间分析...
总的来说,WEB GIS开发融合了GIS的专业知识和Web开发技术,它为地理信息的共享和应用提供了强大而灵活的平台,是现代信息化社会不可或缺的一部分。随着云计算和大数据的发展,WEB GIS将更加智能化,为各行业提供更...
总的来说,《Visual C++开发GIS系统(第2版)》全面覆盖了GIS开发所需的技术点,结合实际案例,为读者提供了深入学习和实践C++ GIS开发的宝贵资源。无论你是初学者还是经验丰富的开发者,都能从中受益,提升自己的...
gis开发教程,一些gis基础的知识,为后续的开发做准备。
全国GIS水平考试是针对地理...准备全国GIS水平考试时,考生需要全面学习这些知识点,并通过练习历年试题来提升解题能力。同时,关注最新的GIS技术发展和行业动态,能够使考生在考试中表现出更深入的理解和应用能力。
GIS开发,特别是基于MapBasic,是一项涉及地理信息系统与编程相结合的工作。MapBasic是MapInfo公司为扩展其GIS软件MapInfo Professional而开发的一种编程语言,它允许用户创建自定义的GIS应用,增强MapInfo的功能。 ...
《GIS开发者》8-14是一本专注于GIS(地理信息系统)技术的专业电子杂志,主要面向正在或准备进入GIS开发领域的读者。GIS,全称为Geographic Information System,是一种将地理位置与相关数据结合,进行分析、管理和...
#### 一、C#与GIS开发的融合 C#是一种面向对象的、类型安全的、由微软开发的高级编程语言,它为开发者提供了强大的功能,尤其在Windows平台上有着无可比拟的优势。GIS(Geographic Information System,地理信息...
ArcGIS 是一种 GIS 软件平台,由 Esri 公司开发,提供了强大的 GIS 分析和制图功能。ArcGIS 的产品体系包括 ArcGIS Desktop、ArcGIS Server、ArcGIS Online 等多个产品,每个产品都有其特定的应用场景和功能特点。...
### GIS矢量图形开发原理与实践 #### 实验概述 本次实验主要介绍如何利用VC++ MFC开发环境来实现一个基础的...通过本实验的学习,学生不仅可以掌握GIS矢量图形开发的基础知识,还能加深对MFC框架的理解和应用能力。
全国GIS水平考试辅导材料是一份专门针对GIS应用工程师的备考资源,...通过学习这份全国GIS水平考试一级辅导教材,考生不仅可以为考试做好充分准备,还能深入理解GIS技术,为将来在GIS领域的实践工作打下坚实的基础。
### GIS设计与开发Shapefile图层的属性查询_实验步骤 #### Shapefile图层属性查询基础知识 **Shapefile**是一种广泛使用的地理信息系统(GIS)数据格式,由Esri开发,用于存储矢量地理数据。一个Shapefile文件通常...
Python由于其简洁易懂的语法和丰富的GIS库(如GDAL/OGR、 Fiona、Shapely、geopandas等)成为了GIS开发的首选语言。ArcGIS的Python API也使得GIS与Python的结合更为紧密。 3. **GIS库与框架**:在Python中,`...