xml - 使用 Mapbox TMS 创建 XML 文件

标签 xml mapbox raster qgis

我正在寻找一种在 QGis 中显示 Mapbox map 的方法,以便将其识别为栅格图层。

我已经试过了 this ,我成功地通过 TileLayer 插件添加了 TMS 层,使用我的 mapbox url 是这样的: https://a.tiles.mapbox.com/styles/v1/[my_username]/[map_ID]/tiles/256/ {z}/{x}/{y}?access_token=[my_access_token]

问题是,以这种方式添加图层不会被QGIS识别为栅格图层,我需要对其进行一些栅格操作。

另一方面,我尝试创建一个这样的 XML 文件:

<GDAL_WMS>
    <Service name="TMS">
        <ServerUrl>https://a.tiles.mapbox.com/styles/v1/[my_username]/[map_ID]/tiles/256/${z}/${x}/${y}?access_token=[my_access_token]</ServerUrl>
    </Service>
    <DataWindow>
        <UpperLeftX>-20037508.34</UpperLeftX>
        <UpperLeftY>20037508.34</UpperLeftY>
        <LowerRightX>20037508.34</LowerRightX>
        <LowerRightY>-20037508.34</LowerRightY>
        <TileLevel>18</TileLevel>
        <TileCountX>1</TileCountX>
        <TileCountY>1</TileCountY>
        <YOrigin>top</YOrigin>
    </DataWindow>
    <Projection>EPSG:3857</Projection>
    <BlockSizeX>256</BlockSizeX>
    <BlockSizeY>256</BlockSizeY>
    <BandsCount>3</BandsCount>
    <Cache />
</GDAL_WMS>

但它不起作用。

使用与 Google TMS url 完全相同的 XML http://mt.google.com/vt/lyrs=s&x=${x}&y=${y}&z= ${z} 工作正常。

我是不是漏掉了什么?

最佳答案

所以我试图导入 QGIS 的 XML 文件已经正确了。 使用 GDAL 命令

gdalinfo --debug on mapboxTMS.xml

返回了一致的输出。

此外,使用命令 gdal_translate 导致正确提取区域,这正是我想要执行的光栅操作。就我而言,我是这样使用它的:

gdal_translate -projwin 1499373.73124 3010255.99556 1499925.16592 3009716.74729 -of GTiff mapboxTMS.xml result.tif

所以问题实际上似乎是在 QGIS 方面。根据this answer这可能是由于 GDAL WMS 驱动程序无法与 QGIS 正常工作造成的。

关于xml - 使用 Mapbox TMS 创建 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50716919/

相关文章:

java - Android Studio 预览与设备不同

xml - Log4j 2 配置 : XML vs JSON?

java - 使用 JAXB 将空列表编码为不存在的节点

AndroidManifest.xml 文档中跟在根元素之后的标记必须格式正确

jquery - 当标记拖出多边形时发出警报

javascript - Mapbox GeoJSON 通过本地 URL : icons not showing popup properties 加载

android - Mapbox 4 到 Mapbox 5 错误

Python - 遍历栅格单元格,非常慢

java - 如何从java中的像素字节数组制作bmp图像

javascript - 谷歌地球引擎: How can I perform image calculations with random values pixel by pixel?