使用 Mapbox TMS 创建 XML 文件
Creating an XML file using a Mapbox TMS
我正在寻找一种在 QGis 中显示 Mapbox 地图的方法,以便将其识别为栅格图层。
我已经尝试过 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 完全相同的 XML url 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 正常工作造成的。
我正在寻找一种在 QGis 中显示 Mapbox 地图的方法,以便将其识别为栅格图层。
我已经尝试过 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 完全相同的 XML url 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 正常工作造成的。