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

网站建设方案及报价单域名

网站建设方案及报价单,域名,品牌推广网站怎样做,wordpress 插件 安装教程视频前言 在地理信息系统(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/196924.html

相关文章:

  • 网站推广公司简介安仁网络推广
  • 买了两台服务器可以做网站吗做一个企业网站需要多少钱
  • 重庆教育建设有限公司网站河南新站关键词排名优化外包
  • 陕西的网站建设公司排名seo技术培训价格表
  • 新手做网站视频重庆高端seo
  • 遵义网站建设公司网上代写文章一般多少钱
  • 雅奇小蘑菇做网站好不好用seo建站收费地震
  • 邢台网站制作平台广州市口碑seo推广
  • 网站建设建站网十八未成年禁用免费app
  • 食品公司湖南专业关键词优化
  • 电影网站怎么做laravel竞价推广代运营企业
  • wordpress索引国外seo网站
  • 从该网站复制嵌入代码怎么做关键词seo排名优化推荐
  • 一般网站的后台怎么做的发帖秒收录的网站
  • 哪个网站有淘宝做图的素材百度搜索引擎入口官网
  • 对网站建设过程网络推广方案的基本思路
  • 国家住房和城乡建设网站淘宝seo搜索引擎原理
  • saas建站平台有哪些域名排名查询
  • 制作营销网站模板seo怎么学
  • 成都哪家做网站比较好谷歌seo排名优化服务
  • 做视频开头动画网站互联网营销师考试题及答案
  • swf格式网站链接怎样做企业培训课程推荐
  • 帮人做网站收费合法吗哈尔滨seo优化软件
  • 西昌市住房与城乡建设厅网站电商关键词查询工具
  • 武汉网站建设报价百度竞价推广培训
  • 网站有什么类型投百度做广告效果怎么样
  • photoshop官网入口百度刷seo关键词排名
  • wordpress支持建多个站点吗太原seo
  • 网站上做值机的app惠东seo公司
  • 湖南自考网站建设与管理搜索引擎优化的英语简称