在PostGIS中从BBOX坐标创建多边形几何图形

3

我有一张名为mytable的表,其中geom_bbox列中以文本字符串形式表示对象的Bounding BOX坐标,例如"548477,6591107,548493,6591121"。这些坐标以EPSG3301单位米表示。我想使用这些坐标创建多边形几何体,一个矩形几何体。

更多坐标示例:

"548477,6591107,548493,6591121"
"545827,6587929,545864,6588021"
"539646,6586576,539694,6586621"
"549054,6594762,549101,6594811"
"547131,6589014,547182,6589046"
"547131,6589014,547182,6589046"

使用PostGIS可以实现吗?

1个回答

4

如果您只有边界框,请使用函数ST_MakeEnvelope。该函数从4个坐标(2个点)创建一个矩形。首先使用string_to_array函数拆分文本,然后将结果用作坐标:

SELECT ST_MakeEnvelope(arr[1]::double precision,
                       arr[2]::double precision,
                       arr[3]::double precision,
                       arr[4]::double precision, 
                       3301) 
FROM (SELECT string_to_array(geom_bbox,',') AS arr FROM mytable) as foo;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接