美文网首页
FME 瓦片数据下载与拼接

FME 瓦片数据下载与拼接

作者: 紫菜_d3a0 | 来源:发表于2018-10-24 14:24 被阅读0次

问题描述

今天我在懒人GIS的微信公众号上看到一个比较感兴趣的应用,就是利用 FME 实现瓦片数据的下载与拼接,所以我也试着去实现了一下。

解决思路

以 ArcGIS 发布的切片服务为例,获取切片的地址为

http://ip:6080/arcgis/rest/services/ServiceName/MapServer/tile/zoom/y/x

上面地址中,红色加粗的参数需要依据 ArcGIS Server 发布服务的具体情况而定。其中:zoom 表示瓦片级别,x 和 y 表示瓦片的行号和列号。

当然,不同服务获取瓦片的方式有所不同,还需要依据实际情况进行分析。如果有权限控制的情况,可能还需要动态获取 token 或是 key 等参数。

这里我们以 ArcGIS 发布的切片服务为例进行瓦片数据的获取和拼接,解决思路如下:

1. 创建一张属性表,每条记录有三个重要属性:待下载瓦片数据的行号、列号、瓦片级别

2. 依据行列号和瓦片级别构建在线瓦片的链接地址

3. 使用ImageFetcher/HttpCaller转换器获取对应的瓦片(本例使用ImageFetcher

4. 使用RasterGeoreference计算瓦片的相对坐标,方便进行后续拼接,否则所有的图片会叠加在一起

5. 使用RasterMosaicker进行瓦片拼接

6. 输出拼接后的瓦片

模板截图

具体实现的模板截图如下图所示:

在该模板中,我们预先设定了几个用户参数,也是为了让模板更加灵活:

url:ArcGIS 地图服务地址

row_count:批量下载瓦片的行数

col_count:批量下载瓦片的列数

zoom:下载瓦片的瓦片级别

size:瓦片图片的大小(一般为256,或512)

在模板中,我们首先用 Creator 创建了一个空的对象,然后克隆了 row_count * col_count 份,使用AttributeCreator计算每条记录的 x 和 y 的值(更推荐使用AttributeManager),并拼接出下载瓦片的 url 地址,随后使用ImageFetcher下载瓦片,使用RasterGeoreference计算瓦片的相对坐标,使用RasterMosaicker拼接瓦片,最后输出。

其中AttributeCreator计算 x、y、url的值如下图的设置:

其中用到了%(取余操作符),以及 floor函数进行取整操作。

当然,如果你觉着这样比较复杂,也可以预先创建一个 Excel 文件,直接读取 Excel 文件。

使用RasterGeoreference计算瓦片的相对坐标的设置如下图:

这里需要注意的是瓦片服务的坐标原点在哪里,若遵循 TMS 标准,则坐标原点在左下角,否则在左上角。ArcGIS 瓦片服务的坐标原点在左上角,所以 0 / 0 图片是左上角的第一张图片。

核心转换器

ImageFetcher:通过执行 HTTP GET 操作在指定的 URL 上获取图片,并将得到的数据作为栅格要素对象返回。

RasterGeoreference:用指定的参数对栅格进行空间配准(上述案例中我们计算的是相对位置,其实也可以使用真实坐标进行配准)。

RasterMosaicker:把多个栅格要素镶嵌为一个栅格要素。

相关文章

  • FME 瓦片数据下载与拼接

    问题描述 今天我在「懒人GIS」的微信公众号上看到一个比较感兴趣的应用,就是利用 FME 实现瓦片数据的下载与拼接...

  • 地图软件缩小与放大的原理

    实现地图放大与缩小的功能是基于瓦片地图的拼接与显示的。 TMS是tile map service的缩写,是一种瓦片...

  • cesium三维GIS开发实践(三)

    一、影像文件的下载 1、某地图下载器下载高德影像文件,为了方便,只下载了全球前7级的瓦片数据。2、导出成TMS瓦片...

  • Node实现切片的拼接和地图的导出

    概述 本文讲述在node中,使用canvas实现根据出图范围和级别,拼接瓦片并叠加geojson矢量数据,并导出成...

  • QGIS下载地图瓦片

    1.下载安装QGIS桌面版 下载QGIS下载地址 下载完成后默认安装即可 打开桌面应用 2.安装...

  • 瓦片地图面面观之缩放级别

    缩放级别 我们知道瓦片地图基于瓦片,而瓦片本身是栅格数据,无法再保证不损失图元数据的情况下对其连续缩放。因此瓦片地...

  • 使用bioconda安装常用软件

    批量下载安装: 小工具:比对、cricos图、下载工具: 基因功能分析预测 基因组拼接 测序数据质控

  • 【GIS】矢量瓦片,GeoServer+Mapbox

    项目需要,要用Mapbox渲染较大量的建筑数据,考虑到数据加载(下载)的效率需要采用瓦片的形式总体方案为本地有sh...

  • (十一)Shapefile编码(下)

    shp文件编码转换 方法1:利用FME转换 首先打开FME Workbench,新建一个空白工程 添加一个Read...

  • Python数据拼接与转换

    1,在Python里面,数据类型的拼接常用符号为"+"。 比如: a='今天' b='天气' c='真好!' Pr...

网友评论

      本文标题:FME 瓦片数据下载与拼接

      本文链接:https://www.haomeiwen.com/subject/mgzttqtx.html