首页 > 技术文章 > mapbox 支持国家2000 坐标系的数据

study3d 2019-04-02 15:35 原文

 

最近有个项目使用mapbox作为地图展示,但是mapbox 只支持web 墨卡托(3857)坐标系的数据。而客户想接入其他单位发布的共享数据,共享数据都是基于arcgisserver 发布的国家2000坐标系的数据服务。所以研究了一些解决方案。

研究目标:基于mapbox能够接入国家2000坐标系下的栅格切片服务,矢量数据服务

背景说明:

1、  Mapbox 官方版本只支持基于osm 标准的栅格地图服务,以及3857(web墨卡托)投影的矢量切片数据

2、  共享平台提供的地图服务都是基于arcgisserver 发布的国家2000坐标系的数据,包括栅格切片跟矢量数据(WMS,WFS)

研究过程:

1、  基于超图官方提供的能够支持多坐标系的mapbox扩展:mapbox-gl-enhance.js

分析结果:

1)  支持超图平台发布的国家2000,北京54,西安80坐标系的上栅格切片服务和矢量数据服务。

2)  整个地图只支持一种坐标系格式,不能添加其他坐标系的数据,地图初始化设置某一个种坐标系后,其他数据会参照改坐标系进行转换

3)  超图可以转发ArcGISServer 发布的国家2000坐标系的栅格地图服务,在mapbox 中展示

2、  第三方公司mapbox-gl,网上下载的js

分析结果:

支持国家2000坐标系的矢量数据服务,不支持国家2000坐标系的栅格切片服务,实际代码未测试通过

3、  Mapbox官方mapbox-gl-dev

分析结果:

1)  只支持arcgisserver 发布的web 墨卡托(3857),切片方案为Arcgis online的栅格地图服务,arcgisserver 发布的其他坐标系的切片服务不支持

2)  Arcgis pro 发布的矢量切片未测试(没有环境,Arcgis pro 有30天免费试用)

4、  mapbox 源码修改

经评估,工作量大,技术难度高,未实际开发

研究结论:

1)  mapbox 地图只能支持一种坐标系下的各种数据源,包括栅格瓦片,矢量数据以及Geojson等

2)  mapbox只支持arcgisserver 发布的web 墨卡托(3857),切片方案为Arcgis online的栅格地图服务

解决方案

第一种:共享平台提供mapbox支持的数据服务

1)  栅格切片服务:协调共享平台提供基于arcgiserver 发布的的坐标系为web 墨卡托(3857),切片方案为Arcgis online的栅格切片服务

2)  矢量数据服务:后台动态获取共享平台发布的国家2000坐标系的数据并转换为3857或4326坐标系的数据

第二种:使用超图平台转发国家2000的地图服务

1)  栅格切片服务:使用超图iServer转发arcgiserver 发布的国家2000的地图服务,可能会存在权限问题

2)  矢量数据服务:后台动态获取共享平台发布的国家2000坐标系的数据并转换为3857或4326坐标系的数据

第三种:修改mapbox底层

1)  能支持国家2000的栅格切片,也能支持其他坐标系的栅格切片跟矢量数据服务

以上就是一些研究过程,可以供大家来参考

推荐阅读