从 ST_Raster 值提取栅格的子集
ST_Raster 子集函数将返回本身的子集作为 ST_Raster 值。如果在旧 ST_Raster 值中,您只需要一部分 ST_Raster 值(例如落在由地理坐标或像素坐标定义的范围内的像素),那么此函数可用于根据旧 ST_Raster 值创建新 ST_Raster 值。或者,可能只需要 ST_Raster 值的特定波段,也可能需要将输出限制为由范围定义的特定波段和像素。
在下面的示例中,使用子集函数根据地理坐标来提取巴黎市的范围。结果将插入到名为 Paris 的同一表的新记录中。子集的结果采用 JPEG 格式进行压缩,并且在插入之前,采用双线性插值法构建了金字塔。
步骤:
-
将 SQL 语句用于数据库管理系统。
Oracle
INSERT INTO URBAN_AREA (sde.st_raster, name) SELECT t.raster.subset( 'extent=(2.313,48.825,2.381,48.891)', 'compression=rgb,level=-1,bilinear'),'Paris' FROM URBAN_AREA t WHERE NAME = 'ALL_CITIES';
PostgreSQL
INSERT INTO urban_area (sde.st_raster, name) SELECT subset(raster, 'extent=(2.313,48.825,2.381,48.891)', 'compression=rgb,level=-1,bilinear'),'paris' FROM urban_area WHERE name = 'all_cities';
SQL Server
INSERT INTO urban_area (dbo.st_raster, name) SELECT raster.subset( 'extent=(2.313,48.825,2.381,48.891)', 'compression=rgb,level=-1,bilinear'),'Paris' FROM urban_area WHERE name = 'all_cities';
相关主题
7/10/2012