gdal2tiles.py donne l'ERREUR 6 sur EPSG: 900913 sur une nouvelle installation d'Ubuntu 14.04

8

J'ai une nouvelle installation d'Ubuntu 14.04. J'ai installé gdal avec sudo apt-get install gdal-bin python-gdal. Après cela, j'ai: GDAL 1.10.1 publié le 26/08/2013 .

J'essaie de carreler les images radar météo de la NOAA . Voici mes étapes et le message d'erreur qui s'affiche.

$wget http://radar.weather.gov/ridge/Conus/RadarImg/latest_radaronly.gif
$wget http://radar.weather.gov/ridge/Conus/RadarImg/latest_radaronly.gfw
$gdal_translate -of vrt -expand rgba ./latest_radaronly.gif temp.vrt
$cp ./latest_radaronly.gfw ./temp.wld
$gdal2tiles.py -s EPSG:3857 -w none -r near -z 3-5 -n ./temp.vrt ./temp/

Les erreurs affichées sont alors:

ERROR 6: EPSG PCS/GCS code 900913 not found in EPSG support files.  Is this 
a valid EPSG coordinate system?
ERROR 6: No translation for an empty SRS to PROJ.4 format is known.
ERROR 6: No translation for an empty SRS to PROJ.4 format is known.
Generating Base Tiles:
ERROR 5: Illegal values for buffer size
ERROR 5: Illegal values for buffer size

De cette erreur, il semble qu'il y ait un problème avec le format EPSG: 900913 (google). C'est pourquoi j'ai défini spécifiquement -s EPSG:3857.

Tout cela devrait fonctionner. J'ai fait les étapes ci-dessus à partir de zéro, car j'ai un serveur plus ancien (Ubuntu 12.04) où je fais cela sans erreur. Une fois que je suis passé à 14.04, l'erreur ci-dessus apparaît. J'essaie de trouver la raison de l'erreur. Une recherche google pour le message d'erreur entraîne un ancien trafic de liste de messagerie qui ne concernait pas ubuntu ou avait d'autres problèmes.

En remarque, j'ai également essayé de construire à partir de la source et il n'y avait aucun changement dans les erreurs affichées.

hazzey
la source
4
C'est un script python et vous pouvez ouvrir le fichier et modifier 900913 en 3857 dans tous les endroits. Dans GDAL 2.0.1, ce correctif est inclus. La raison principale est probablement que le nouveau Proj4 n'est pas livré avec le faux code 900913.
user30184
3
@ user30184 Je pense que votre commentaire mérite une réponse complète.
AndreJ
Le remplacement du code dans le fichier gdal2tiles.py fonctionne.
hazzey

Réponses:

15

Partant de ce que @ user30184 a dit dans le commentaire.

Ce problème est que le script gdal2tiles.py indique à gdal de sortir «mercator» en tant que EPSG: 900913 . C'est très bien tant qu'il sait comment se convertir à cela.

Le correctif consiste à modifier la ligne suivante dans gdal2tile.py (ligne 785):

if self.options.profile == 'mercator':
    self.out_srs.ImportFromEPSG(900913)

à:

if self.options.profile == 'mercator':
    self.out_srs.ImportFromEPSG(3857)

Cette seule modification permet à gdal2tiles.py de s'exécuter sans erreur.

hazzey
la source
repérer. fonctionne pour la nouvelle version de gdal (numéro de ligne différent) sur Ubuntu 16.04.4 MISE À JOUR :)
tony gil