如果我使用postGIS,如果我已经在存储几何体列,我应该存储lat和long列吗



我正在使用postGIS,我的客户会向我发送一个地理定位点的lat,lng

我将这些点作为GEOMETRY存储在数据库中的geometry列中。

现在,我需要客户端接收点,我想知道除了geometry之外还存储latlng是否有意义,这样每次我就不必使用postgis函数来计算几何图形中的点,尤其是对于具有点的实体列表。

好吧,这完全取决于应用程序对坐标的处理。如果您不需要对这些点执行任何复杂的操作,那么将它们作为分隔列中的数值就足够了——数字索引非常有效。

但是,使用geometrygeography数据类型有什么优点?

  • 坐标基于特定的SRS,若省略信息,则可以使用几何值(假定为WGS84(对其进行编码。如果你的客户使用的是不寻常的参考系统,那么仅仅看到两个数值是无法知道的。参见ST_SRID

  • PostGIS提供了1.3k个非常方便的功能,如ST_DistanceST_DWithin,并具有高效的spatial index

  • 通过WFS(Web Feature Services(或WMS(Web Map Service(等OGC标准,使用GeoServer等应用程序发布几何图形。

  • 轻松地将数据导入GIS,如QGIS或ArcGIS。

我认为使用geometrygeography数据类型几乎总是最好的选择,但在上述所有功能都不相关的情况下,可以使用数值。在您的情况下,我将坚持使用geometry数据类型,并使用PostGIS函数提供x,y坐标,就像您现在所做的那样。

相关内容

最新更新