PostGIS之空间投影

postgis,空间,投影 · 浏览次数 : 82

小编点评

**PostGIS 数据准备** 1. **空间数据库扩展 PostGIS** 添加了对地理对象的支持,允许在 SQL 中运行空间查询。 2. **SRID(空间参考系代码)** 是空间数据进行分析的基础,用于查询和计算。 3. **PostGIS 中的空间坐标系统 SRID** 是空间数据的空间参考系代码,可以通过 `ST_SRID` 查询。 4. **投影转换** 函数用于将坐标从一个空间参考系转换为另一个空间参考系,例如从 `SRID:26918` 到 `SRID:4326`。 5. **参考资料** 提供有关 PostGIS 数据准备的更多信息,包括空间投影、SRID 和投影转换函数。

正文

1. 概述

PostGIS 是PostgreSQL数据库一个空间数据库扩展,它添加了对地理对象的支持,允许在 SQL 中运行空间查询

PostGIS官网:About PostGIS | PostGIS

PostGIS官方教程:PostGIS 简介 — Introduction to PostGIS

PostGIS相关教程:文章目录汇总 - 知乎 (zhihu.com)

本文基于官方教程描述PostGIS中的空间投影

数据准备可参考:

数据介绍可参考:

2. 空间投影

空间投影是空间数据进行分析的基础,需要一个合适的坐标系才能进行计算

2.1 PostGIS中的空间坐标系统

SRID是PostGIS中空间数据的空间参考系代码,查询SRID使用:

  • ST_SRID (g1) Returns the spatial reference identifier for a geometry
  • ST_SetSRID (geom, srid) Set the SRID on a geometry
SELECT ST_SRID(geom) FROM nyc_streets ;
-- 结果为:26918

查询PostGIS中空间参考系的具体信息:

SELECT * FROM spatial_ref_sys WHERE srid = 26918;

image-20230104171834550

其中,srtext是是通用的空间坐标系统描述信息,和shapefile中.prj文件描述的信息类似,是其他GIS软件读取空间参考的信息源,proj4text列由PostGIS的内部程序使用

geometry_columns表(视图)记录了数据表的元数据,可以用来查询数据表的SRID:

SELECT * FROM geometry_columns;

image-20230104173822557

2.2 投影转换

PostGIS中提供的投影转换函数主要有:

  • ST_Transform(g1, srid) Return a new geometry with coordinates transformed to a different spatial reference system

将"Broad St"地铁站的坐标转换为地理坐标

-- 查询srid:26918 坐标系统下的坐标和srid:4326 地理坐标系的坐标
SELECT ST_AsEWKT(geom), ST_AsEWKT(ST_Transform(geom, 4326)) FROM nyc_subway_stations  WHERE name = 'Broad St';

image-20230104173428082

3. 参考资料

[1]16. Projecting Data — Introduction to PostGIS

[2]PostGIS教程十一:投影数据 - 知乎 (zhihu.com)

[3]PostGIS 3.3.3dev Manual

[4]PostGIS Cheat Sheet

与PostGIS之空间投影相似的内容: