利用PostGIS自带工具导入shp数据

一、shapefile导入PostGIS


1、利用PostGIS自带工具导入

开始程序搜索如下工具

在这里插入图片描述 

打开工具界面如下图,点击View conncetion details进行数据库连接,点击Add File进行Shapefile所在路径加载,点击Option进行编码设置,设置完成后点击Import进行导入。

 

设置中勾选区分大小写:

 

导入成功,数据库增加表,字段中包含 the_geom空间字段。

如果编码格式不对,将出现如下错误

在这里插入图片描述

用QGIS打开shp图层,查看图层属性编码类型,如下图显示是UTF-8

打开shp图层属性表发现中文字段乱码

此时在QGIS中将图层编码修改为system,再打开属性表,中文正常显示,将图层save as(编码为UTF-8)后再按上面方法导入即可。

最后编写系统对应图层,编辑数据库名称与数据来源是PostGIS

2、利用命令行导入

在postgresql安装路径下打开cmd

输入shp2pgsql 可查看相应命令

windows导入命令如下

shp2pgsql -s 4326 -W GBK -f 路径/文件名.shp 新建的数据表名 数据库名|psql -h localhost -U 用户名 -p 5432 -P 密码 -d 数据库名 

linux导入命令如下



二、PostGIS导出shapefile


1、PostGIS自带工具切换至export
2、pgsql2shp命令

### 使用 PostGIS 导入 SHP 文件 为了成功将 SHP 文件导入 PostgreSQL 数据库并利用 PostGIS 的功能,需遵循一系列特定的操作流程。 #### 创建支持 GIS 功能的数据库环境 确保所使用的 PostgreSQL 数据库已具备处理地理空间数据的能力。这涉及向目标数据库添加必要的扩展组件[^2]: - `fuzzystrmatch`:用于字符串相似度匹配的功能模块; - `postgis`:核心的空间对象类型及其函数集合; - `postgis_tiger_geocoder` 和 `postgis_topology`:提供额外的地名编码及拓扑结构操作能力。 这些扩展可通过 SQL 命令或图形界面工具来完成部署。 #### 准备工作 确认待上传的数据集(即 SHP 文件及相关辅助文件如 DBF、PRJ 等)位于同一目录下,并保持命名一致性以避免潜在错误[^4]。此外,应尽量简化文件路径,防止因过长而引发的技术难题。 #### 执行导入命令 采用 `shp2pgsql` 工具执行实际的数据迁移任务。此工具能够读取本地磁盘上的 Shapefile 并将其转化为适用于 PostgreSQL/PostGIS 表格的形式。具体指令如下所示[^1]: ```bash shp2pgsql -c -s 4326 /path/to/your/shpfile.shp target_table_name | psql -d destination_dbname -U username ``` 其中: - `-c`: 指定创建新的表格而非追加现有表; - `-s 4326`: 设定输入坐标系统的 EPSG 编码为 WGS84 (经纬度),可根据实际情况调整; - `/path/to/your/shpfile.shp`: 完整路径指向源 SHP 文件位置; - `target_table_name`: 自定义的目标表格名称; - `destination_dbname`: 目标数据库的名字; - `username`: 登录 PostgreSQL 实例所需的用户名。 以上步骤完成后即可实现从 SHPPostGIS 数据库的有效传输。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值