关于WebGIS开发API选择的问题

WebGIS主要是实现网页端的GIS功能,将传统的单机GIS软件功能移植到web端,并结合传统业务数据库(Oracle ,SQLServer,MySql等)实现应用业务系统功能。

WebGIS开发的功能相对单一,弱GIS功能的项目不需要专业、复杂的GIS功能。一些基本的API开发就行了,普通程序员只需要熟悉下API的类参考就能完成弱GIS项目的开发。对于需要大量分析,特别是需要空间分析、栅格分析、动态图层操作、路径分析、效应分析、三维GIS的强GIS项目就需要专业的或者项目组有专业的GIS开发人员的参与。

强GIS项目开发过程中一般会遇到空间数据异构,地图数据处理,数据可视化,坐标转换等问题。这种情况做好在项目立项时就做好前期干预,不然很有可能造成项目返工或者花费大量时间来解决这个问题。

关于WebGIS开发API选择的问题

主流的开发API有:ArcGIS API、SuperMap API 、OpenLayer、LeafLet、百度API、天地图API等。谷歌和必应的相对用的较少。这其中又有付费模式、开源模式的。GIS开发人员肯定知道地图服务器这个东西。API使用是免费的,但是地图服务器并不免费,毕竟结合相应的地图服务器才能发挥API的功效。国内主要是用ArcGIS Server和SuperMap iServer两个地图服务器,另外还有GeoServer的开源地图服务器。

  • ArcGIS API:适合大型的项目开发,ESRI作为最完善的GIS服务商,其API提供的功能也最为强大,支持的数据类型也多,能够很好地解决数据异构,坐标转换等问题,并提供二三维一体化的服务解决方案,版本的更新迭代也很快,API能够对兼容老版本的功能,实现的GIS功能也更为全面。API分为3.x版本开发2维应用,4.x开发三维版本。但是,其地图服务器采购价格接近30w,对于中小项目来说成本也是比较大的。
  • SuperMap API:国内公司,也被誉为国内业内第一的公司,也提供了一整套的数据解决方案,并且更符合国情,一些功能模块主要是面向国内用户的,三维GIS能够直接利用倾斜摄影的数据。这个API适合开发大中型项目,实现的功能当然没有ARCGIS的完善,但对于基本的和稍微复杂的GIS功能来说已经足够了。(特别不喜欢他的类参考,感觉很杂,三维)。地图服务器采购价也差不多是30w,但提供服务就不如ArcGIS的了。
  • OpenLayer 开源地图服务器,属于开源项目,这个主要是能节省成本,适合中小型项目,提供的功能也比较强,常常与其他软件结合使用(OpenLayer+GeoServer+uDig),提供地图服务。但是有问题就需要自己解决了,毕竟没有专门的技术支持人员。感觉更偏向弱或稍强的GIS项目,能够提供基本的数据服务。
  • LeafLet 主要是移动端的API,轻量级的,提供的功能服务就很弱了,更偏向于信息展示,在数据展示方面这个API的展示效果是很不错的,也不需要专业的能力,适应性更好。
  • 百度API、天地图API:这一类的API功能比较单一,只能使用在线地图服务器,可以说是同质化的产品。更适合开发项目中的GIS模块,而不适合开发GIS项目,另外说下,百度的不支持OGC协议(很憎恨这个),如果要使用对平台的地图服务,不建议使用百度的API,百度的更偏向于消费的商业市场,所以,乡镇数据很少,主要集中于城市数据。天地图的是由国家推动的,提供的服务某方面不如百度,但支持OGC协议。

总结来说,大项目选择ArcGIS 或SuperMap,大中型的选择SuperMap或者OpenLayer,小项目就使用那个就无所谓了,当然可用ArcgGIS、SuperMap了。GIS模块的话可以考虑百度、天地图、leaflet、高德等,没有定数。另外,三维的项目需求也比较多了,特别是二三维一体化的项目,还有个Cesuim、three.js这个用得比较多。以后肯定是毋庸置疑往三维上发展的。

关于WebGIS开发API选择的问题