• postgis空间数据导入及可视化


    众所周知,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函数以及编程式。其中,编程式的灵活度最高,还可以自定义处理逻辑,但对研发人员要求较高。其它两种使用成本低,开箱即用。各位可以根据自身业务需要进行选型采用。采用编程式导入还有一个好处就是可以进行投影和坐标转换,而前两者都会或多或少存在一些问题。希望文章对您有帮助,欢迎指正交流。

  • 相关阅读:
    CV5200无线WiFi通信模组,远距离无线传输方案,助力无线视频传输通信
    【优化后的Synchronized】Synchronized锁升级、⽆锁、偏向锁、轻量级锁、重量级锁、锁消除、锁粗化_JUC16
    游戏心理学Day16
    ppt 插入柱状图及基础功能调整
    [Leetcode]用队列实现栈
    字节跳动3-3大牛力荐!RabbitMQ实战指南:消息队列面试必刷手册
    [2022 Google开发者大会] 机器学习-TensorFlow会议记录
    【KBQA-2】 Learning To Retrieve Prompts for In-Context Learning
    crypto:变异凯撒
    前端携带Bearer Token
  • 原文地址:https://blog.csdn.net/yelangkingwuzuhu/article/details/126262194