Jeg prøver at generere fliser med gdal2tiles.py, og de resulterende fliser lagres som 18/132639/164219
. Hvis jeg gør det samme med MapTiler (GUI-varianten af gdal2tiles) er fliseresultatet 18/132639/97923
. Jeg vil have resultaterne fra MapTiler (97923 ), men bare med gdal2tiles, da jeg vil gøre dette i en batchproces og ikke med en GUI.
Jeg har allerede prøvet mange ting, vridning, oversættelse, hvad som helst, og det bliver meget irriterende, især da det siger, at MapTiler bare er en grafisk grænseflade til gdal2tiles og stort set gør det samme.
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 fleste af dem resulterer i en ERROR 5 Access window out of range in RasterIO()
eller ERROR 5: Illegal values for buffer size
.
Denne fungerer, men resulterer i de forkerte Y-værdier:
gdal2tiles.py -s EPSG:4326 -z 16-19 -w none overlay-level1.png
Eventuelle ideer, hvad der er galt der?
Kommentarer
- Jeg forsøgte at fremstille fliser til udgivelse mit kort online. Ønsker at få samme struktur som producere sidste version 0.5.2 af maptiler, men vil gøre det ved hjælp af gdal script. Jeg har testet – sidste maptiler for at sammenligne hvordan skal det se ud – gammel version af maptiler – gdal2tiles.py 25611-07-02 10: 24: 56Z bishop $ (fra qgis valmiera-pakke) – gdal2tiles.py 19288 2010-04- 02 18: 36: 17Z rouault $ + din (Andre Joost) ændring http://gis.stackexchange.com/questions/63024/gdal2tiles-maptiles-from-bsb-kap-are-switched
Svar
Løsningen er meget enklere end forventet. Drej bare TMS-indstillinger til true
i indlægssedlen.
L.tileLayer("http://{s}.somedomain.com/{foo}/{z}/{x}/{y}.png", {tms: true});
Kommentarer
- Bemærk, at gdal2 gdal2tiles.py (
GDAL 2.1.3, released 2017/20/01
) bruger " korrekt " eller Google / OSM-konvention tilx
vsy
, så genererede fliser behøver muligvis ikke sådanne rettelser. - @AhmedFasih, det fungerer stadig ikke. testet fra GDAL 2.3.1
Svar
gdal2tiles bruger TMS-specifikationen til navngivning af fliser (bund til top) , mens Maptiler giver dig mulighed for at bruge Google / Openstreetmap-flisernavngivningssystemet (top til bund).
Se mit svar på dette emne om, hvordan du ændrer gdal2tiles.py til Google / OSM-fliseudnævnelse: >
GDAL2Tiles: MapTiles fra BSB / KAP er skiftet
Kommentarer
- Jeg foretog ændringerne, men Y-numrene forbliver de samme? Jeg ' arbejder med CRC EPSG: 4326, hvilket sandsynligvis også er et problem, da foldere kræver EPSG: 3857.
- Du skulle have erstattet ty og y med ty2 og y2 også i de citerede eksisterende linjer. Min kilde og fliser var alle i EPSG: 3857.
- Åh ok. Da jeg ikke ' ikke vil ændre gdal2tiles.py på alle involverede maskiner, er tms: true variant den bedre løsning. Tak!
Svar
Et sent bidrag, men måske hjælper det …
Som et alternativ til at ændre koden i gdal2tiles.py eller tilføje det specielle flag til folderen kan filnavnene på fliserne ændres. Dette var en nem løsning til oprettelse af fliser til brug med ArcGIS online. Her er et groft bash-script, der skifter z / x / y-konventionen frem og tilbage mellem OSM / Google-Maps (gdal2tiles standard) og TMS (bruges i 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
Svar
Du kan downloade den opdaterede gdal2tiles.py til Google / OSM fliser efter link
http://gisfile.com/user/admin/gdal2tiles.py
Kommentarer
- Velkommen til GIS @SE, tak for dit svar, men du bør forklare i dit svar, hvad forskellen er i dit anbefalede downloadlink i forhold til det originale spørgsmål, så fremtidige brugere også vil forstå. bedste hilsen