Estou tentando gerar blocos com gdal2tiles.py e os blocos resultantes são armazenados como 18/132639/164219. Se eu fizer a mesma coisa com MapTiler (a variante GUI de gdal2tiles), o resultado do bloco é 18/132639/97923. Quero os resultados do MapTiler (97923 ), mas apenas com gdal2tiles, já que quero fazer isso em um processo em lote e não com uma GUI.

Eu já tentei muitas coisas, warping, tradução, qualquer coisa, e está ficando muito irritante, especialmente porque diz que MapTiler é apenas uma interface gráfica para gdal2tiles e faz basicamente o mesmo.

gdal2tiles.py -z 17-19 -s EPSG:900913 -p raster overlay-level1.png gdal2tiles.py -z 17-20 -s EPSG:3785 overlay-level1.png gdal2tiles.py -p geodetic -s EPSG:4326 -z 18-21 -w none overlay-level1.png 

A maioria deles resulta em um ERROR 5 Access window out of range in RasterIO() ou ERROR 5: Illegal values for buffer size.

Este funciona, mas resulta nos valores de Y errados:

gdal2tiles.py -s EPSG:4326 -z 16-19 -w none overlay-level1.png 

Alguma idéia do que está errado aí?

Comentários

  • Tentei produzir blocos para publicar meu mapa online. Deseja obter a mesma estrutura que produziu a última versão 0.5.2 do maptiler, mas deseja fazer isso usando o script gdal. Eu testei – último maptiler para comparar como deveria ser – versão antiga do maptiler – gdal2tiles.py 25611 2013-02-07 10: 24: 56Z bishop $ (do pacote qgis valmiera) – gdal2tiles.py 19288 2010-04- 02 18: 36: 17Z rouault $ + sua modificação (Andre Joost) http://gis.stackexchange.com/questions/63024/gdal2tiles-maptiles-from-bsb-kap-are-switched

Resposta

A solução é muito mais simples do que o esperado. Basta mudar as configurações do TMS para true no folheto.

L.tileLayer("http://{s}.somedomain.com/{foo}/{z}/{x}/{y}.png", {tms: true}); 

Comentários

  • Observe que gdal2 gdal2tiles.py (GDAL 2.1.3, released 2017/20/01) usa o " correto " ou convenção do Google / OSM para x vs y, portanto, os blocos gerados podem não precisar dessas correções.
  • @AhmedFasih, Ainda não funciona. testado em GDAL 2.3.1

Resposta

gdal2tiles usa a especificação TMS para nomenclatura de blocos (de baixo para cima) , enquanto o Maptiler permite que você use o sistema de nomenclatura de blocos do Google / Openstreetmap (de cima para baixo).

Veja minha resposta a este tópico sobre como modificar gdal2tiles.py para a nomenclatura de blocos do Google / OSM:

GDAL2Tiles: MapTiles de BSB / KAP são alternados

Comentários

  • Fiz as alterações, mas os números Y permanecem os mesmos? Eu ' estou trabalhando com CRC EPSG: 4326, o que provavelmente também é um problema, pois o folheto requer EPSG: 3857.
  • Você deve ter substituído ty e y por ty2 e y2 nas linhas existentes citadas também. Minha origem e blocos estavam todos em EPSG: 3857.
  • Ah, ok. Bem, como eu não ' não quero alterar gdal2tiles.py em todas as máquinas envolvidas, a variante tms: true é a melhor solução. Obrigado!

Resposta

Uma contribuição tardia, mas talvez ajude …

Como uma alternativa para alterar o código em gdal2tiles.py ou adicionar o sinalizador especial ao folheto, os nomes dos arquivos dos tiles podem ser alterados. Esta foi uma solução fácil para a criação de blocos para usar com o ArcGIS online. Aqui está um script bash bruto que alternará a convenção z / x / y entre OSM / Google-Maps (padrão gdal2tiles) e TMS (usado no ArcGIS Online)

 # Each time it runs it will toggle the convention between OSM/Google-Maps and TMS tiledir=$1 for x in $(find $tiledir -name "*.png") do #echo $x # isolate where tile folders begin tiles="${x#$tiledir/}" #echo $tiles # separate each z,x,y value zdir=$(echo $tiles | cut -d"/" -f1-1) xdir=$(echo $tiles | cut -d"/" -f2-2) ypng=$(echo $tiles | cut -d"/" -f3-3) # remove extension from y.png files y="${ypng%.*}" # calculate new y using formula referenced here: # http://osgeo-org.1560.x6.nabble.com/gdal2tiles-tiles-in-wrong-hemisphere-and-or-Openlayers-problem-td3742809.html (( newy=(2**zdir - 1)-y )) #echo $zdir,$xdir,$y $newy is newy # rename the files mv -v $x $tiledir/$zdir/$xdir/$newy.png done 

Resposta

Você pode baixar o gdal2tiles.py para Google / OSM blocos por link

http://gisfile.com/user/admin/gdal2tiles.py

Comentários

  • Bem-vindo ao GIS @SE, obrigado pela sua resposta, no entanto, você deve explicar em sua resposta qual a diferença em seu link de download recomendado em comparação com a pergunta original, para que futuros usuários também entendam. Atenciosamente

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *