java 利用gdal,将gdb中图层转为postgresql的表

这篇具有很好参考价值的文章主要介绍了java 利用gdal,将gdb中图层转为postgresql的表。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简要说明

在java开发中,将gdb的图层数据转为postgresql的空间表文章来源地址https://www.toymoban.com/news/detail-823156.html

maven依赖

		<!--需要安装完gdal后,本地install gdal包才能使用 -->
		<!--gdal安装可参考 https://blog.csdn.net/qq_41613913/article/details/135743562 -->
		<dependency>
            <groupId>org.gdal</groupId>
            <artifactId>gdal</artifactId>
            <version>3.7.3</version>
        </dependency>

样例代码

public static void main(String[] args) {
        // 注册所有的驱动
        ogr.RegisterAll();
        // 为了支持中文路径,请添加下面这句代码
        gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8","YES");
        // 为了使属性表字段支持中文,请添加下面这句
        gdal.SetConfigOption("SHAPE_ENCODING", "CP936");

        String strVectorFile = "D:\\gdb\\test.gdb";
        //打开数据
        DataSource gdbDataSource = ogr.Open(strVectorFile,0);
        Layer gdbLayer = gdbDataSource.GetLayerByName("图层名称");
        if (gdbLayer == null)
        {
            System.out.println("获取gdb图层失败!");
            return;
        }

        Driver postgreSQLDriver = ogr.GetDriverByName("PostgreSQL");
        if(postgreSQLDriver == null){
            System.out.println("不支持 PostgreSQL 驱动");
            return;
        }
        //GDAL连接PostGIS
        String path = "PG:dbname=数据库名称 host=主机地址 port=端口 user=用户名称 password=密码";
        DataSource pgDataSource = postgreSQLDriver.Open(path, 1);
        if(pgDataSource == null){
            System.out.println("GDAL连接PostGIS数据库失败!");
            return;
        }
        //直接复制模式,这样以后做追加有问题
        pgDataSource.CopyLayer(gdbLayer, "表名", null);
        
        pgDataSource.delete();
        gdbDataSource.delete();
        gdal.GDALDestroyDriverManager();
        System.out.println("gd图层导入成功!");
    }

到了这里,关于java 利用gdal,将gdb中图层转为postgresql的表的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [运维|数据库] 将mysql的null.unix_timestamp(now()) * 1000转为PostgreSQL的语法

    在 PostgreSQL 中,您可以使用以下方式将 MySQL 中的 UNIX_TIMESTAMP 和 NOW() 函数的组合转换为等效的语法: 在这个 PostgreSQL 表达式中: EXTRACT(EPOCH FROM NOW()) 获取当前时间戳的秒数。 2. * 1000 将秒数转换为毫秒。

    2024年02月07日
    浏览(49)
  • 如何利用python将pdf文档转为word?

    1.前言 有些时候,我们需要将pdf文档转换为word文档进行处理,但市面上的一些pdf软件往往需要付费才能使用。那么作为一名技术人员,如何才能实现pdf转word自由? 2.准备工作 提前安装好python的环境,并且安装对应的第三方包: 3.实现方法 3.1 convert方法 3.2 parse方法 3.3 仅转换其

    2024年02月13日
    浏览(49)
  • Java 调用gdal API(二)——栅格裁剪

    gdal可以说是GIS数据处理比较好的工具之一,虽然也提供了Java API,但是官方文档确实太过简单,用起来确实太难受,每次都需要去参考对应的C++api,然后在对应使用。 因此小编决定从这篇文章开始,将自己以前以及今后用到的API,都记录下,以帮助更多从事java GIS服务开发者

    2024年02月16日
    浏览(36)
  • 树形结构的表设计与Java接口实现

    树形结构在日常开发中很常见,如: 再比如: 还有: 这种树形结构,其 核心字段为parentId ,即父节点id。先看上面课程信息树形结构的表设计: 精髓就是:每条数据, id是它自己的名字,parentId是它爹的名字 。根据parentId能知道它爹是谁,而 它的id就是它儿子的parentId ,

    2024年02月07日
    浏览(38)
  • 利用OGG实现PostgreSQL实时同步

    📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜😜😜 中国DBA联盟(ACDU)成员,目前服务于工业互联网 擅长主流Oracle、MySQL、PG、高斯及Greenplum运维开发,备份恢复,安装迁移,性能优

    2024年02月04日
    浏览(42)
  • 【Linux】CentOS制作Java+GDAL环境镜像并部署运行SpringBoot项目

    环境部署是一个非常繁琐又耗时的工作,尤其是涉及更换操作系统时,其难度更是成倍的增加。本文通过构建起软件运行镜像,并将SpringBoot项目运行在容器中,以期减小软件部署工作所投入的时间与精力。 在Windows环境下构建了一个SpringBoot项目,涉及对MySQL数据库、PostgreSQ

    2024年02月11日
    浏览(45)
  • 【java+MySQL】调用方法对MySQL的表进行增删改查操作

    目录 一、java+MySQL,java对数据库表进行增删改查任务前提: 要求一:创建lib文件夹 要求二:添加druid.properties 要求三:创建四个子文件夹 二、具体要求如下: 1、编写DbUtils类,连接数据库; 2、写一个实体类Product.java 3、写一个产品表数据访问类ProductDao.java 4、写一个测试类

    2024年02月10日
    浏览(38)
  • 利用MATLAB读取.nc文件单像元数值并转为Excel格式(以中国日降雨量月均数据为例)

     以中国日降雨量月均数据(nc文件包含12月)为例,提取某经纬度下的多月份像元值。 (【数据分享】1960-2020年中国1公里分辨率月降水数据集) 一、确定经纬度所在行列 号 以 92.18E,30.475N 为例,首先在Matlab中输入以下代码: 工作区获取到lat、lon和pre的信息,打开lat和lon文件

    2024年02月07日
    浏览(44)
  • 利用pgloader工具将MySQL数据迁移至PostgreSQL数据库

    一、简介 pgloader是一款开源软件,可以将各种来源的数据加载到PostgreSQL数据库中,支持动态读取数据,使用 COPY 流式传输协议将数据加载到 PostgreSQL 数据库中,并使用单独的线程读取和写入数据,由于能够直接从源数据库加载数据。今天我们就借助pgloader这款工具实现将MySQL数

    2024年02月13日
    浏览(58)
  • 搭建GDAL JAVA环境;DXF转KML;坐标转换;PROJ: proj_create_from_database 错误解决

    GDAL是一个栅格和矢量地理空间数据格式的转换库,由开源地理空间基金会按照MIT开源协议发布。作为一个库,它向应用程序为所有支持的数据格式提供统一的栅格抽象数据模型和矢量抽象数据模型。它还提供了用于数据转换和处理的各种有用的命令行实用工具。 GDAL官网:

    2024年02月05日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包