Jessaye de générer des tuiles avec gdal2tiles.py et les tuiles résultantes sont stockées sous 18/132639/164219
. Si je fais la même chose avec MapTiler (la variante GUI de gdal2tiles), le résultat de la tuile est 18/132639/97923
. Je veux les résultats de MapTiler (97923 ), mais juste avec gdal2tiles, car je veux faire cela dans un processus par lots et non avec une interface graphique.
Jai déjà essayé beaucoup de choses, déformer, traduire, peu importe, et ça devient très ennuyeux, dautant plus quil dit que MapTiler nest quune interface graphique pour gdal2tiles et fait fondamentalement la même chose.
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 plupart de ceux-ci donnent un ERROR 5 Access window out of range in RasterIO()
ou ERROR 5: Illegal values for buffer size
.
Celui-ci fonctionne, mais entraîne des valeurs Y erronées:
gdal2tiles.py -s EPSG:4326 -z 16-19 -w none overlay-level1.png
Des idées sur ce qui ne va pas?
Commentaires
- Jai essayé de produire des tuiles à publier ma carte en ligne. Vous voulez obtenir la même structure que la dernière version 0.5.2 de maptiler, mais vous voulez le faire en utilisant le script gdal. Jai testé – le dernier maptiler à comparer à quoi il devrait ressembler – ancienne version de maptiler – gdal2tiles.py 25611 07/02/2013 10: 24: 56Z bishop $ (du paquet qgis valmiera) – gdal2tiles.py 19288 2010-04- 02 18: 36: 17Z rouault $ + votre modification (Andre Joost) http://gis.stackexchange.com/questions/63024/gdal2tiles-maptiles-from-bsb-kap-are-switched
Réponse
La solution est beaucoup plus simple que prévu. Il vous suffit de régler les paramètres TMS sur true
dans Leaflet.
L.tileLayer("http://{s}.somedomain.com/{foo}/{z}/{x}/{y}.png", {tms: true});
Commentaires
- Notez que gdal2 gdal2tiles.py (
GDAL 2.1.3, released 2017/20/01
) utilise le " correct " ou la convention Google / OSM pourx
vsy
, de sorte que les tuiles générées peuvent ne pas nécessiter de telles corrections. - @AhmedFasih, ça ne marche toujours pas. testé à partir de GDAL 2.3.1
Réponse
gdal2tiles utilise la spécification TMS pour la dénomination des tuiles (de bas en haut) , tandis que Maptiler vous permet dutiliser le système de dénomination des vignettes Google / Openstreetmap (de haut en bas).
Voir ma réponse à ce sujet sur la façon de modifier gdal2tiles.py pour la dénomination des vignettes Google / OSM:
GDAL2Tiles: les MapTiles de BSB / KAP sont commutés
Commentaires
- Jai fait les changements, mais les nombres Y restent les mêmes? Je ' travaille avec CRC EPSG: 4326, ce qui est probablement aussi un problème, car le dépliant nécessite EPSG: 3857.
- Vous auriez dû remplacer ty et y par ty2 et y2 dans les lignes existantes citées également. Ma source et mes tuiles étaient toutes dans EPSG: 3857.
- Oh ok. Eh bien, puisque je ne ' pas vouloir changer gdal2tiles.py sur toutes les machines impliquées, la variante tms: true est la meilleure solution. Merci!
Réponse
Une contribution tardive, mais peut-être que ça aide …
Au lieu de changer le code dans gdal2tiles.py ou dajouter le drapeau spécial au dépliant, les noms de fichiers des tuiles peuvent être modifiés. Il sagissait dune solution simple pour créer des tuiles à utiliser avec ArcGIS en ligne. Voici un script bash approximatif qui fera basculer la convention z / x / y entre OSM / Google-Maps (gdal2tiles par défaut) et TMS (utilisé dans 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éponse
Vous pouvez télécharger la gdal2tiles.py pour Google / OSM tuiles par lien
http://gisfile.com/user/admin/gdal2tiles.py
Commentaires
- Bienvenue dans SIG @SE, merci pour votre réponse, mais vous devez expliquer dans votre réponse quelle est la différence dans votre lien de téléchargement recommandé par rapport à la question dorigine, afin que les futurs utilisateurs comprennent également. Meilleures salutations