分享
首页 资讯 技术分享 查看内容

【森城市】GIS数据漫谈(九)— 地图瓦片(切片)服务

发表于 2022-7-1 17:24
zzv_icon5150 zzr_icon0
摘要: 在之前的内容中我们已经学习了什么是矢量数据、什么是栅格数据,什么是地图服务。在地图服务中,提到了地图瓦片(切片)服务,经常有小伙伴问:你们支持什么标准/规则/类型的地图瓦片(切片)服务?我们今天就来详细 ...

在之前的内容中我们已经学习了什么是矢量数据、什么是栅格数据,什么是地图服务。在地图服务中,提到了地图瓦片(切片)服务,经常有小伙伴问:你们支持什么标准/规则/类型的地图瓦片(切片)服务?

我们今天就来详细分析一下这个问题。

01

森城市发布的地图瓦片服务

首先,基于森城市发布的地图瓦片服务肯定是支持的。
森城市瓦片服务发布支持下列三种方式:
• Linux下使用Docker部署后发布(需安装Docker应用容器引擎);
• Linux下直接部署发布(不需安装Docker);
• Windows或Mac下直接部署发布。

【森城市】GIS数据漫谈(九)— 地图瓦片(切片)服务

02

常见的互联网在线地图

低代码ThingJS 支持常见的互联网在线地图瓦片服务(百度地图除外)。由于百度地图坐标系的坐标原点的特殊性,目前不支持百度地图作为地理底图。如果坐标数据来自于百度地图,数据上传时选择百度坐标系,可以与其他的地理底图进行匹配。

【森城市】GIS数据漫谈(九)— 地图瓦片(切片)服务

低代码在线开发中有修改地图底图的官方示例可供参考。

【森城市】GIS数据漫谈(九)— 地图瓦片(切片)服务

03

ArcGIS地图服务(MapServer)


案例

ArcGIS

熟悉 ArcGIS 的朋友可以看出,在上面的低代码官方示例互联网地图中就有用 ArcGIS Server发布的地图服务(MapServer)。

【森城市】GIS数据漫谈(九)— 地图瓦片(切片)服务

在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);});

【森城市】GIS数据漫谈(九)— 地图瓦片(切片)服务

一般来说,可以通过ArcGIS服务的地址来查看该服务的“元数据”,“元数据”即空间数据的数据,是描述空间数据及相关资料的信息,便于查询和使用有关的数据,比如:

【森城市】GIS数据漫谈(九)— 地图瓦片(切片)服务

这里面的数据信息就不一一介绍了,挑几个比较重要的讲讲。

1.Spatial Reference:空间坐标系


比如上图中 102100(3857)代表什么呢?代表该地图服务所发布的地图瓦片(切片)投影类型Web墨卡托投影也叫 (Pseudo-Mercator) 伪墨卡托投影或球面墨卡托(Spherical Mercator)。

Web墨卡托投影是一种投影坐标系(Projected Coordinate System),也叫做平面坐标系,在投影坐标系下的坐标单位为米(metre)。

2.Tile Info:瓦片(切片)信息

一般包含单张切片的图片尺寸(Height/Width)、格式(Format)等信息,还包括瓦片的层级数(Levels of Detail),然后就是具体每个层级的分辨率、比例尺。

【森城市】GIS数据漫谈(九)— 地图瓦片(切片)服务

把Level 0、Level 1的瓦片(切片)图拼一拼,可以看出在Web墨卡托投影坐标系下的地图瓦片(切片)的索引组织规律:Z 表示缩放层级,XY 的原点在左上角,X 从左向右,Y 从上向下

【森城市】GIS数据漫谈(九)— 地图瓦片(切片)服务

讲了这么多相信你已经对上面低代码ThingJS官方示例中的这几行url有了进一步的理解。

【森城市】GIS数据漫谈(九)— 地图瓦片(切片)服务

总结:

低代码支持ArcGIS Server发布的地图服务(MapServer)。




工具推荐



森城市:一键生成3D城市,内置多种模板,自由编辑

• 森城市支持不同类型城市数据的插入和自动融合,并提供友好而强大的场景编辑能力和性能处理能力,无需具备GIS、建模等专业技能,就可以轻松DIY自己的酷炫城市三维场景。

• 森城市具备开放的城市场景输出能力,无需担心场景后续使用的兼容问题。

低代码ThingJS:低代码灵活开发数字孪生可视化应用

• 低代码ThingJS提供了丰富的3D开发API、完善的开发文档和视频教程,熟悉基础的JavaScript前端知识即可上手数字孪生3D可视化应用开发

• 低代码ThingJS是纯H5的WebGL架构,可在各类主流网页浏览器中自如运行,包括可在移动端直接访问运行。

• 低代码ThingJS提供全生命周期的开发组件,大大提升数字孪生可视化项目开发效率。

相关文章