Ich versuche, Kacheln mit gdal2tiles.py zu generieren, und die resultierenden Kacheln werden als 18/132639/164219. Wenn ich dasselbe mit MapTiler (der GUI-Variante von gdal2tiles) mache, lautet das Kachelergebnis 18/132639/97923. Ich möchte die Ergebnisse von MapTiler (97923) ), aber nur mit gdal2tiles, da ich dies in einem Batch-Prozess und nicht mit einer GUI tun möchte.

Ich habe bereits viele Dinge ausprobiert, verzerrt, übersetzt, was auch immer, und es wird sehr ärgerlich, zumal es heißt, dass MapTiler nur eine grafische Oberfläche für gdal2tiles ist und im Grunde dasselbe tut.

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 

Die meisten davon führen zu einer ERROR 5 Access window out of range in RasterIO() oder ERROR 5: Illegal values for buffer size.

Dieser funktioniert, führt jedoch zu den falschen Y-Werten:

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

Irgendwelche Ideen, was dort falsch ist?

Kommentare

  • Ich habe versucht, Kacheln zum Veröffentlichen zu erstellen meine Karte online. Sie möchten dieselbe Struktur wie die letzte Version 0.5.2 von maptiler erhalten, möchten dies jedoch mit dem gdal-Skript tun. Ich habe getestet – letzter Maptiler, um zu vergleichen, wie es aussehen soll – alte Version von Maptiler – gdal2tiles.py 25611 2013-02-07 10: 24: 56Z bishop $ (aus qgis valmiera package) – gdal2tiles.py 19288 2010-04- 02 18: 36: 17Z rouault $ + Ihre (Andre Joost) Modifikation http://gis.stackexchange.com/questions/63024/gdal2tiles-maptiles-from-bsb-kap-are-switched

Antwort

Die Lösung ist viel einfacher als erwartet. Stellen Sie die TMS-Einstellungen in der Broschüre einfach auf true.

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

Kommentare

  • Beachten Sie, dass gdal2 gdal2tiles.py (GDAL 2.1.3, released 2017/20/01) die " korrekte " oder Google / OSM-Konvention für x vs y, sodass für generierte Kacheln möglicherweise keine derartigen Korrekturen erforderlich sind.
  • @ AhmedFasih, es funktioniert immer noch nicht. getestet aus GDAL 2.3.1

Antwort

gdal2tiles verwendet die TMS-Spezifikation für die Kachelbenennung (von unten nach oben) In Maptiler können Sie das Kachelnamenssystem von Google / Openstreetmap (von oben nach unten) verwenden.

In meiner Antwort auf dieses Thema erfahren Sie, wie Sie gdal2tiles.py für die Kachelbenennung in Google / OSM ändern:

GDAL2Tiles: MapTiles von BSB / KAP werden umgeschaltet

Kommentare

  • Ich habe die Änderungen vorgenommen, aber die Y-Nummern bleiben gleich? Ich ' arbeite mit CRC EPSG: 4326, was wahrscheinlich auch ein Problem ist, da für die Broschüre EPSG: 3857 erforderlich ist.
  • Sie sollten ty und y durch ersetzt haben ty2 und y2 auch in den angegebenen vorhandenen Zeilen. Meine Quelle und Kacheln waren alle in EPSG: 3857.
  • Oh ok. Nun, da ich ' gdal2tiles.py nicht auf allen beteiligten Maschinen ändern möchte, ist die Variante tms: true die bessere Lösung. Danke!

Antwort

Ein verspäteter Beitrag, aber vielleicht hilft er …

Alternativ zum Ändern des Codes in gdal2tiles.py oder zum Hinzufügen des speziellen Flags zur Broschüre können die Dateinamen der Kacheln geändert werden. Dies war eine einfache Lösung zum Erstellen von Kacheln zur Verwendung mit ArcGIS online. Hier ist ein grobes Bash-Skript, mit dem die z / x / y-Konvention zwischen OSM / Google-Maps (Standard gdal2tiles) und TMS (in ArcGIS Online verwendet) hin- und hergeschaltet wird.

 # 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 

Antwort

Sie können die aktualisierte gdal2tiles.py für Google / OSM Kacheln per Link

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

Kommentare

  • Willkommen bei GIS @SE, danke für Ihre Antwort. Sie sollten jedoch in Ihrer Antwort erklären, was der Unterschied zwischen Ihrem empfohlenen Download-Link und der ursprünglichen Frage ist, damit auch zukünftige Benutzer dies verstehen. Beste Grüße

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.