Grib2到PostGIS栅格 - 任何人都可以使用它吗?

时间:2012-05-17 20:39:08

标签: postgresql gis postgis geoserver grib

我有一个应用程序,我需要导入美国国家气象局表面分析,分析为grib2个文件。我想将它们引入PostGIS 2.0栅格,进行一些计算和建模,并在GeoServer中显示数据和模型结果。

由于grib2是GDAL支持的格式,所提供的raster2pgsql实用程序应该能够将grib2直接插入PostGIS兼容的SQL中,一旦它存在,GeoServer就应该能够处理它。但是,我遇到了没有明显解决方案的问题 - 无论如何我都不明白! Raster2pgsql运行,显然没有错误,产生SQL,运行SQL创建看起来非常像栅格。但是GeoServer无法显示它 - 特别是边界看起来很奇怪(0,0 -1,-1)和“预览图层”只会抛出NullPointerException。

有没有人在这条路上走了?我有基本的问题,因为不知道数据的SRID应该是什么(4326,也许?)。我不希望任何人为我调试我的问题,但如果有人已经使用这个工具链,或者其中的一部分,我可以插入已知好的东西,看看我能发现什么。

TIA,

RW

更新:Per Mike,这是来自其中一个文件的坐标系统内容;我在“gdalinfo”的输出中省略了其他749个乐队。请注意,文件名是不同的 - 我通过在我的原始文件上运行“gdalinfo”发现它出了问题,gdalinfo无法读取它。新(35MB!)文件here

Gdalinfo输出:

Driver: GRIB/GRIdded Binary (.grb)
Files: 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)
Band 1 Block=451x1 Type=Float64, ColorInterp=Undefined
  Description = 1[-] HYBL="Hybrid level"
  Metadata:
    GRIB_UNIT=[Pa]
    GRIB_COMMENT=Pressure [Pa]
    GRIB_ELEMENT=PRES
[Etc., Etc., for all 750 bands]

2 个答案:

答案 0 :(得分:1)

我希望这会有所帮助,至少是那些参与这个主题的人。

请记住,GeoServer虽然能够从PostGIS加载栅格数据,但默认的PostGIS"导入"模块仅适用于矢量数据,这就是为什么你得到那些奇数边界(-1 -1 0 0)。

您必须将ImageMosaicJDBC插件添加到地理服务器安装中,请按照此处的步骤操作!

http://docs.geoserver.org/latest/en/user/tutorials/imagemosaic-jdbc/imagemosaic-jdbc_tutorial.html

答案 1 :(得分:0)

对我的问题here给出了很好的答案。把它作为一个单独的答案。

他建议使用gdalwarp将GRIB2文件拉入已知的SRID,因此:

gdalwarp -t_srs EPSG:4326 original_file.grib2 4326_file.grib2

然后,raster2pgsql可以正常工作,例如

raster2pgsql -M -a 4326_file.grib2 some_sql.sql