sql - 从 PostGIS 中的 BBOX 坐标创建多边形几何

标签 sql geometry polygon postgis

我有一个表 mytable,其坐标表示对象的 Bounding BOX 作为 geom_bbox 列中的文本字符串,例如 "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 有可能吗?

最佳答案

如果您只有边界框,请使用函数 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;

关于sql - 从 PostGIS 中的 BBOX 坐标创建多边形几何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35008973/

相关文章:

mysql - 错误 1005 无法创建添加外键的表

mysql - 如何编写这样的查询?

php - 关闭ajax调用的连接

C# 相当于 Google Maps API 的 computeArea

r - 在带有R的传单 map 上显示SpatialPolygonsDataFrame

javascript - 检测折线是否与多边形相交

sql - 选择数字组合与整数 SQL 的一部分匹配的位置

javascript - JavaScript 中的球面距离

math - 逆双线性插值?

python - Shapely : "shapely.geos.TopologicalError: The operation ' GEOSIntersection_r' produced a null geometry"中的多边形相交错误