gdal2tiles.py da ERROR 6 sobre EPSG: 900913 en la nueva instalación de Ubuntu 14.04

8

Tengo una nueva instalación de Ubuntu 14.04. Instalé gdal con sudo apt-get install gdal-bin python-gdal. Después de esto tengo: GDAL 1.10.1 lanzado el 26/08/2013 .

Estoy tratando de enlosar las imágenes de radar meteorológico de NOAA . Los siguientes son mis pasos y el mensaje de error que se muestra.

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

Los errores mostrados son entonces:

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

A partir de ese error, parece que hay un problema con el formato EPSG: 900913 (google). Es por eso que configuré específicamente -s EPSG:3857.

Todo esto debería funcionar. Hice los pasos anteriores desde cero, porque tengo un servidor más antiguo (ubuntu 12.04) donde actualmente estoy haciendo esto sin error. Una vez que actualizo a 14.04, aparece el error anterior. Estoy tratando de encontrar la razón del error. Una búsqueda en Google del mensaje de error da como resultado un tráfico de lista de correo electrónico antiguo que no era sobre ubuntu o tenía otros problemas.

Como nota al margen, también intenté construir desde la fuente y no hubo cambios en los errores que se muestran.

Hazzey
fuente
44
Es un script de Python y puede abrir el archivo y editar 900913 en 3857 en todos los lugares. En GDAL 2.0.1 esta corrección está incluida. La razón principal es probablemente que el Proj4 más nuevo no viene con el código falso 900913.
user30184
3
@ user30184 Creo que su comentario merece una respuesta completa.
AndreJ
Reemplazar el código en el archivo gdal2tiles.py funciona.
Hazzey

Respuestas:

15

A partir de lo que @ user30184 dijo en el comentario.

Este problema es que el script gdal2tiles.py le dice a gdal que envíe 'mercator' como EPSG: 900913 . Esto está bien siempre que sepa cómo convertir a esto.

La solución es cambiar la siguiente línea en gdal2tile.py (línea 785):

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

a:

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

Este cambio permite que gdal2tiles.py se ejecute sin error.

Hazzey
fuente
Correcto. funciona para la versión más nueva de gdal (número de línea diferente) en Ubuntu 16.04.4 UPVOTED :)
tony gil