Încerc să generez gresie cu gdal2tiles.py și gresele rezultate sunt stocate ca 18/132639/164219. Dacă fac același lucru cu MapTiler (varianta GUI a gdal2tiles), rezultatul plăcii este 18/132639/97923. Vreau rezultatele de la MapTiler (97923 ), dar doar cu gdal2tiles, deoarece vreau să fac acest lucru într-un proces batch și nu cu o interfață grafică.

Am încercat deja o mulțime de lucruri, deformând, traducând, orice și devine foarte enervant, mai ales că se spune că MapTiler este doar o interfață grafică pentru gdal2tiles și face practic același lucru.

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 

Cele mai multe dintre acestea au ca rezultat un ERROR 5 Access window out of range in RasterIO() sau ERROR 5: Illegal values for buffer size.

Acesta funcționează, dar rezultă valori Y greșite:

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

Aveți idei ce nu este în regulă?

Comentarii

  • Am încercat să produc plăci pentru a le publica harta mea online. Doriți să obțineți aceeași structură ca și ultima versiune 0.5.2 a maptiler, dar doriți să faceți asta folosind scriptul gdal. Am testat – ultimul maptiler pentru a compara cum ar trebui să arate – versiunea veche a maptiler – gdal2tiles.py 25611 2013-02-07 10: 24: 56Z episcop $ (din pachetul qgis valmiera) – gdal2tiles.py 19288 2010-04- 02 18: 36: 17Z rouault $ + modificarea ta (Andre Joost) http://gis.stackexchange.com/questions/63024/gdal2tiles-maptiles-from-bsb-kap-are-switched

Răspuns

Soluția este mult mai simplă decât se aștepta. Pur și simplu transformați setările TMS la true în Broșură.

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

Comentarii

  • Rețineți că gdal2 gdal2tiles.py (GDAL 2.1.3, released 2017/20/01) folosește " corect " sau convenția Google / OSM pentru x vs y, astfel încât plăcile generate nu ar putea avea nevoie de astfel de remedieri.
  • @AhmedFasih, Încă nu funcționează. testat din GDAL 2.3.1

Răspuns

gdal2tiles folosește specificația TMS pentru denumirea plăcilor (de jos în sus) , în timp ce Maptiler vă permite să utilizați sistemul de denumire a plăcilor Google / Openstreetmap (de sus în jos).

Consultați răspunsul meu la acest subiect despre cum să modificați gdal2tiles.py pentru denumirea plăcilor Google / OSM:

GDAL2Tiles: MapTiles din BSB / KAP sunt schimbate

Comentarii

  • Am făcut modificările, dar numerele Y rămân aceleași? ' M lucrez cu CRC EPSG: 4326, ceea ce este probabil și o problemă, deoarece prospectul necesită EPSG: 3857.
  • Ar fi trebuit să înlocuiți ty și y cu ty2 și y2 și în liniile existente citate. Sursa și plăcile mele erau toate în EPSG: 3857.
  • Oh ok. Ei bine, din moment ce nu ' nu vreau să schimb gdal2tiles.py pe toate mașinile implicate, varianta tms: true este cea mai bună soluție. Mulțumesc!

Răspuns

O contribuție târzie, dar poate ajută …

Ca alternativă la schimbarea codului din gdal2tiles.py sau adăugarea steagului special în prospect, numele fișierelor din dale pot fi schimbate. Aceasta a fost o soluție ușoară pentru crearea plăcilor de utilizat cu ArcGIS online. Iată un script bash dur care va comuta convenția z / x / y înainte și înapoi între OSM / Google-Maps (gdal2tiles implicit) și TMS (utilizat în 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 

Răspuns

Puteți descărca actualizat gdal2tiles.py pentru plăci Google / OSM prin link

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

Comentarii

  • Bine ați venit la GIS @SE, vă mulțumim pentru răspuns, dar ar trebui să explicați în răspunsul dvs. care este diferența în linkul de descărcare recomandat în comparație cu întrebarea inițială, astfel încât viitorii utilizatori să înțeleagă și ei. salutări

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *