^ 关注我,带你一起学GIS ^
前言
❝
shp2pgsql
是PostGIS
自带的命令行工具,用于将Shapefile
文件声称SQL
脚本导入到PostGIS
空间数据库。
1. 安装 PostGIS
通过Application Stack Builder
或者下载单独的PostGIS
包进行安装。而
shp2pgsql
则是与PostGIS
工具集成在一起,无需单独下载。该命令行工具可以在安装路径下的bin
目录中找到。
也可以打开shp2pgsql
图形界面工具,也就是上一节中的PostGIS Bundle for PostgreSQL来导入Shp数据。
2. shp2pgsql 选项参数
基本语法:
shp2pgsql [OPTIONS] shapefile路径 [schema.]table > roads.sql(输出SQL路径)
shp2pgsql [OPTIONS] shapefile路径 [schema.]table
选项介绍:
选项名称 |
选项描述 |
选项示例 |
|
互斥选项,只能选择一个
|
|
|
输出数据使用 |
|
|
使用指定的 |
shp2pgsql -s 4326 C:countries.shp public.countriesSQL>C:countries.sql |
|
保持标识符的大小写(列、模式和属性)。请注意, |
|
|
将所有整数强制转换为标准的32位整数,即使 |
|
|
在几何体列上创建GiST索引。 |
|
|
-m a_file_name指定一个文件,其中包含一组(长)列名到10个字符的DBF列名的映射。文件的内容是一行或多行两个名称,用空格分隔,没有尾随或前导空格。 例如: COLUMNNAME DBFFIELD1 AVERYLONGCOLUMNNAME DBFFIELD2 |
|
|
生成简单的几何图形,而不是 |
|
|
强制输出几何体具有指定的维度。使用以下字符串表示维度: 如果输入的维度比指定的少,则输出将用零填充这些维度。如果输入具有指定的更多尺寸,则不需要的尺寸将被删除。 |
|
|
输出 |
|
|
不使用事务,单独执行每条语句。当存在一些会产生错误的不良几何形状时,这允许加载大多数好数据。请注意,这不能与-D标志一起使用,因为“转储”格式总是使用事务。 |
|
|
指定输入数据的编码( |
shp2pgsql -s 4326 -I -W “UTF-8” C:countries.shp public.countriesSQL>C:countries.sql |
|
|
|
|
|
|
|
在 |
|
|
指定新表的表空间。除非同时使用 |
|
|
为新表的索引指定表空间。这适用于主键索引,也适用于 |
|
|
使用此标志时,将阻止生成 |
|
|
显示帮助 |
|
可以在命令行窗口中查看完整选项参数:
3. shp2pgsql 使用示例
直接导入到数据库:
shp2pgsql -s 4326 -I -W “UTF-8” C:\Users\hasee\Desktop\conutries\countries.shp public.countries | psql -U postgres -d geodata
其中postgres
数据库用户名,geodata
为数据库名称。
通过SQL导入数据库:
shp2pgsql -s 4326 -I -W “UTF-8” C:\Users\hasee\Desktop\conutries\countries.shp public.countriesSQL>C:\Users\hasee\Desktop\conutries\countries.sql
数据库示例图片
❝
OpenLayers示例数据下载,请在公众号后台回复:ol数据
全国信息化工程师-GIS 应用水平考试资料,请在公众号后台回复:GIS考试
❝
GIS之路公众号已经接入了智能助手,欢迎大家前来提问。
欢迎访问我的博客网站-长谈GIS:
http://shanhaitalk.com
都看到这了,不要忘记点赞、收藏+关注 哦!
本号不定时更新有关 GIS开发 相关内容,欢迎关注