几何中最近的地标

时间:2013-02-04 09:10:39

标签: php javascript jquery sql postgresql

我有一张名为map_places的表格,其中包含城市或国家信息以及相应的几何图形以及与该城市相关的许多其他信息。我的数据库系统是PostGIS。我的要求是:

我的应用程序的输入将是几何体,其可能或许多不是存储在DB中的精确几何体。我需要在输入几何的帮助下从表中找到最近的城市信息。该输入不是由系统用户提交的。任何帮助都非常感谢。

是否有可用于此的最近邻居实现或SQL来处理此

1 个答案:

答案 0 :(得分:1)

这里的行'location'是你的项目的坐标(整数或浮点数)。 $ id - 表'map_places'中所需项目的ID。此查询的结果将是项目的ID,该项目的ID位置最接近您已传入查询的ID项目的位置

SELECT * FROM(
SELECT T2.id, abs(T1.location-T2.location) as DIF
FROM  map_places T1, map_places T2
WHERE T1.id = $id AND T1.id<>T2.id
order by T1.id) as RES
WHERE DIF = (SELECT min(abs(T1.location-T2.location))
FROM  map_places T1, map_places T2
WHERE T1.id=$id AND T1.id<>T2.id)