EPSG是什么?WKT是什么?SRID是什么?EPSG、WKT、SRID概念

本文介绍了EPSG(欧洲石油调查组织)及其在坐标参照系统中的作用,详细阐述了WKT(Well-Known Text)在表示几何对象和空间参照系统中的应用,并解释了SRID(空间引用标识符)的概念及其在空间数据中的重要性。内容涵盖各种EPSG编码的含义,以及WKT和SRID在GIS和数据库中的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. EPSP的英文全称是European Petroleum Survey Group,中文名称为欧洲石油调查组织(http://www.epsg.org/)。这个组织成立于1986年,2005年并入IOGP(International Association of Oil & Gas Producers),中文名称为国际油气生产者协会。它负责维护并发布坐标参照系统的数据集参数,以及坐标转换描述,该数据集被广泛接受并使用,通过一个Web发布平台进行分发,同时提供了微软Acess数据库的存储文件,通过SQL 脚本文件,mySQL, Oracle 和PostgreSQL等数据库也可使用。
目前已有的椭球体,投影坐标系等不同组合都对应着不同的ID号,这个号在EPSG中被称为EPSG code,它代表特定的椭球体、单位、地理坐标系或投影坐标系等信息。EPSG对世界的每一个地方都制定了地图,但是由于座标系不同,所以地图也各不相同。

中国地图比如对于中国来讲,以地球的几何球心为中心的地图就是EPSG:4479,以地球的椭球焦点为中心就是EPSG:4480,此外还有EPSG:4490,因为选择不同的座标系对于油气勘探的成本至关重要,所以有不同的座标系。

世界地图EPSG:4326在世界地图方面,EPSG:4326是比较著名的一个,因为由美国主导的GPS系统就是在用它,它还有一个名气更大的别名叫作WGS84,WGS(World Geodetic System)是世界大地测量系统的意思,由于是1984年定义的,所以叫WGS84,之前的版本还有WGS72、WGS66、WGS60。EPSG:3857另一个比较知名的编码是EPSG:3857,这也是一张世界地图,目前主要是各大互联网地图公司以它为基准,例如Google地图,Microsoft地图都在用它。

所有这些EPSG编码的具体含义都可以在 https://epsg.io/ 这个网站上查到。

2.   WKT,是一种文本标记语言,用于表示矢量几何对象、空间参照系统及空间参照系统之间的转换。它的二进制表示方式,亦即WKB(well-known binary)则胜于在传输和在数据库中存储相同的信息。该格式由开放地理空间联盟(OGC)制

<think>我们正在处理一个关于在QGIS中加载WKT格式的PolygonZ数据的问题。用户之前询问了如何使用C++和Boost.Geometry解析WKTPolygonZ,现在转向了QGIS工具。根据引用内容,我们知道WKT是一种常用的几何数据文本表示格式。QGIS作为GIS软件,自然支持WKT的导入。解决方案:1.使用QGIS的"坐标捕获"面板中的"以WKT绘制"工具手动绘制。2.通过文本文件或图层属性表中的字段导入WKT数据(使用“添加虚拟图层”或“从文本图层导入”)。下面给出详细的步骤:方法一:使用QGIS的“坐标捕获”面板绘制(适用于少量数据)步骤:1.打开QGIS,确保“坐标捕获”面板可见(视图->面板->坐标捕获)。2.在坐标捕获面板中,选择“以WKT绘制”选项卡。3.在文本框中输入PolygonZ的WKT字符串,例如:POLYGONZ((000,050,550,500,000))4.点击“绘制”按钮,该几何图形将作为临时图层添加到画布上。方法二:通过文本文件导入(适用于批量数据)1.准备一个文本文件(如CSV),其中至少包含一个列(例如“wkt_geom”)存储WKT字符串,每行一个PolygonZ。wkt_geom"POLYGONZ((000,050,550,500,000))""POLYGONZ((111,161,661,611,111))"2.在QGIS中选择“图层”->“添加图层”->“添加文本数据图层...”。3.在对话框中:-文件格式:CSV-文件名:选择你的CSV文件-几何定义:选择“WKT”-几何字段:选择包含WKT字符串的列名(如“wkt_geom”)-几何类型:如果知道具体的几何类型(如PolygonZ),可以手动选择,但通常QGIS能自动识别。-确保“文件包含几何定义”已勾选。-坐标系:选择正确的坐标系(如果知道SRID,例如EPSG:4326)4.点击“添加”,然后点击“关闭”。如果导入成功,图层将出现在QGIS中。注意:如果WKT字符串中包含Z坐标,QGIS会自动创建3D几何图形。在属性表中,可以通过表达式`z($geometry)`来获取点的Z值。方法三:通过虚拟图层(适用于存储在数据库表或现有图层字段中的WKT)1.如果WKT字符串存储在现有图层的属性表中,可以创建一个虚拟图层:-菜单“图层”->“添加图层”->“添加/编辑虚拟图层...”-在查询中,使用`GeomFromText(WKT_column)`将文本转换为几何图形,例如:SELECTid,GeomFromText(wkt_column)asgeometryFROMexisting_table-注意:确保wkt_column字段中的字符串是有效的WKT,并且包含Z坐标。2.执行查询,然后添加该虚拟图层。验证3D效果:在QGIS中,默认的2D视图可能不会显示Z坐标。你可以:-使用表达式(在标注或符号化中)显示Z值。-如果需要进行3D可视化,可以使用QGIS的3D视图(视图->新建3D地图视图),并将图层的3D属性设置为基于Z坐标的高度。如果遇到导入问题,检查以下内容:-WKT格式是否正确(例如,括号匹配,坐标之间用逗号分隔,坐标点之间用空格分隔,闭合多边形首尾点相同)。-确保在PolygonZ中每个点都有三个坐标值。-如果WKT字符串中包含Z但导入后没有Z坐标,可能是QGIS识别错误,尝试在几何类型中强制指定为PolygonZ(在添加文本图层时设置几何类型为“Polygon25D”或“PolygonZ”)。注意:QGIS中三维几何的类型称为“Polygon25D”(即带有Z值的2.5维),但WKT中使用“Z”标识。示例:有效的PolygonZWKT```wktPOLYGONZ((000,050,550,500,000))```附加说明:QGIS内部使用GEOS库来解析WKT,因此遵循OGC标准。如果遇到不支持的语法(如M值、曲线等),可能需要简化WKT。现在生成相关问题:</think> ### 在 QGIS 中加载 WKT 格式的 PolygonZ 数据 #### 📌 核心解决方案(3 种方法) 1. **文本文件导入法**: ```mermaid graph TD A[创建CSV/TXT文件] --> B[包含WKT字段] B --> C[文件格式:<br>geom<br>\"POLYGON Z((0 0 0, 0 5 0, 5 5 0, 5 0 0, 0 0 0))\...\"] C --> D[图层→添加图层→添加文本图层] D --> E[几何定义→WKT<br>选择geom字段] ``` 2. **属性表创建法**: ```python # QGIS Python控制台示例代码 layer = iface.activeLayer() layer.dataProvider().addAttributes([QgsField("wkt_geom", QVariant.String)]) layer.updateFields() # 添加WKT数据 with edit(layer): feat = QgsFeature(layer.fields()) feat.setAttribute("wkt_geom", "POLYGON Z((0 0 0, 0 5 0, 5 5 0, 5 0 0, 0 0 0))") layer.addFeature(feat) ``` 3. **虚拟图层法**: ```sql -- 新建虚拟图层SQL CREATE TABLE poly3d AS SELECT 1 AS id, GeomFromText('POLYGON Z((0 0 0, 0 5 0, 5 5 0, 5 0 0, 0 0 0))') AS geometry ``` #### 🔍 详细操作指南(文本文件导入) 1. **准备数据文件**: - 创建 `polyz_data.csv`: ``` id,geom 1,"POLYGON Z((0 0 0, 0 5 0, 5 5 0, 5 0 0, 0 0 0))" 2,"POLYGON Z((1 1 1, 1 6 1, 6 6 1, 6 1 1, 1 1 1))" ``` 2. **导入QGIS**: - `图层 → 添加图层 → 添加文本图层` - 设置参数: - 文件格式:CSV - 几何定义:WKT - 几何字段:选择包含WKT的列名(如`geom`) - 坐标系:指定EPSG(如EPSG:4326) 3. **3D可视化**: - 加载后在图层右键 → `属性` - 启用3D渲染: ```mermaid graph LR A[3D视图] --> B[高程] B --> C[使用顶点z值] C --> D[设置缩放因子] ``` #### ⚠️ 关键注意事项 1. **WKT格式要求**: - 必须包含`Z`标识符:`POLYGON Z(...)` - 每个顶点必须是三维:`X Y Z`(如`5 0 0`) - 首尾点需闭合:`POLYGON Z((0 0 0, ... , 0 0 0))` 2. **数据验证工具**: - 处理完成后运行`矢量 → 几何工具 → 检查几何有效性` - 修复错误:`z(qgis_geometry) > 0` 验证Z值 3. **坐标转换**: $$ \text{变换矩阵} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos\theta & -\sin\theta \\ 0 & \sin\theta & \cos\theta \end{bmatrix} $$ 在QGIS中使用:`处理 → 工具箱 → 仿射变换` #### 💡 应用场景示例 ```mermaid pie title QGIS中3D多边形应用场景 “地形建模” : 45 “地质层分析” : 25 “建筑体量” : 20 “管道网络” : 10 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值