postgis 创建一个面
时间: 2023-09-05 21:12:04 浏览: 82
要在PostGIS中创建一个面,你可以使用以下步骤:
1. 使用ogr2ogr命令将原始数据导入到PostgreSQL数据库中。例如,使用以下命令将名为xzqh.shp的shapefile导入到名为test的数据库中的表中:
```
ogr2ogr -f "PostgreSQL" PG:"host=localhost port=5432 dbname=test user=postgres password=1234" /test/原始数据/xzqh.shp -lco GEOMETRY_NAME=geom -lco FID=pk_uid -nlt PROMOTE_TO_MULTI -progress
```
\[1\]
2. 在数据库中创建一个拓扑模式(topology schema)。使用以下命令在名为bj_topo的拓扑模式中创建一个名为bj_bak的表,并添加一个名为topo_geom的拓扑几何列:
```
SELECT topology.AddTopoGeometryColumn('bj_topo', 'public', 'bj_bak', 'topo_geom', 'MULTIPOLYGON');
```
\[2\]
3. 更新bj_bak表,将几何信息列转换为拓扑几何列。使用以下命令将geom列转换为topo_geom列,并指定拓扑模式为bj_topo,图层id为1,容差为0.000000008983153:
```
UPDATE bj_bak SET topo_geom = topology.toTopoGeom(geom, 'bj_topo', 1, 0.000000008983153);
```
\[3\]
通过执行以上步骤,你将在PostGIS中成功创建一个面。
#### 引用[.reference_title]
- *1* *2* *3* [基于PostGIS拓扑进行shape面要素抽稀](https://blog.csdn.net/weixin_40751937/article/details/124309651)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]