本帖最后由 thisisYXY 于 2022-7-19 16:16 编辑
在之前的内容中我们已经学习了什么是矢量数据、什么是栅格数据,什么是地图服务。在地图服务中,提到了地图瓦片(切片)服务,经常有小伙伴问:你们支持什么标准/规则/类型的地图瓦片(切片)服务? 我们今天就来详细分析一下这个问题。 首先,基于森城市发布的地图瓦片服务肯定是支持的。森城市瓦片服务发布支持下列三种方式:• Linux下使用Docker部署后发布(需安装Docker应用容器引擎);• Linux下直接部署发布(不需安装Docker);• Windows或Mac下直接部署发布。低代码ThingJS 支持常见的互联网在线地图瓦片服务(百度地图除外)。由于百度地图坐标系的坐标原点的特殊性,目前不支持百度地图作为地理底图。如果坐标数据来自于百度地图,数据上传时选择百度坐标系,可以与其他的地理底图进行匹配。 低代码在线开发中有修改地图底图的官方示例可供参考。
案例
ArcGIS
熟悉 ArcGIS 的朋友可以看出,在上面的低代码官方示例互联网地图中就有用 ArcGIS Server发布的地图服务(MapServer)。 在ThingJS在线开发来观察一个访问ArcGIS发布MapServer的例子,代码如下: - var app = new THING.App();
- app.background = [0, 0, 0]; // 设置地图背景为黑色THING.Utils.dynamicLoad(['https://www.thingjs.com/uearth/uearth.min.js'], function () { // 创建一个地图
- var map = app.create({ type: 'Map'
- }); var url = 'https://services.arcgisonline.com/arcgis/rest/services/World_Topo_Map/MapServer/tile/{z}/{y}/{x}'; // 创建一个瓦片图层
- var tileLayer1 = app.create({ type: 'TileLayer', id: 'tileLayer1',
- url,
- }); // 将瓦片图添加到地图中
- map.addLayer(tileLayer1);
-
- });
复制代码一般来说,可以通过ArcGIS服务的地址来查看该服务的“元数据”,“元数据”即空间数据的数据,是描述空间数据及相关资料的信息,便于查询和使用有关的数据,比如: 这里面的数据信息就不一一介绍了,挑几个比较重要的讲讲。 1.Spatial Reference:空间坐标系
比如上图中 102100(3857)代表什么呢?代表该地图服务所发布的地图瓦片(切片)投影类型是Web墨卡托投影,也叫 (Pseudo-Mercator) 伪墨卡托投影或球面墨卡托(Spherical Mercator)。 Web墨卡托投影是一种投影坐标系(Projected Coordinate System),也叫做平面坐标系,在投影坐标系下的坐标单位为米(metre)。 2.Tile Info:瓦片(切片)信息 一般包含单张切片的图片尺寸(Height/Width)、格式(Format)等信息,还包括瓦片的层级数(Levels of Detail),然后就是具体每个层级的分辨率、比例尺。 把Level 0、Level 1的瓦片(切片)图拼一拼,可以看出在Web墨卡托投影坐标系下的地图瓦片(切片)的索引组织规律:Z 表示缩放层级,XY 的原点在左上角,X 从左向右,Y 从上向下。 讲了这么多相信你已经对上面低代码ThingJS官方示例中的这几行url有了进一步的理解。 总结: 低代码支持ArcGIS Server发布的地图服务(MapServer)。
工具推荐
森城市:一键生成3D城市,内置多种模板,自由编辑 • 森城市目前提供全国范围内110多个城市的标准三维场景的构建服务,使城市三维场景的构建速度提升至分钟级。 • 森城市支持不同类型城市数据的插入和自动融合,并提供友好而强大的场景编辑能力和性能处理能力,无需具备GIS、建模等专业技能,就可以轻松DIY自己的酷炫城市三维场景。 • 森城市具备开放的城市场景输出能力,无需担心场景后续使用的兼容问题。低代码ThingJS:低代码灵活开发数字孪生可视化应用 • 低代码ThingJS提供了丰富的3D开发API、完善的开发文档和视频教程,熟悉基础的JavaScript前端知识即可上手数字孪生3D可视化应用开发 • 低代码ThingJS是纯H5的WebGL架构,可在各类主流网页浏览器中自如运行,包括可在移动端直接访问运行。 • 低代码ThingJS提供全生命周期的开发组件,大大提升数字孪生可视化项目开发效率。
|