一般WebGIS项目中,前端展示数据的流程基本是先做数据入库、服务发布、然后前端调用展示
a.动态出图可以使用WMS中的GetMap请求。
b.矢量查询可以使用WFS中的GetFeature请求。
c.要素编辑可以使用WFS中的Transaction请求。
目前支持矢量瓦片展示的前端有leaflet,openlayers,arcgis js4.0。
使用成熟的开源GIS解决方案:geoserver(服务器)+tomcat(中间件)+postgis(数据库)+uDig(desktop),实现地图的编辑、存储、发布、服务。
我们不仅仅局限于现有开源软件的使用,在此基础上做了大量优化和改进:
(1)基于geoserver进行定制化二次开发,比如轨迹优化查询等。
(2)自主开发出一套完善的数据批量自动入库、发布工具,免去各个软件间的频繁切换使用,减少没有GIS知识的人员使用难度。
开源矢量切图工具目前只能切WGS84的矢量数据,将任何格式数据转换成WGS84的数据是不现实的。针对这种问题,自己开发矢量切图工具不失为一种选择。开发可以支持点数据的矢量切图工具难度不大,但是开发能够支持线和面数据的矢量切图工具则存在不小的难度。后续还需继续研究。
OpenLayers 是一个高性能、功能丰富的库,用于在 Web 上创建交互式地图。它可以显示从任何来源加载的地图图块、矢量数据和标记。
GeoServer是一个功能齐全,遵循OGC开放标准的开源WFS-T和WMS服务器。利用Geoserver可以把数据作为maps/images来 发布(利用WMS来实现)也可以直接发布实际的数据(利用WFS来实现),同时也提供了修改,删除和新增的功能(利用WFS-T)。
ArcGIS产品线为用户提供一个可伸缩的,全面的GIS平台。ArcObjects包含了大量的可编程组件,从细粒度的对象(例如,单个的几何对象)到粗粒度的对象(例如与现有ArcMap文档交互的地图对象)涉及面极广,这些对象为开发者集成了全面的GIS功能。每一个使用ArcObjects建成的ArcGIS产品都为开发者提供了一个应用开发的容器,包括桌面GIS(ArcGIS Desktop),嵌入式GIS(ArcGIS Engine)以及服务端GIS(ArcGIS Server)。
ArcGIS Engine是用于构建定制应用的一个完整的嵌入式的GIS组件库。利用ArcGIS Engine,开发者能将ArcGIS功能集成到一些应用软件,如:Microsoft Word和Excel中,还可以为用户提供针对GIS解决方案的定制应用。
GMap.NET 是一个强大、免费、跨平台、开源的.NET控件,它在Windows Forms 和WPF环境中能够通过Google, Yahoo!, Bing, OpenStreetMap, ArcGIS, Pergo, SigPac等实现寻找路径、地理编码以及地图展示功能,并支持缓存和运行在Mobile环境中。
GMap.NET 是一个开源的GEO地图定位和跟踪程序。就像谷歌地图、雅虎地图一样,可以自动计算两地的距离,定位经纬度,与Google地图不同的是,该项目是建立在C#语言WinForm基础上的。可以对地图放大缩小,进行城市标记等。