WebGIS常用的空间分析,地图发布,底图自定义,QGIS插件,地理矢量数据格式转换工具等资源汇总
OGC javascript 空间分析库:turf.js jsts.js
jsts:
JSTS是一个符合OGC规范的简单要素空间位置判定函数JavaScript库,JSTS也是Java类库JTS的一个接口,且与OpenLayer3具有互操作性。
目前原生的OpenLayers3并不支持空间拓扑关系查询,此类库可以作为重要的补充。通过此类库,可以判断多种空间几何的位置关系,
最初建立这个工程的目的是为web地图应用提供一套完整的类库来处理和分析简单几何体,但jsts也可以作为一个独立的几何库。
JSTS是利用原JTS java源码通过AST AST自动翻译转换而成并保持了该API,除了对IO相关的部分类进行了选择性的并手动移植使其支持WKT,GeoJSON和OpenLayers 3。
turf.js:
Turf.js:JavaScript 空间分析库,由Mapbox 提供,Turf 实现了常用的空间分析操作,例如生成缓冲区、计算等高线,建立 TIN 等等。以往只属于桌面 GIS 的分析功能,已经可以在浏览器中使用。
Turf 使用 JavaScript 编写,通过 npm 进行包管理。良好的模块化设计使得 Turf 不仅可用于浏览器端,还可以通过 Node.js 在服务器端使用。
Turf 原生支持 GeoJSON 矢量数据。GeoJSON 的优点是结构简单,并且得到了所有网页地图API的支持;但 GeoJSON 不支持空间索引,这个缺点可能会限制 Turf 处理大型文件的能力效率。
Turf 可以非方便地集成到 Leaflet.js 地图控件中,Mapbox 也为其提供了相应的 Mapbox.js 插件。
kepler.gl :
一款全新的开源地理空间分析工具,基于mapbox的底层设计,kepler.gl可以完成较复杂的和漂亮的可视化效果,该开源工具由Uber的数据可视化团队推出的。在kepler.gl中创建的任何数据可视化效果都可以转换为自定义图层,并添加到你的地图中。甚至可以将spaceX的发射场景与地图进行结合绘制。很赞
各种样式的底图QGIS:
1.通过url地址请求 :http://openwhatevermap.xyz http://guihuayun.com/maps/index.php
2:通过安装plugin 比如openlayers plugin和QuickMap Services 参考链接:https://weibo.com/ttarticle/p/show?id=2309404256534241636980
Arcgis的底图插件:
1. https://github.com/ArcBruTile/ArcBruTile/ (这个没有用过)、
2.simpleGIS插件(加载在线的谷歌,天地图,OSM,高德等,方便简洁,可以指定缓存切片的文件夹,用于保存切片),
最短路径的实现: 现: https://github.com/Project-OSRM/osrm-backend 可以在github中找到相应的最短路径demo.
地图底图自定义样式:
1.GeoQ: https://www.geoq.cn/basemap.html地图默认的一些风格比较清新,
2.GeoHey; https://geohey.com/map 其中默认提供了16个底图
3.百度地图(这个就比较出名的了):http://lbsyun.baidu.com/custom/ 自定义也很方便,但该样式的底图支持百度地图api,如果对GIS功能要求不高,才用这种底图进行开发也不错
4.高德地图: http://lbs.amap.com/getting-started/map/#map-style 和百度地图特点差别不大
5. http://mapstack.stamen.com/edit.html :据大牛介绍,挺方便的而且使用门槛也不高。
6.对于一个GIS开发者来说,我个人还是比较推荐下面的那个自定义底图编辑的方式:
mapbox底图自定义编辑:https://www.mapbox.com/studio/ 很管用,样式定义灵活多变,特点:可以将自定义的个性化地图,以wmts和wms的方式进行请求加载。
个人想法:当然如果自己的项目地理数据足够的话,自己在制图软件中进行底图制图编制然后进行服务发布也是不错的,传统的地图制图都有相应的stlye样式文件,
比如arcgis 的.style文件和udig编辑生成的sld文件(geoserver支持),只是比较费时间。
而且现在的矢量切片的服务发布都可以在代码中进行个性化样式设置。所以也可以根据项目需要进行底图样式选择随时调整。
geoserver批量服务图层发布:
geoserver-manager 是一套java api 可以通过maven部署或其他方式引入到geoserver中。
QGIS常用的插件:
1.QGIS2threeJS:QGIS中的地理要素(点线面,dem,影像等),threeJS来表示的是二,三维地图,比如可以用来生成地形和是简化的三维建筑模型
2.QGIS2web:可以将QGIS的内容用web的模式来表示,可以选择openlayers 和leaflet两种方式。
3.OGR2Layers Plugin: 暂时还没有接触过。
4.QOSM :暂时没接触过
地理矢量数据格式转换:shp,geojson,kml的转换
1.geojson.io:http://geojson.io/ 在线编辑点线面,还可通过点击地理要素来编辑属性和生成geojson的工具
2.强大的地理数据转换处理工具:GDAL :http://download.osgeo.org/gdal/ (转换geojson的工具)特点:如果做GIS的不知道gdal的话,恐怕是一个假的GISER,他的强大我就不再叙述
暂时汇总这些,后面讲持续更新。。。
转载自:https://blog.csdn.net/qq_26991807/article/details/82289107