数据解释:
共三种数据,三张表,分别为点线面数据,其中:
pois4547为点数据,这里我假设其为兴趣点位表
roads4547为线数据,这里我假设其为道路表
buildings4547为面数据,这里我假设其为建筑物表
数据可从我上传的csdn资源下载:
点击跳转页面下载
1.例子:查询’宝安机场水渠污水口’点位附近400米的建筑物数据,(数据点位位置如下图所示黄点)
select *,ST_AsText(buildings4547.geom) from buildings4547
join pois4547
on ST_DWithin(buildings4547.geom,pois4547.geom,400)
where pois4547.name='宝安机场水渠污水口'
结果:如下图所示可查询到三个建筑物面:
其中包括最大的 “机场基地”面,以及肉眼可看到的黄色点位附近的 “宝安机场水渠”面跟“宝安机场水渠工作室”面
2.例子,查询’宝安机场水渠污水口’点位附近400米的建筑物数据和道路数据,(数据点位位置如上图所示黄点)
测试1:
select buildings4547.name,raods4547.name,pois4547.name from buildings4547
join pois4547
on ST_DWithin(buildings4547.geom,pois4547.geom,400)
join raods4547
on ST_DWithin(raods4547.geom,pois4547.geom,400)
where pois4547.name='宝安机场水渠污水口'
测试2
select b.geom,c.geom,b.name,c.name from
pois4547 as a,
raods4547 as b,
buildings4547 as c
where ST_DWithin(b.geom,a.geom,400)
and
ST_DWithin(c.geom,a.geom,400)
and
a.name='宝安机场水渠污水口'