当前位置:网站首页>postgis空间数据导入及可视化
postgis空间数据导入及可视化
2022-08-10 17:56:00 【yelangking1】
众所周知,postgis是一个开源的高性能空间数据库,其基于postgresql数据库进行扩展,完整支持OGC标准,同时提供了空间管理及空间分析等丰富的函数支撑。
当你拿到矢量数据后,为了让大家进行共享数据,而不是依赖于读取文件这种方式进行数据读取,可以采用数据库这种方式进行分享。同时可以基于标准sql进行数据操作,提高数据处理与分析效率。
本文将以矢量数据为例,分享三种常见的矢量数据导入到postgis数据库的方法。同时在pgadmin中进行空间数据的可视化。
一、系统操作环境说明:
1、操作系统:windows7 专业版 64位
2、gdal 3.4
3、postgis 12
4、postgresql 12
二、需要提前配置好的环境
1、在postgresql中创建一个数据库,安装后执行以下postgis扩展。
CREATE EXTENSION postgis;2、执行以下语句,如果没有报错,说明扩展安装成功
SELECT ST_SetSRID(ST_Point(-87.71,43.741),4326),ST_GeomFromText('POINT(-87.71 43.741)',4326)三、使用postgis shapefile 导入工具
1、打开postgis shapefile导入工具,点击开始,找到postgis工具

2、打开后看到以下页面

3、配置postgis连接

4、选择需要导入的shapefile文件。

5、选择文件后,点击import将矢量数据导入到postgis中

四、使用gdal的ogr2ogr命令进行导入
1、在gdal的bin\gdal\apps目录下,可以看到有很多gdal提供的命令行函数,通过调用这些命令行函数可以完成许多空间数据处理,分析。其中ogr2ogr就是一个矢量数据处理命令。
2、ogr2ogr函数说明

这里简单说几个比较常用的参数:
# -loc LAUNDER=NO -- 为了保持数据名,字段的是大小写区分的,不然会默认为小写字母。lco GEOMETRY_NAME=geom 将空间字段重命名。-nln biz_china3 表示对图层导入后表名进行修改。
参考命令如下:
ogr2ogr.exe -f PostgreSQL PG:"host=localhost port=5432 user=postgres password=postgres dbname=yelang_test" F:/vector_data/other/gdal_demo_data/china-data/china.gdb -overwrite -progress --config PG_USE_COPY YES -lco LAUNDER=YES -lco GEOMETRY_NAME=geom -nln biz_china3五、使用geotools结合gdal进行更多自定义处理
关于使用geotools进行矢量数据导入的例子,可以参阅之前的博客,基于GeoTools的GeoJson导入到PostGis实战以及干货!使用Geotools解析shap数据实例。
六、使用pgadmin查看导入的空间数据


总结:本文重点介绍在postgis中,三种矢量数据的导入管理方式,分别是使用postgis导入工具、gdal的ogr2ogr函数以及编程式。其中,编程式的灵活度最高,还可以自定义处理逻辑,但对研发人员要求较高。其它两种使用成本低,开箱即用。各位可以根据自身业务需要进行选型采用。采用编程式导入还有一个好处就是可以进行投影和坐标转换,而前两者都会或多或少存在一些问题。希望文章对您有帮助,欢迎指正交流。
边栏推荐
- flex使用align-content无效
- 【图像分割】基于元胞自动机实现图像分割附matlab代码
- requires ‘angle‘ attribute to be a multiple of 45
- 6-10 二分查找(20分)
- 【ARK UI】HarmonyOS ETS的引导页的实现
- R语言使用ggpubr包的ggbarplot函数可视化柱状图、设置add参数为mean_se和jitter可视化不同水平均值的柱状图并为柱状图添加误差线(se标准误差)和抖动数据点分布
- 函数柯里化(curry)
- WebRTC源码分析 nack详解
- Toronto Research Chemicals农药检测丨Naled-d6
- 背景视频铺满盒子
猜你喜欢

Go 语言快速入门指南:第四篇 与数据为舞之数组

自动化测试 RobotFramework安装以及使用教程

「企业架构」什么是Zachman框架?

关于奉加微PHY62xx系列如何选型?PHY6222/PHY6212/PHY6252

接口测试进阶接口脚本使用—apipost(预/后执行脚本)

Before opening a futures account, you must confirm the handling fee as soon as possible

Flexsim 发生器设置label和颜色

破解校园数字安全难点,联想推出智慧教育安全体系

【HMS core】【FAQ】AR Engine、Analytics Kit、Video Editor Kit、Image Kit、Map Kit典型问题合集2

【独立站运营】做社交媒体营销的两大关键点
随机推荐
Xilinx FPGA收发器参考时钟设计应用
21天打卡挑战学习MySQL——《MySQL表管理》第二周 第五篇
【Web3 系列开发教程——创建你的第一个 NFT(8)】如何开发一个成功的 NFT 项目 | NFT 社区建设技巧
报告详解影响英特尔10/11/12代酷睿处理器的ÆPIC Leak安全漏洞
Go 语言快速入门指南:第四篇 与数据为舞之数组
施工企业数字化转型解决方案设计思路
requires ‘angle‘ attribute to be a multiple of 45
6月各手机银行活跃用户较快增长,创半年新高
HarmonyOS自动化测试框架—Hypium
Toronto Research Chemicals萜烯分析丨(+)-柠檬烯
开发模式对测试的影响
背景视频铺满盒子
【ARK UI】HarmonyOS ETS的引导页的实现
Before opening a futures account, you must confirm the handling fee as soon as possible
【数据存储精讲】整型和浮点型有什么区别?为什么会精度丢失?
oracle11g体系结构
hping3的使用
Making Pre-trained Language Models Better Few-Shot Learners
【2011】【论文笔记】用THz-TDS观察水树——
6-11 先序输出叶结点(15分)