Sto cercando di generare tessere con gdal2tiles.py e le tessere risultanti sono memorizzate come 18/132639/164219
. Se faccio la stessa cosa con MapTiler (la variante GUI di gdal2tiles) il risultato del riquadro è 18/132639/97923
. Voglio i risultati di MapTiler (97923 ), ma solo con gdal2tiles, poiché voglio farlo in un processo batch e non con una GUI.
Ho già provato un sacco di cose, deformando, traducendo, qualunque cosa, e sta diventando molto fastidioso, soprattutto perché dice che MapTiler è solo uninterfaccia grafica per gdal2tiles e fa fondamentalmente lo stesso.
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
La maggior parte di questi risultati in un ERROR 5 Access window out of range in RasterIO()
o ERROR 5: Illegal values for buffer size
.
Questo funziona, ma restituisce valori Y errati:
gdal2tiles.py -s EPSG:4326 -z 16-19 -w none overlay-level1.png
Qualche idea su cosa cè che non va?
Commenti
- Ho provato a produrre tessere da pubblicare la mia mappa online. Vuoi ottenere la stessa struttura prodotta dallultima versione 0.5.2 di maptiler ma vuoi farlo usando lo script gdal. Ho testato – lultimo maptiler per confrontare come dovrebbe apparire – vecchia versione di maptiler – gdal2tiles.py 25611 2013-02-07 10: 24: 56Z bishop $ (dal pacchetto qgis valmiera) – gdal2tiles.py 19288 2010-04- 02 18:36: 17Z rouault $ + la tua modifica (Andre Joost) http://gis.stackexchange.com/questions/63024/gdal2tiles-maptiles-from-bsb-kap-are-switched
Risposta
La soluzione è molto più semplice del previsto. È sufficiente impostare le impostazioni TMS su true
in Leaflet.
L.tileLayer("http://{s}.somedomain.com/{foo}/{z}/{x}/{y}.png", {tms: true});
Commenti
Risposta
gdal2tiles utilizza la specifica TMS per la denominazione dei riquadri (dal basso verso lalto) , mentre Maptiler ti consente di utilizzare il sistema di denominazione delle tessere Google / Openstreetmap (dallalto verso il basso).
Vedi la mia risposta a questo argomento su come modificare gdal2tiles.py per la denominazione delle tessere Google / OSM:
GDAL2Tiles: i MapTiles da BSB / KAP vengono cambiati
Commenti
- ho apportato le modifiche, ma i numeri Y rimangono gli stessi? ' sto lavorando con CRC EPSG: 4326, che probabilmente è anche un problema, poiché lopuscolo richiede EPSG: 3857.
- Avresti dovuto sostituire ty e y con ty2 e y2 anche nelle righe esistenti quotate. La mia sorgente e le mie tessere erano tutte in EPSG: 3857.
- Oh ok. Bene, dal momento che non ' voglio cambiare gdal2tiles.py su tutte le macchine coinvolte, la variante tms: true è la soluzione migliore. Grazie!
Risposta
Un contributo in ritardo, ma forse aiuta …
In alternativa alla modifica del codice in gdal2tiles.py o allaggiunta del flag speciale al leaflet, è possibile modificare i nomi dei file delle tessere. Questa è stata una soluzione semplice per la creazione di riquadri da utilizzare con ArcGIS online. Ecco uno script bash approssimativo che alternerà la convenzione z / x / y avanti e indietro tra OSM / Google-Maps (gdal2tiles predefinito) e TMS (utilizzato in 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
Risposta
Puoi scaricare il gdal2tiles.py per Google / OSM tessere per link
http://gisfile.com/user/admin/gdal2tiles.py
Commenti
- Benvenuto in GIS @SE, grazie per la tua risposta, tuttavia dovresti spiegare nella tua risposta qual è la differenza nel tuo link di download consigliato rispetto alla domanda originale, in modo che anche i futuri utenti capiranno. i migliori saluti
GDAL 2.1.3, released 2017/20/01
) utilizza " corretto " o la convenzione Google / OSM perx
ey
, quindi i riquadri generati potrebbero non richiedere tali correzioni.