6 votos

¿grib2 a raster? (grib2-> raster2pgsql-> PostGIS 2.0-> GeoServer)

Estoy buscando implementar la importación de Estados Unidos Servicio Nacional de Meteorología de datos para hacer varios tipos de modelos (www.soils.wisc.edu/uwex_agwx si eres curioso acerca de lo que estamos haciendo con los datos).

Los datos meteorológicos vienen en Grib2 archivos, y estoy tocar el violín alrededor con PostGIS 2.0 en un intento de hacer accesible tanto para mi propio software de modelado y poner visualizaciones a través de GeoServer.

Puedo llegar a trabajar con algunos archivos, o por lo menos a recibir SQL que parece funcionar OK, crea una tabla y carga de datos en ella. Pero no puedo visualizar la tabla resultante en GeoServer, así que sé que es algo loco lo largo del camino.

Así que mi pregunta -- perdón de sus novato-tud:

1) Nadie hace nada como esto aquí antes? He visto a gente tratando de hacer cosas fuera de GRiBs, pero no los rásteres.

2) he estado usando el Rápido Ciclo de Actualización de los datos de la predicción, en la que las coordenadas de la continental que NOS veamos con algo como, por ejemplo, X=238.1234, Y=10.1234. A partir de esto, estoy asumiendo que puedo usar EPSG:4326 como un SRID -- ¿estoy en lo cierto o loco aquí? Alguien sabe cómo podría inducir la correcta SRID código para el uso de las coordenadas?

Si a alguien le gusta jugar, he aquí una de 35MB grib2 archivo. He utilizado esta línea de comandos para crear una tabla e insertar los datos en él: raster2pgsql -s 4326 -C -M ruc2.t00z.bgrb13anl.grib2 grib_tbl

NOTA: he publicado esta a StackOverflow, y recibí la sugerencia de ejecución gdalinfo en el GRIB2 archivo. Más a medida que se desarrolla. Me aseguraré de que si esto se respondió con el fin de cerrar la pregunta en el foro, yo TAN puesto EN los dos LUGARES!

5voto

Furkan Kıraç Puntos 46

Buscando en el archivo de datos que se han publicado, puedo ver de inmediato que su suposición es incorrecta.

Usted no puede asumir que usted tiene el derecho y el sistema de coordenadas, usted tiene que saber lo que su sistema es. Usted puede obtener esta información de la ejecución de gdalinfo, como usted ha mencionado. Que nos da:

Driver: GRIB/GRIdded Binary (.grb)
Files: /tmp/ruc2.t00z.bgrb13anl.grib2
Size is 451, 337
Coordinate System is:
PROJCS["unnamed",
    GEOGCS["Coordinate System imported from GRIB file",
        DATUM["unknown",
            SPHEROID["Sphere",6371229,0]],
        PRIMEM["Greenwich",0],
        UNIT["degree",0.0174532925199433]],
    PROJECTION["Lambert_Conformal_Conic_2SP"],
    PARAMETER["standard_parallel_1",25],
    PARAMETER["standard_parallel_2",25],
    PARAMETER["latitude_of_origin",0],
    PARAMETER["central_meridian",265],
    PARAMETER["false_easting",0],
    PARAMETER["false_northing",0]]
Origin = (-3332155.288903323933482,6830293.833488883450627)
Pixel Size = (13545.000000000000000,-13545.000000000000000)
Corner Coordinates:
Upper Left  (-3332155.289, 6830293.833) (139d51'22.04"W, 54d10'20.71"N)
Lower Left  (-3332155.289, 2265628.833) (126d 6'34.06"W, 16d 9'49.48"N)
Upper Right ( 2776639.711, 6830293.833) ( 57d12'21.76"W, 55d27'10.73"N)
Lower Right ( 2776639.711, 2265628.833) ( 68d56'16.73"W, 17d11'55.33"N)
Center      ( -277757.789, 4547961.333) ( 98d 8'30.73"W, 39d54'5.40"N)

Lo que esto me dice es que no tenemos un sistema de coordenadas común. (¿Cómo puedo saber? El desconocido datum, el esferoide como de "Esfera" son las grandes pistas.) Eso significa que no va a ser capaz de ser determinado por el raster2pgsql comando (se va a tratar, pero si falla, no asume ningún tipo de sistema de coordenadas.)

Pero, GDAL es capaz de lidiar con este tipo de medida sistema de coordenadas, por lo que la forma de manejarlo es tener GDAL transformarlo a otro sistema que PostGIS entiende, e importar el nuevo archivo:

gdalwarp -t_srs EPSG:4326 ruc2.t00z.bgrb13anl.grib2 transformed.grib2

Eso es simplemente pidiendo GDAL para escribir un nuevo archivo, pero el cambio de la proyección WGS84. Ahora usted debe ser capaz de importar que en postgres utilizando el comando que tiene por encima.

FWIW, que el archivo de datos tiene 750 bandas, que parece que comer una gran cantidad de memoria en mi máquina en la importación. Es posible que desee limitar la importación a sólo las bandas que desee. He aquí cómo importado sólo la banda 1.

raster2pgsql -I -b 1 -C -M /tmp/transformed.grib2  grib_test |  psql raster_test

La buena suerte.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X