我应该使用几何类型还是地理类型?
地理类型非常适合数据具有全球范围且不想了解投影坐标系的人员。但是,在球面上进行计算非常昂贵,因此许多查询在地理中的速度将比在几何中慢。
此外,由于球体上的计算很棘手,因此仅直接为地理实现了一部分函数。特别是,以下空间函数对球体/椭球体进行计算,并在可能的情况下使用空间索引。
- ST_Area
- ST_Azimuth
- ST_CoveredBy
- ST_Covers
- ST_DWithin
- ST_Distance
- ST_Intersects
- ST_Length
- ST_Perimeter
- ST_Project
- ST_Segmentize
geometry 类型易于理解,并表示笛卡尔平面上的数据。PostGIS 中的所有矢量函数都针对几何进行处理。如果你的数据还没有平面“空间参考系统”,你必须为其选择一个,但之后你的所有计算都将非常简单,并且运行速度将比地理快得多。
如果你可以将数据拟合到平面坐标系(如果其范围不是真正全局),则应考虑使用geometry 而不是地理。