我需要找出 shape_area 大于 1000m^2 的城市之間的最小距離。我正在使用 Postgresql 和 PostGis,我的表如下所示:
CREATE TABLE "cities" (gid serial,
"city_id" int4,
"city" varchar(21),
"shape_area" numeric);
SELECT AddGeometryColumn('','cities','geom','26986','MULTIPOLYGON',2);
uj5u.com熱心網友回復:
假設EPSG:26986已經以米為單位,將表與自身連接起來,只ST_Area過濾面積大于1000平方米的記錄。之后使用min()aGROUP BY來獲得最短距離:
SELECT t1.city, t2.city, min(ST_Distance(t1.geom,t2.geom))
FROM cities t1
JOIN cities t2 ON
t1.gid <> t2.gid AND
ST_Area(t1.geom) > 1000 AND
ST_Area(t2.geom) > 1000
GROUP BY 1,2;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/355169.html
標籤:sql PostgreSQL 邮局 空间的
