已知:
圖層1:點(diǎn)層lacci所灸,具有一列人口數(shù)的值
圖層2:點(diǎn)層metro种玛,軌道交通站點(diǎn)
求解:
軌道交通周邊1000米內(nèi)的人口數(shù)
思路1:
將lacci點(diǎn)層中到metro點(diǎn)層中任意站點(diǎn)距離小于1000米的點(diǎn)都選出來跪削,然后做統(tǒng)計(jì)吴侦。
SELECT
a.*,
b.ID
FROM
lacci a,
metro b
WHERE
st_distance (
st_transform ( a.geom, 32651 ),
st_transform ( b.geom, 32651 )) < 1000
ORDER BY
a.ID;
思路2:
將lacci點(diǎn)層中到metro點(diǎn)層中最近的站點(diǎn)找出來畏铆,增加一列屬性為最近站點(diǎn)的主鍵編號双泪。再篩選到最近站點(diǎn)的距離小于1000米的點(diǎn)持搜。
SELECT
*
FROM
(
SELECT T.*,
ROW_NUMBER () OVER (
PARTITION BY T.lac,
T.ci
ORDER BY
dis
) rowid (
SELECT a.*,
b.ID AS metro_id,
st_distance (
st_transform ( a.geom, 32651 ),
st_transform ( b.geom, 32651 )) AS dis
FROM
lacci a,
metro b
WHERE
st_distance (
st_transform ( a.geom, 32651 ),
st_transform ( b.geom, 32651 )) < 1000
) T
) M
WHERE
rowid =1