Asp*_*1de 3 sql postgis geospatial spatial-query spatial-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);
Run Code Online (Sandbox Code Playgroud)
要将矩形插入some_table
:
INSERT INTO some_table (geom)
VALUES (ST_MakeEnvelope(SW_longitude, SW_latitude, NE_longitude, NE_latitude, 4326));
Run Code Online (Sandbox Code Playgroud)
如果列some_table
上还没有空间索引geom
,请创建它:
CREATE INDEX ON some_table USING gist (geog);
Run Code Online (Sandbox Code Playgroud)