4

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

由于 grib2 是 GDAL 支持的格式,因此提供的 raster2pgsql 实用程序应该能够将 grib2 直接插入到与 PostGIS 兼容的 SQL 中,一旦它存在,GeoServer 应该能够处理它。但是,我遇到了没有明显解决方案的问题——至少对我来说并不明显!Raster2pgsql 运行,显然没有错误,生成 SQL,运行 SQL 创建看起来非常像光栅的东西。但是 GeoServer 无法显示它——特别是边界看起来很奇怪 (0,0 -1,-1) 并且“预览层”只是抛出了 NullPointerException。

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

TIA,

读写

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

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]
4

2 回答 2

1

我希望这会有所帮助,至少那些来到这个线程的人。

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

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

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

于 2012-10-19T11:46:48.920 回答
0

在这里我的问题得到了很好的答案。把它作为一个单独的答案。

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

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

然后, raster2pgsql 工作得很好,例如

raster2pgsql -M -a 4326_file.grib2 some_sql.sql
于 2013-09-27T22:09:29.830 回答