大家好,我有一个问题:我如何在 postgis 数据库中插入一个带有 Ne_latitude、NE_longitude、SW_latitude、SW_longitude 的框(矩形),并在顶部构建一个 INDEX 以检索不同框之间的交集?
提前致谢
大家好,我有一个问题:我如何在 postgis 数据库中插入一个带有 Ne_latitude、NE_longitude、SW_latitude、SW_longitude 的框(矩形),并在顶部构建一个 INDEX 以检索不同框之间的交集?
提前致谢
使用ST_MakeEnvelope构建矩形几何体。它可用于使用重叠运算符some_table
从(与几何列geom
)检索边界框的交集:&&
SELECT *
FROM some_table
WHERE geom && ST_MakeEnvelope(SW_longitude, SW_latitude, NE_longitude, NE_latitude, 4326);
要将矩形插入some_table
:
INSERT INTO some_table (geom)
VALUES (ST_MakeEnvelope(SW_longitude, SW_latitude, NE_longitude, NE_latitude, 4326));
如果列some_table
上还没有空间索引,请创建它:geom
CREATE INDEX ON some_table USING gist (geog);