我需要计算之间的距离
>所有建筑物和
>所有医院
在从OSM导入的地图中.
我使用以下查询:
SELECT building_id,hospital_id,ST_Distance(building_centroid,hospital_location)
FROM
(
select planet_osm_polygon.osm_id building_id,ST_Centroid(planet_osm_polygon.way) building_centroid
from planet_osm_polygon
where building = 'yes'
) buildings,(
select planet_osm_point.osm_id hospital_id,planet_osm_point.way hospital_location
from planet_osm_point
where amenity = 'hospital') hospitals
我得到奇怪的结果 – 距离总是小于1.
如何知道这些值被报告的单位?
更新1:样品结果:
更新2:此查询似乎工作
SELECT building_id,ST_Distance_sphere(building_centroid,hospital_location) distance
FROM
(
select planet_osm_polygon.osm_id building_id,ST_Centroid(planet_osm_polygon.way) building_centroid
from planet_osm_polygon
where building = 'yes'
) buildings,planet_osm_point.way hospital_location
from planet_osm_point
where amenity = 'hospital') hospitals
ORDER BY distance