【发布时间】:2023-04-11 09:35:01
【问题描述】:
我正在讨论为 Postgres 安装 PostGIS 扩展。但是,从 Postgres 本身的类型来看,它似乎支持基本的Geometric types,包括:
8.8.1. Points
8.8.2. Lines
8.8.3. Line Segments
8.8.4. Boxes
8.8.5. Paths
8.8.6. Polygons
8.8.7. Circles
那么,使用 PostGIS 的用例是什么?在处理空间数据时 Postgres 本身不会给我带来什么? (忽略 UI 考虑)。
【问题讨论】:
-
嗯,简而言之,在平面上发生的二维几何与在椭圆体上发生的地理空间几何之间存在差异(在某些情况下可能可以忽略不计,而在其他情况下则不然……)。 “GIS”中的“g”代表“geo(graph(y|ic)?)”,所以是后者。
-
地理空间计算变得非常复杂。 (搜索“haversine 公式”)。那是为了点对点距离的简单操作。 Postgis 提供了一套完整的地理空间功能; Postgres 本身不包含这些功能。
-
@Belayer 我明白了。为什么 postgres 没有任何
ST_函数?它似乎只是有一些可以使用的常见“形状”。 -
如果您确实需要地理空间计算,那么 PostGIS 就没有办法了。如果您只需要存储(几何)形状,那么核心 Postgres 就足够了。对几何形状的操作不同于对地理空间对象的操作。
标签: postgresql gis postgis spatial