当前位置: 首页 > wzjs >正文

哈尔滨网站建设费用百度极速版免费下载

哈尔滨网站建设费用,百度极速版免费下载,卖商标的上哪个平台,企业模板建站有哪些前言 在地理信息系统(GIS)开发与空间数据处理中,将 Shapefile(Shp) 导入 PostGIS 空间数据库是常见且基础操作。无论是数据分析、地图可视化,还是空间计算,高效的数据迁移能力直接影响工作的流畅…

前言

在地理信息系统(GIS)开发与空间数据处理中,将 Shapefile(Shp) 导入 PostGIS 空间数据库是常见且基础操作。无论是数据分析、地图可视化,还是空间计算,高效的数据迁移能力直接影响工作的流畅性。

本文将介绍五种方法实现 Shp 数据导入到 PostGIS 空间数据库,这几种方式各有其特点和优势,读者可根据需求自行尝试。

创建空间拓展

无论使用五种方式中任何一种,在进行数据导入之前,都需要先创建空间拓展

安装完成PostgreSQL数据库和PostGIS插件之后,新建一个数据库进行测试,例子中我创建的数据库名称为geodata。之后需要启用空间拓展,也就是在数据库查询中运行以下语句。只有成功创建空间拓展,才能存储和管理空间数据。对于一些应用来说,启用postgispostgis_topology就已经足够了。
:::block-1
– pg 空间拓展

CREATE EXTENSION postgis;

– pg 拓扑工具

CREATE EXTENSION postgis_topology;

– pg 路由

CREATE EXTENSION pgrouting;

CREATE EXTENSION fuzzystrmatch;

CREATE EXTENSION postgis_tiger_geocoder;

CREATE EXTENSION address_standardizer;
:::
成功创建空间拓展后,刷新数据库,可以看到在数据库中多了一个表spatial_ref_sys,表结构内容如下,可以看出这是一个有关坐标系统定义的表。

1. PostGIS Bundle 导入 Shp 到 PostGIS 空间数据库

PostGIS Bundle提供了高效的工具,可将Shapefile (Shp)空间数据快速导入 PostgreSQL/PostGIS 空间数据库,支持几何对象、属性数据及空间参考的完整迁移。无论是单文件导入还是批量处理,均可通过命令行或图形化工具轻松完成。PostGIS Bundle for PostgreSQL 是一套专为 PostgreSQL 数据库设计的空间数据库扩展包,它显著增强了 PostgreSQL 在地理空间数据处理方面的能力。PostGIS 支持多种空间数据类型,并且具有强大的空间索引能力和丰富的空间函数,在空间数据处理和分析方面具有强劲的优势,是为空间数据库的首选。

详情请参考文章:PostGIS Bundle 导入 Shp 到 PostGIS 空间数据库

打开PostGIS Bundle插件,点击View connection details,填写数据库连接信息。用户名为postgres,填写密码、主机地址、端口号以及创建用于导入Shp的数据库,然后点击OK
:::block-1

  • Username:postgres
  • Password:your password
  • Server Host:localhost
  • Port:5432
  • Database:geodata
    :::

2. shp2pgsql 导入 Shp 到 PostGIS 空间数据库

shp2pgsqlPostGIS自带的命令行工具,用于将Shapefile文件声称SQL脚本导入到PostGIS空间数据库。

详情请参考文章:shp2pgsql 导入 Shp 到 PostGIS 空间数据库

shp2pgsql命令行工具与PostGIS工具集成在一起,无需单独下载。该命令行工具可以在安装路径下的bin目录中找到。

也可以打开shp2pgsql图形界面工具,也就是上一节中的PostGIS Bundle for PostgreSQL来导入Shp数据。

(1)直接导入到数据库:
:::block-1
shp2pgsql -s 4326 -I -W “UTF-8” C:\Users\hasee\Desktop\conutries\countries.shp public.countries | psql -U postgres -d geodata
:::
其中postgres数据库用户名,geodata为数据库名称。

(2)通过SQL导入数据库:
:::block-1
shp2pgsql -s 4326 -I -W “UTF-8” C:\Users\hasee\Desktop\conutries\countries.shp public.countriesSQL>C:\Users\hasee\Desktop\conutries\countries.sql
:::

3. ogr2ogr 导入 Shp 到PostGIS空间数据库

ogr2ogr属于GDAL库的一部分,是一款功能强大的开源命令行工具,主要用于处理和转换地理空间数据。它支持多种矢量数据格式转换,包括 ESRI Shapefile、GeoJSON、KML、GML、PostgreSQL/PostGIS、GeoPackage 等,是地理信息系统 (GIS) 数据处理的必备工具。

详情请参考文章:ogr2ogr 导入 Shp 到PostGIS空间数据库

ogr2ogr可以作为包含在QGIS中的一部分进行下载:https://qgis.org/download也可以直接下载OSGeo4W,然后在OSGeo4W Shell命令行执行导入语句。OSGeo4W Shell命令行执行以下语句可将Shp数据导入到PostGIS目标数据库。

:::block-1
ogr2ogr -f PostgreSQL PG:“dbname=geodata host=127.0.0.1 user=postgres port=5432 password=123456” C:\Users\hasee\Desktop\region\province.shp -nln province -nlt MULTIPOLYGON -lco GEOMETRY_NAME=geom -lco FID=gid -lco SPATIAL_INDEX=GIST
:::

  • ogr2ogr

可执行文件名称。根据需要设置,可以将可执行文件添加到PATH中,也可以使用可执行文件的完整路径。

  • -nln

nln选项表示新图层名称"new layer name",即在目标数据库中要创建的表名。

  • -nlt

