gdal2tiles.py gibt ERROR 6 über EPSG: 900913 bei einer Neuinstallation von Ubuntu 14.04

8

Ich habe eine Neuinstallation von Ubuntu 14.04. Ich habe gdal mit installiert sudo apt-get install gdal-bin python-gdal. Danach habe ich: GDAL 1.10.1 veröffentlicht am 26.08.2013 .

Ich versuche, die Wetterradarbilder von NOAA zu kacheln . Das Folgende sind meine Schritte und die angezeigte Fehlermeldung.

$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/

Die angezeigten Fehler sind dann:

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

Aufgrund dieses Fehlers scheint es ein Problem mit dem Format EPSG: 900913 (Google) zu geben. Deshalb habe ich speziell eingestellt -s EPSG:3857.

All dies sollte funktionieren. Ich habe die obigen Schritte von Grund auf neu ausgeführt, da ich einen älteren Server (Ubuntu 12.04) habe, auf dem ich dies derzeit ohne Fehler mache. Sobald ich auf 14.04 aktualisiere, wird der obige Fehler angezeigt. Ich versuche den Grund für den Fehler zu finden. Eine Google-Suche nach der Fehlermeldung führt zu altem E-Mail-Listenverkehr, bei dem es entweder nicht um Ubuntu ging oder bei dem andere Probleme auftraten.

Als Randnotiz habe ich auch versucht, aus dem Quellcode zu erstellen, und es wurden keine Änderungen an den angezeigten Fehlern festgestellt.

Hazzey
quelle
4
Es ist ein Python-Skript und Sie können die Datei öffnen und 900913 in 3857 an allen Stellen bearbeiten. In GDAL 2.0.1 ist dieses Update enthalten. Hauptgrund ist wahrscheinlich, dass neueres Proj4 nicht mit dem gefälschten 900913-Code geliefert wird.
user30184
3
@ user30184 Ich denke, Ihr Kommentar ist eine vollständige Antwort wert.
AndreJ
Das Ersetzen des Codes in der Datei gdal2tiles.py funktioniert.
Hazzey

Antworten:

15

Ich gehe von dem aus, was @ user30184 im Kommentar gesagt hat.

Dieses Problem besteht darin, dass das Skript gdal2tiles.py gdal anweist, 'mercator' als EPSG: 900913 auszugeben . Dies ist in Ordnung, solange es weiß, wie man darauf konvertiert.

Das Update besteht darin, die folgende Zeile in gdal2tile.py (Zeile 785) zu ändern :

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

zu:

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

Mit dieser einen Änderung kann gdal2tiles.py fehlerfrei ausgeführt werden.

Hazzey
quelle
genau richtig. funktioniert für neuere Version von gdal (andere Zeilennummer) unter Ubuntu 16.04.4 UPVOTED :)
Tony Gil