在 PostGIS 中剪切栅格对象
Cut raster objects in PostGIS
我正在尝试使用带参考的 shapefile 切割栅格对象(来自 PostGIS table),从多边形区域提取栅格数据。我 objective 将剪裁光栅用于 R。
我是这样剪的:
CREATE TABLE clippingtable as (SELECT (ST_Union(ST_Clip(raster.rast, ST_Transform(polygon.geom, ST_SRID(raster.rast) ) ) ) )
FROM originalraster as raster, originalshape as polygon
WHERE ST_Intersects(raster.rast, polygon.geom))
gdalinfo 输出为:
$gdalinfo "PG:host=localhost port=5432 dbname='testdb' schema='public' table=clippingtable"
ERROR 1: Error retrieving raster metadata
gdalinfo failed - unable to open 'PG:host=localhost port=5432 dbname='testdb' schema='public' table=clippingtable'.
在 R 中我使用了这些函数:
dsn="PG:dbname=testdb host=localhost port=5432 table=clippingtable"
rgdal::GDALinfo(dsn)
readGDAL(dsn)
输出为:
"Error in .local(.Object, ...) : Error retrieving raster metadata"
原始table(切割前)我可以正常使用我的光栅。
知道我做错了什么吗?
谢谢。
结束了。我需要创建约束以在 table 列中加载空间信息。
我使用了PostGIS功能"AddRasterConstraints"解决了问题
函数文档:
http://postgis.net/docs/manual-2.2/RT_AddRasterConstraints.html
我正在尝试使用带参考的 shapefile 切割栅格对象(来自 PostGIS table),从多边形区域提取栅格数据。我 objective 将剪裁光栅用于 R。
我是这样剪的:
CREATE TABLE clippingtable as (SELECT (ST_Union(ST_Clip(raster.rast, ST_Transform(polygon.geom, ST_SRID(raster.rast) ) ) ) )
FROM originalraster as raster, originalshape as polygon
WHERE ST_Intersects(raster.rast, polygon.geom))
gdalinfo 输出为:
$gdalinfo "PG:host=localhost port=5432 dbname='testdb' schema='public' table=clippingtable"
ERROR 1: Error retrieving raster metadata
gdalinfo failed - unable to open 'PG:host=localhost port=5432 dbname='testdb' schema='public' table=clippingtable'.
在 R 中我使用了这些函数:
dsn="PG:dbname=testdb host=localhost port=5432 table=clippingtable"
rgdal::GDALinfo(dsn)
readGDAL(dsn)
输出为: "Error in .local(.Object, ...) : Error retrieving raster metadata"
原始table(切割前)我可以正常使用我的光栅。
知道我做错了什么吗?
谢谢。
结束了。我需要创建约束以在 table 列中加载空间信息。
我使用了PostGIS功能"AddRasterConstraints"解决了问题
函数文档: http://postgis.net/docs/manual-2.2/RT_AddRasterConstraints.html