Postgres地理位置:找到半径的POI

时间:2017-02-13 12:37:39

标签: postgresql geolocation geocoding geospatial postgis

我有一个Postgres数据库表,其中包含以下架构:

POIUid SERIAL PRIMARY KEY,
POI_Name VARCHAR(50) NOT NULL,
Lat DOUBLE PRECISION,
Lon DOUBLE PRECISION

我想在5公里范围内搜索最近的POI。 我读到,为了加快搜索速度,我需要使用PostgeSQL的Geospatial函数,并在POINT类型的表COORDINATES中创建一个新列。

  1. 我应该只使用cubeearthdistance个扩展程序,还是postgis扩展程序?
  2. 如何使用Lat / Lon字段中的数据填充新列?
  3. 我认为我必须在新的COORDINATES列上创建索引,这些值必须是唯一的吗?
  4. N.B。我已经在表中拥有超过300万个POI,在Lat / Lon上有数千个重复数据。

    非常感谢任何帮助。

0 个答案:

没有答案