1.语言
Python:特别适用于网络应用,包括网站、后台服务等。
2.前端
Leaflet:一个开源JavaScript库,Leaflet是用来创建移动友好性、交互式地图的工具。Leaflet设计的目标是简洁性、表现性和易用性。
Openlayer3:它是一个开源的WebGIS引擎,使用了JavaScript、最新的HTML5技术及CSS技术,支持dom,canvas和webgl三种渲染方式。除了支持网页端,还支持移动端,在地图数据源方面,支持各种类型的切片地图,既支持在线的,也支持离线的。比如OSM,Bing,MapBox,Stamen,MapQuest等等;还支持各种矢量地图,比如GeoJSON,TopoJSON,KML,GML等等。随着OpenLayers3的进一步发展,将支持更多的地图类型。
3.后端
Geoserver:Geoserver是一个功能齐全,遵循OGC开放标准的开源WFS-T和WMS服务器。利用Geoserver可以把数据作为maps/images来发布(利用WMS来实现)也可以直接发布实际的数据(利用WFS来实现),同时也提供了修改,删除和新增的功能(利用WFS-T)。geoserver只能用j2ee开发
4.切片格式
地图切片:当前地图切片分为两种,一种是栅格地图切片,一种是矢量地图切片。栅格地图切片的优点是显示效率高,方便传输,缺点是图片占用带宽和存储都较大,不利于地图在移动设备的应用,图片无法交互。矢量地图切片的优点是占用服务器的空间较少,配色灵活,可以实现有效的地图交互显示功能,目前发展很快。
5.数据库
Postgresql:PostgreSQL是一个开源的对象-关系数据库服务器(数据库管理系统)
MBTILES:MBTiles是一种地图切片存储的数据规范,它使用SQLite数据库,可大大提高海量地图切片的读取速度,比通过切片文件方式的读取要快很多,适用于Android、iPhone等智能手机的离线地图存储。
6.切片渲染
Mapnik:是个地图渲染的工具,底层C++,顶层有各种各样的API接口,包括python,node.js等。作为地图渲染引擎,有着举足轻重的地位。mapnik主要完成的是矢量数据转成栅格数据的过程。
TileMill:是一款自由定制开源地图的开源软件,可以制作交互式地图,mapnik为其渲染器,CartoCSS作为样表式语言,node.js为其本地服务器交互,用Backbone.js作为代理器。
7.OSM常用配套工具
Potlatch:在线的地图编辑器
Josm:JOSM是可拓展的Openstreetmap编辑器,以java7写成,目前它支持本地数据或osm数据库中的GPX轨迹数据,以及加载和编辑osm数据库中的现有节点、路径、元数据标签及关系。
Maperitive:可用于制作地图切片,但不支持从Postgis或SQlite等数据库读入数据,所以处理大型的数据比较麻烦。
网友评论