nlt选项表示新图层类型"new layer type"。特别是对于Shapfile文件的输入,新的图层类型通常是"multi-part geometry",因此需要提前告知系统使用"MultiPolygon"而不是"Polygon"作为几何体类型。

  • -lco

lco选项表示图层创建选项"layer create option"。不同的驱动程序有不同的创建选项,这里显示PostgreSQL驱动程序选项。
:::block-1

  • GEOMETRY_NAME:设置几何图形列的列名。为了与数据库中几何字段标准名称相对应,可以使用"geom"
  • **FID:**设置主键列名。为了与数据库准名称相对应,可以使用"gid"
  • **PRECISION:**控制数字字段在数据库中的表示方式。加载Shapefile文件时的默认值是使用数据库"数字"类型,这比"整数"和"双精度"等简单数字类型更精确,但有时更难使用。使用"NO"来关闭"数字"类型。
    :::

4. QGIS DB Manager 导入 Shp 到 PostGIS 空间数据库

QGIS DB Manager 属于 QGIS 的数据库管理工具,允许用户直接连接、管理和操作多种类型的空间数据库, 包括 PostgreSQL/PostGIS、SpatiaLite、Oracle。利用此工具可以方便的导入导出空间数据,并且具备空间可视化能力。

详情请参考文章:QGIS DB Manager 导入 Shp 到 PostGIS 空间数据库

(1)下载QGISQGIS下载地址:https://qgis.org/download

QGIS DB Manager属于QGIS的数据库管理工具,它集成在QGIS软件包中,无需单独下载。

在使用QGIS DB Manager前,请确保已经安装完成PostGIS空间插件,并且为目标数据库创建空间拓展

(2)连接数据库如下图填写数据库连接信息:

Name:自定义名称,如下可以是数据库名称Service:服务实例名称,可选参数Host:主机地址Port:端口号Database:数据库名称

5. GeoTools 将 Shp 导入PostGIS 空间数据库

GeoTools 在空间数据转换处理方面具有强大的能力,能够高效、简洁的操纵 Shp 数据。特别是与空间数据库PostGIS 相结合,更能展示出其空间数据处理的优势,借助 GeoTools,我们可以实现 Shp 数据高效入库。

(1)环境搭建在进行GeoTools开发前,需要先完成一些准备工作。俗话说,工欲善其事,必先利其器,只有将前期工作做好了,才能更好的推进往后的开发工作。

以下是环境搭建的一些软件工具,包括JDKMaven以及IDE
:::block-1

  • JDK:当前例子中使用的JDK版本为11,需要先行下载,并设置好环境变量。
  • Maven:当前例子中使用的Maven版本是3.6.3,需要先行下载,并配置好仓库地址。
  • IDE:当前例子中使用的IDEIDEA 2020.3,需要先行下载,并进行项目配置。
  • GeoTools:当前例子中使用的版本是34-SNAPSHOT
    :::
    (2)下载依赖在以前依赖的基础上,需要下载以下两个包。对于其他依赖,请参考之前的文章。
<!-- postgis-jdbc -->
<dependency><groupId>org.geotools.jdbc</groupId><artifactId>gt-jdbc-postgis</artifactId> <version>${geotools.version}</version>
</dependency>
<!-- PostgreSQL 驱动 -->
<dependency><groupId>org.postgresql</groupId><artifactId>postgresql</artifactId><version>42.7.3</version>
</dependency>

(3)·········

详情请参考文章:GeoTools 将 Shp 导入PostGIS 空间数据库

OpenLayers示例数据下载,请回复关键字:ol数据

全国信息化工程师-GIS 应用水平考试资料,请回复关键字:GIS考试

【GIS之路】 已经接入了智能助手,欢迎关注,欢迎提问。

欢迎访问我的博客网站-长谈GIShttp://shanhaitalk.com

都看到这了,不要忘记点赞、收藏 + 关注

本号不定时更新有关 GIS开发 相关内容,欢迎关注 !

http://www.dtcms.com/wzjs/174262.html

相关文章:

  • 现在怎么建设一个网站营销 推广
  • 先备案 做网站今天合肥刚刚发生的重大新闻
  • 视频网站怎么引流网络营销具有什么特点
  • 自己用模板做网站关键词推广seo
  • 网站开发的技术意义sem推广代运营
  • 金泉网做的山东黄锈石网站有哪些市场营销产品推广策划方案
  • 做简单视频网站自己看周口网络推广哪家好
  • 百度最新秒收录方法2021网页seo搜索引擎优化
  • 零距离seo班级优化大师手机版下载(免费)
  • 网站界面设计如何实现功能美与形式美的统一?谷歌seo运营
  • 信阳网站建设哪家好seo优化范畴
  • 做网站的前景如何韶关seo
  • 吴忠住房和城乡建设局网站海外市场推广策略
  • 网站删除留言板功能删除地推拉新app推广接单平台免费
  • 城市建设招标网站佛山网站建设
  • wordpress微信公众号关注登陆sem和seo是什么
  • 重庆做网站建设找谁百度关键词排名十大排名
  • 怎么做网站的动效推广赚佣金
  • 政府统一建设网站的提议关键词查询网
  • 免费做网站空间什么软件可以推广
  • 电子商务网站开发开发背景高级seo是什么职位
  • 个人网站 icp微信代运营
  • 做推广的网站吗成都网站建设制作公司
  • 沧州做企业网站合肥瑶海区房价
  • 简书网站开发重庆百度推广优化
  • 武汉网站建设案例教程最新域名查询
  • wordpress的中文插件百度网站优化
  • 58网站为啥做不好潍坊百度快速排名优化
  • 企业网站建设服务公司武汉网络关键词排名
  • 长春网站如何制作中国营销网官网