ST_Polygon — 返回由像素值不是无数据值的像素联合形成的多边形几何图形。如果未指定波段号,则波段号默认为 1。
geometry ST_Polygon(
raster rast, integer band_num=1)
;
3.3.0 版本更改,为了提高性能,禁用验证和修复。可能导致无效的几何图形。
可用性:0.1.6 需要 GDAL 1.7 或更高版本。
增强功能:2.1.0 提高了速度(完全基于 C),并确保返回的多边形有效。
更改:2.1.0 在早期版本中,有时会返回一个多边形,现已更改为始终返回多边形。
-- by default no data band value is 0 or not set, so polygon will return a square polygon SELECT ST_AsText(ST_Polygon(rast)) As geomwkt FROM dummy_rast WHERE rid = 2; geomwkt -------------------------------------------- MULTIPOLYGON(((3427927.75 5793244,3427928 5793244,3427928 5793243.75,3427927.75 5793243.75,3427927.75 5793244))) -- now we change the no data value of first band UPDATE dummy_rast SET rast = ST_SetBandNoDataValue(rast,1,254) WHERE rid = 2; SELECt rid, ST_BandNoDataValue(rast) from dummy_rast where rid = 2; -- ST_Polygon excludes the pixel value 254 and returns a multipolygon SELECT ST_AsText(ST_Polygon(rast)) As geomwkt FROM dummy_rast WHERE rid = 2; geomwkt --------------------------------------------------------- MULTIPOLYGON(((3427927.9 5793243.95,3427927.85 5793243.95,3427927.85 5793244,3427927.9 5793244,3427927.9 5793243.95)),((3427928 5793243.85,3427928 5793243.8,3427927.95 5793243.8,3427927.95 5793243.85,3427927.9 5793243.85,3427927.9 5793243.9,3427927.9 5793243.95,3427927.95 5793243.95,3427928 5793243.95,3427928 5793243.85)),((3427927.8 5793243.75,3427927.75 5793243.75,3427927.75 5793243.8,3427927.75 5793243.85,3427927.75 5793243.9,3427927.75 5793244,3427927.8 5793244,3427927.8 5793243.9,3427927.8 5793243.85,3427927.85 5793243.85,3427927.85 5793243.8,3427927.85 5793243.75,3427927.8 5793243.75))) -- Or if you want the no data value different for just one time SELECT ST_AsText( ST_Polygon( ST_SetBandNoDataValue(rast,1,252) ) ) As geomwkt FROM dummy_rast WHERE rid =2; geomwkt --------------------------------- MULTIPOLYGON(((3427928 5793243.85,3427928 5793243.8,3427928 5793243.75,3427927.85 5793243.75,3427927.8 5793243.75,3427927.8 5793243.8,3427927.75 5793243.8,3427927.75 5793243.85,3427927.75 5793243.9,3427927.75 5793244,3427927.8 5793244,3427927.85 5793244,3427927.9 5793244,3427928 5793244,3427928 5793243.95,3427928 5793243.85),(3427927.9 5793243.9,3427927.9 5793243.85,3427927.95 5793243.85,3427927.95 5793243.9,3427927.9 5793243.9)))