存储经度/纬度

时间:2017-08-27 19:29:06

标签: postgresql maps gis postgis

我需要存储并提供长/纬度坐标并在谷歌地图上显示。我需要存储点,线和多边形。然后在它们上添加元数据以生成信息。

目前正在研究postgis,这似乎有点吸收。现在我想知道我是否需要深入研究它。

建议将空间数据库用于上述目的吗?或者使用float / decimal列进行long / lat很好吗?

2 个答案:

答案 0 :(得分:2)

  

目前正在研究postgis,这似乎有点吸收。现在我想知道我是否需要深入研究它。是否建议将空间数据库用于上述目的?或者使用float / decimal列进行long / lat很好吗?

吸收很多。存储为浮点/小数不会让你失望。什么都没有。空间函数需要空间类型。你得学习它。你不必学习所有这些,但你必须学习它。并且,开始并不难。

CREATE TABLE foo(id,geom)
AS
  VALUES ( 1, ST_MakePoint(long,lat)::geography );

我强烈建议PostGIS in Action 2nd Edition

答案 1 :(得分:1)

如果您需要的只是存储和放弃,那么浮点/小数列就足够了。但是,如果要查询空间关系(点是否位于多边形内,多边形是否相交等),您最好使用PostGIS,或者使用MySQL扩展来获取空间数据。