从Mapbox的开源工具看Web GIS的发展
mapbox一直是我很喜欢的公司之一。它的自由开放态度,前沿研究方向,让很多GISer眼前一亮,让他们找到学习或者工作的方向。
其实,mapbox.js是leaflet.js的一个超集,所以不要再问我“leaflet好用还是mapbox好用?”这样的愚蠢的问题。而mapbox现在也在开发关于Web GL的地图业务,当然它也不能将所有的业务都一口气将瓦片地图转移至Web GL底图,因为现在瓦片地图还是占很大一部分,特别是国内。关于Mapbox GL这个方面,我真的才疏学浅,留作以后研究的材料。
插件
Mapbox创作或引用的开源工具都是经过精心筛选过的,都极具代表性。大部分都基于Python和Node.js,可以通过PyPI和npm下载得到,包括:
- Turf.js 基于前段JS的GIS空间分析工具
- Tippecanoe 通过大量GeoJson要素建立矢量瓦片
- Rasterio 整洁快速的栅格数据输入输出,用于Numpy
- leaflet-omnivore 通用格式转换器
- node-sqlite3 异步非阻塞对SQLite3的JS绑定接口
- tilelive 支持瓦片模块间交互操作
- Carmen 支持包装瓦片地图数据的地理编码
- mapnik-omnivore 基于Node的模块,返回空间文件源文件
- Mapnik 基于C++的库,提供空间数据导入和渲染,可渲染成为瓦片图
- node-pre-gyp 基于Node.js的C++扩展交互
标准
mapbox提出的标准,包括:
- Mapbox 标准化矢量瓦片的信息
- Mapbox GL样式 通过WebGL技术渲染地图,以后专门讨论一下
- MBTiles 其实没什么,通过SQLites去装载瓦片图,听说索引效率高
- TileJSON 其实没什么,通过JSON去包装瓦片地图URL,比较简洁
总结
这些开源的工具,无一例外,代表了现代互联网发展,GIS要基于瓦片地图以及OpenGIS(例如WMS服务和GeoJSON)这种高效率的表现方式,相比之下,国内三巨头BAT的地图服务迟迟不加入WMS的服务接入,对国内GIS行业贡献十分有限。在知乎上,很多学生问道GIS的就业行业等,我觉得重点已经不在ArcGIS Engine等应用开发,而是网络开发。不是商业软件的使用,而是开源组件的开发,原因很简单,因为不是所有公司都用的起ArcGIS的正版软件,从事商业用途还是最好使用正版。国内有些老师不过是为了完成自己的项目,并没有考虑到市场的需求。综上所述,我推荐大家应该更多的转向python或者Node.js的顶层开发,底层则是C语言的架构体系。
参考知乎问答--大学 GIS 课只教你怎么使用 ESRI 的 ArcGIS,是好还是不好?不好的话应该怎么上?
转载,请表明出处。总目录Awesome GIS