¿Cómo crear un png 4096x4096 a partir de un conjunto de datos de 1440x720 usando GDAL?


8

Me está costando mucho hacer algo que parece bastante sencillo. Estoy tratando de tomar un archivo netcdf de ftp://eclipse.ncdc.noaa.gov/pub/OI-daily-v2/NetCDF/2011/AVHRR-AMSR/ y convertirlo en un png 4096x4096 para que pueda mosaico para usar con google maps. He estado usando los siguientes comandos, pero siempre parece crear áreas en blanco en los bordes este y oeste:

/usr/local/bin/gdal_translate -a_srs EPSG:4326 -outsize 4096 4096 -a_ullr 0 90 360 -90 NETCDF:"input.nc":sst -of netCDF output.nc
/usr/local/bin/gdaldem color-relief output.nc -b 1 -alpha colorscale.txt -of PNG output.png
/usr/bin/convert output.png -transparent #FFFFFF output.png

¿Me estoy acercando a esto de la manera incorrecta? ¿Estoy usando las herramientas incorrectas?

FWIW - gdal_translate es v1.8.0

Gracias por adelantado.

ACTUALIZACIÓN: "Respuesta" a continuación de Dija - colega mío - es en realidad una respuesta a los comentarios sobre la pregunta en sí.

ACTUALIZACIÓN Accidentalmente agregó una respuesta en lugar de un comentario. Moviéndolo aquí.

Pensé que pesaría aquí. He estado trabajando en este tema por un tiempo ahora. He intentado muchas iteraciones del proceso. Escalé estas imágenes al 4096x4096, ya que en realidad crea una mejor imagen que si no. Es decir, si dejo la imagen en su tamaño nativo, 1440x720 obtengo un espacio más grande en el meridiano principal (para este conjunto de datos) y en el meridiano 180 para otros conjuntos de datos. Escalé la imagen de salida para que sea un múltiplo de 256 (para que se ajuste mejor con google) y obtuve varios resultados.

Si lo escalo a 1536x768, la brecha se muestra a la derecha del meridiano 0. Si escalo a 1280x640 está a la izquierda. Si lo dejo solo, lo divide bastante.

Tomé la imagen base que escupe gdaldem, la corté por la mitad y emparejé los bordes ... se alinean perfectamente. Esto me lleva a pensar que hay algo extraño con gdal2tiles.py

Escribí mi propio alicatador que me estoy preparando para desatar nuestras imágenes para ver si la brecha persiste.

Recopilaré algunas capturas de pantalla para mostrar de qué estoy hablando y cómo la brecha, así como informar sobre lo que hace mi sociador.

Gracias por cualquier aportación que pueda tener. Es apreciado

ACTUALIZACIÓN 2 Ejecuté el maptiler que escribí contra el ráster original y funciona bien sin un espacio. gdal2tiles.py parece ser el problema. Introduce un borde transparente en el último mosaico que toca el meridiano 180.


Algo debe ceder cuando convierte una imagen con una relación de aspecto 1: 2 en una con una relación de aspecto 1: 1: se produce un recorte, se obtienen bordes en blanco para llenar el espacio vacío o se necesita un estiramiento de 2: 1.
whuber

Ejecuté los mismos procesos en uno de los archivos del sitio FTP que proporcionó, y tengo una imagen que se ajusta a sus límites correctamente. ¿Puedes proporcionar una captura de pantalla del efecto que estás obteniendo? ¿El efecto ocurre después del paso gdaldem, o el paso de conversión?
MerseyViking

Ah, sí, como dice Whuber, su relación de aspecto es incorrecta si usa los parámetros que proporcionó en el texto, pero los parámetros de la línea de comandos, que son los que usé, tienen la relación de aspecto correcta.
MerseyViking

Dicho esto, acabo de intentar crearlo como 4096 x 4096 y QGIS lo carga sin ningún problema. Además, al cargar ambas versiones en GIMP, se muestra un mapa que sube hasta los bordes izquierdo y derecho.
MerseyViking

@whuper - Absolutamente, estoy completamente de acuerdo. Me doy cuenta de que al intentar convertir un conjunto de datos 1: 2 en una imagen 1: 1, casi está invalidando los datos. Dicho esto, mis expectativas eran obtener una producción que sea esencialmente un tramo de 2: 1, en lugar de un espacio vacío. Estoy a merced de los requisitos comerciales establecidos ante mí :( Oh, las cosas que haremos para obtener una imagen bonita. @ MerseyViking - Interesante, déjame contactarte sobre eso. No soy el principal trabajando en esto y por eso necesito su opinión. Sin embargo, gracias por los comentarios.
malonso

Respuestas:


2

gdal_grid tiene parámetros que le permiten designar las coordenadas de extensión de su ráster de salida.

gdal_grid -txe [xcoord1] [xcoord2] -tye [ycoord1] [ycoord2]

donde la coordenada inferior izquierda sería (xcoord1, ycoord1) y la superior derecha sería (xcoord2, ycoord2)

GDAL interpolará sus datos de acuerdo con sus extensiones de salida

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.