# PostGIS 数据管理

## 空间数据模型

### OGC 几何图形

开放地理空间联盟（Open-Geospatial-Consortium，OGC）开发了简单功能访问（Simple-Features-Access，SFA）标准，提供了一种地理空间的数据模型。它定义了几何的基本空间类型，以及操作这些几何值以执行空间分析任务的操作。PostGIS 将 OGC 几何模型实现为 PostgreSQL 数据类型的 [geometry](https://postgis.net/docs/manual-3.5/using_postgis_dbmanagement.html#PostGIS_Geometry) 和 [geography](https://postgis.net/docs/manual-3.5/using_postgis_dbmanagement.html#PostGIS_Geography)。

几何是一种抽象的数据类型，几何数据值是其具体的子类型之一。子类型表示各种形状和各种维度的几何形状，包括基本类型的点 Point、线 LineString、线性环 LineRing、多边形 Polygon，以及集合类型的多点 MultiPoint、多线 MultiLineString、多面 MultiPolygon、几何对象几何 GeometryCollection。

几何值与一个 **空间参考系统 Spatial Reference System** 相关联，指示其嵌入的坐标系。空间参考系统由 SRID 编号标识，X 轴和 Y 轴的单位由空间参考系统决定。在平面参考系统中，X 和 Y 坐标通常代表东向和北向，而在大地测量系统中，它们代表经度和纬度。SRID 0 表示无限笛卡尔平面，其轴上没有分配单位。

### WKT 和 WKB

OGC SFA 规范定义了两种供外部使用的几何值表示格式：**Well-Known Text WKT** 和 **Well-Known Binary WKB**。

WKT：

* `POINT(0 0)`
* `POINT Z (0 0 0)`
* `POINT ZM (0 0 0 0)`
* `LINESTRING(0 0,1 1,1 2)`
* `POLYGON((0 0,4 0,4 4,0 4,0 0),(1 1, 2 1, 2 2, 1 2,1 1))`

WKB：

* WKT: `POINT(1 1)`
* WKB: `0101000000000000000000F03F000000000000F03`
* WKT: `LINESTRING (2 2, 9 9)`
* WKB: `0102000000020000000000000000000040000000000000004000000000000022400000000000002240`

## 几何数据类型

### PostGIS EWKB 和 EWKT

PostGIS 定义了扩展的 EWKB 和 EWKT 格式。它们提供 3D（XYZ 和 XYM）和 4D （XYZM） 坐标支持，并包括 SRID 信息。

EWKB 和 EWKT 用于 PostGIS 数据对象的”规范形式“。对于输入，二进制数据的规范形式是 EWKB，对于文本数据，接受 EWKB 或 EWKT。 这允许通过使用 `::geometry` 将 HEXEWKB 或 EWKT 中的文本值转换为几何值来创建几何值。 对于输出，二进制的规范形式是 EWKB，对于文本，规范形式是 HEXEWKB（十六进制编码的 EWKB）。

## 地理数据类型

地理坐标是以角度单位（度）表示的球坐标。

由于基础数学更复杂，因此为地理类型定义的函数少于为几何类型定义的函数。随着时间的推移，随着新算法的添加，地理类型的功能将扩展。作为一种解决方法，可以在几何和地理类型之间来回转换。

### 使用地理表

可以采用与几何相同的方式将数据插入地理表中。如果几何数据具有 SRID 4326，则几何数据将自动转换为地理类型。也可以使用 EWKT 和 EWKB 格式 以指定地理值。

### 何时使用地理数据类型

地理数据类型允许您将数据存储在经度/纬度坐标中，但有代价：

* 在地理上定义的函数比在几何上定义的函数少；
* 地理数据类型的处理函数，需要更多 CPU 时间来执行。

待选择的数据类型，应由正在构建的应用程序的预期工作区域来确定。例如，数据是跨越全球还是大片大陆区域，还是州、县或直辖市的本地数据。

* 如果数据包含在较小的区域中，可能会发现，就可用的性能和功能而言，选择合适的投影并使用 GEOMETRY 是最佳解决方案；
* 如果数据是整个地球或大陆，将能够构建一个系统，而无需担心地理投影的细节。保存经度/纬度数据并使用地理中定义的函数；
* 如果你不了解投影，并且不想了解它们，并且准备接受地理中可用功能的限制，那么使用地理可能比使用几何更容易。只需将数据加载为经度/纬度，然后从那里开始。

## 空间参考系

SRID: 0，

SRID: 4326，WGS-84，单位是角度

GCJ-02


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://gitbook.fantasticmao.cn/tech/shu-ju-ku/postgresql/postgis-shu-ju-guan-li.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
