Ik probeer tegels te genereren met gdal2tiles.py en de resulterende tegels worden opgeslagen als 18/132639/164219
. Als ik hetzelfde doe met MapTiler (de GUI-variant van gdal2tiles), is het tegelresultaat 18/132639/97923
. Ik wil de resultaten van MapTiler (97923 ), maar alleen met gdal2tiles, omdat ik dit in een batchproces wil doen en niet met een GUI.
Ik heb al veel dingen geprobeerd, warping, vertalen, wat dan ook, en het wordt erg vervelend, vooral omdat het zegt dat MapTiler slechts een grafische interface is voor gdal2tiles en in wezen hetzelfde doet.
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
De meeste hiervan resulteren in een ERROR 5 Access window out of range in RasterIO()
of ERROR 5: Illegal values for buffer size
.
Deze werkt, maar resulteert in de verkeerde Y-waarden:
gdal2tiles.py -s EPSG:4326 -z 16-19 -w none overlay-level1.png
Enig idee wat is daar mis?
Reacties
- Ik heb geprobeerd tegels te maken om te publiceren mijn kaart online. Wil dezelfde structuur krijgen als de laatste versie 0.5.2 van maptiler produceren, maar wil dat doen met het gdal-script. Ik heb getest – laatste maptiler om te vergelijken hoe het eruit moet zien – oude versie van maptiler – gdal2tiles.py 25611 2013-02-07 10:24: 56Z bishop $ (van qgis valmiera pakket) – gdal2tiles.py 19288 2010-04- 02 18: 36: 17Z rouault $ + jouw (Andre Joost) wijziging http://gis.stackexchange.com/questions/63024/gdal2tiles-maptiles-from-bsb-kap-are-switched
Answer
De oplossing is veel eenvoudiger dan verwacht. Zet de TMS-instellingen gewoon op true
in Leaflet.
L.tileLayer("http://{s}.somedomain.com/{foo}/{z}/{x}/{y}.png", {tms: true});
Reacties
Answer
gdal2tiles gebruikt de TMS-specificatie voor tegelnaamgeving (van onder naar boven) , terwijl Maptiler je toestaat om het Google / Openstreetmap tegel naamgevingssysteem te gebruiken (van boven naar beneden).
Zie mijn antwoord op dit onderwerp over het aanpassen van gdal2tiles.py voor Google / OSM tegel naamgeving:
GDAL2Tiles: MapTiles van BSB / KAP worden omgewisseld
Reacties
- Ik heb de wijzigingen aangebracht, maar de Y-nummers blijven hetzelfde? Ik ' m aan het werk met CRC EPSG: 4326, wat waarschijnlijk ook een probleem is, aangezien de folder EPSG: 3857 vereist.
- Je had ty en y moeten vervangen door ty2 en y2 in de geciteerde bestaande regels ook. Mijn bron en tegels waren allemaal in EPSG: 3857.
- Oh ok. Welnu, aangezien ik ' t gdal2tiles.py niet op alle betrokken machines wil veranderen, is de tms: true variant de betere oplossing. Bedankt!
Antwoord
Een late bijdrage, maar misschien helpt het …
Als alternatief voor het wijzigen van de code in gdal2tiles.py of het toevoegen van de speciale vlag aan de folder, kunnen de bestandsnamen van de tegels worden gewijzigd. Dit was een gemakkelijke oplossing voor het maken van tegels voor gebruik met ArcGIS online. Hier is een ruw bash-script dat de z / x / y-conventie heen en weer schakelt tussen OSM / Google-Maps (standaard gdal2tiles) en TMS (gebruikt 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
Answer
U kunt de bijgewerkte gdal2tiles.py voor Google / OSM tegels per link
http://gisfile.com/user/admin/gdal2tiles.py
Reacties
- Welkom bij GIS @SE, bedankt voor je antwoord, maar je moet in je antwoord uitleggen wat het verschil is in je aanbevolen downloadlink in vergelijking met de oorspronkelijke vraag, zodat toekomstige gebruikers het ook zullen begrijpen. Met vriendelijke groet
GDAL 2.1.3, released 2017/20/01
) de " juiste " of Google / OSM-conventie voorx
vsy
, dus voor gegenereerde tegels zijn dergelijke correcties wellicht niet nodig.