从Mapbox的开源工具看Web GIS的发展

mapbox一直是我很喜欢的公司之一。它的自由开放态度,前沿研究方向,让很多GISer眼前一亮,让他们找到学习或者工作的方向。

其实,mapbox.js是leaflet.js的一个超集,所以不要再问我“leaflet好用还是mapbox好用?”这样的愚蠢的问题。而mapbox现在也在开发关于Web GL的地图业务,当然它也不能将所有的业务都一口气将瓦片地图转移至Web GL底图,因为现在瓦片地图还是占很大一部分,特别是国内。关于Mapbox GL这个方面,我真的才疏学浅,留作以后研究的材料。


Mapbox

插件

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,openGIS,mapbox)