首页 > 编程语言 >【Java+GDAL】读取shp文件图层几何类型

【Java+GDAL】读取shp文件图层几何类型

时间:2024-09-16 16:55:55浏览次数:12  
标签:shp Java gdal 几何 类型 图层 GDAL

文章目录


前言

今天继续Java+GDAL,之前写的几篇处理shp的文章包括:
【Java+GDAL】读取shp文件的坐标信息(坐标系+EPSG码)
【Java+GDAL】shp新增属性字段与删除属性字段
【Java+GDAL】读取shp信息(字段、要素属性等)
Java使用gdal更改shp要素的字段属性值
Java使用gdal重命名shp属性字段
今天是读shp图层中的几何信息,主要是获取几何类型,顺带介绍下ogrConstants中的几何类型常量。


一、GDAL和Java版本

GDAL版本为3.0.1
Java为JDK 17.0.11

二、代码实现

1.引入gdal环境

代码如下(示例):

import org.gdal.gdal.gdal;
import org.gdal.ogr.*;
//自定义shp工具类
public class ShpUtil {
    static {
        ogr.RegisterAll();
        gdal.AllRegister();//设置gdal环境
        gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8","YES");//支持中文路径
        gdal.SetConfigOption("SHAPE_ENCODING","CP936");//属性表字段支持中文
    }
	//......获取shp图层几何类型的方法
}

2.代码实现

代码如下(示例):

    /**
     * 获取shp图层几何类型
     * @param shpPath,shp路径
     * @author 415411
     * @create 2024/9/13
     **/
    public static int getGeomType(String shpPath) {
        // 只读方式打开shp文件
        DataSource shpSource = getGDALShpSource(shpPath, 0);
        Layer layer = shpSource.GetLayer(0);
        // 获取图层几何类型,见ogrConstants中几何类型
        return layer.GetGeomType();
    }

3.ogrConstants中的几何类型

如下图为ogrConstants中部分常量
在这里插入图片描述
2代码实现中的返回值对应这里的几何类型部分,如wkbPoint(点类型),wbkLineString(线类型),wkbPolygon(面类型),wkbMultiPoint(多点)等等。


总结

提示:今天内容比较简单,主要介绍读shp图层几何类型的方法,以及GDAL中图层的几何类型。

标签:shp,Java,gdal,几何,类型,图层,GDAL
From: https://blog.csdn.net/weixin_45011889/article/details/142218845

相关文章

  • java+vue计算机毕设大学生掌上校园app【源码+开题+论文+程序】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着移动互联网技术的飞速发展,智能手机已成为大学生日常生活中不可或缺的一部分。在信息化时代背景下,高校校园管理与学生服务正逐步向数字化、智能化......
  • java+vue计算机毕设大数据背景下大学生个性化学习系统的构建【源码+开题+论文+程序】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展,大数据已成为推动社会进步与产业升级的重要力量。在教育领域,大数据技术的应用正深刻改变着传统的教学模式与学习方式。当前,高......
  • java+vue计算机毕设大学生社团活动管理系统【源码+开题+论文+程序】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着高等教育的普及与校园文化的日益丰富,大学生社团活动已成为促进学生全面发展、增强实践能力、培养团队合作精神的重要平台。然而,传统的手工管理方......
  • java+vue计算机毕设大学生心理咨询管理系统【源码+开题+论文+程序】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着高等教育的普及与深入,大学生群体面临的学业压力、人际关系、职业规划等多重挑战日益凸显,心理健康问题已成为不容忽视的社会议题。传统的心理咨询......
  • Java开发环境搭建 目录与摘要(Java Developer environment Config on Windows 10 --Cat
    Java开发环境搭建目录与摘要数据结构复习一、线性结构1.栈和队列2.链表二、树形结构1.二叉排序树三、排序Title1&Title2Title3contents...aaabbbccc点击查看目录目录项1目录项2目录项3目录项1......
  • Java获取Object中Value的方法
     ​博客主页:   南来_北往系列专栏:SpringBoot实战前言在Java中,获取对象(Object)中的值通常依赖于对象的类型以及我们希望访问的属性。由于Java是一种静态类型语言,直接从一个Object类型中访问属性是不可能的,因为Object是所有类的超类,但它本身不包含任何特定的属性或方......
  • 在 Debian 12 上安装 Java 21
    在Debian12上安装Java21可以通过以下两种主要方法: 使用OracleJDK21 下载deb包:从Oracle官方网站下载适用于Linux的Java21的deb包(jdk-21_linux-x64_bin.deb)。如果是在命令行操作,可以使用 wget 命令来下载,例如:wgethttps://download.oracle.com/java/......
  • 如何打造养老院管理系统?Java SpringBoot+Vue,2025届毕业设计首选,高效运营不是梦
    ✍✍计算机编程指导师⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流!⚡⚡Java实战|SpringBoot/SSMPython实战项目|Django微信小程......
  • 如何打造高效人事管理系统?一鸣企业案例,Java SpringBoot Vue技术揭秘
    ✍✍计算机编程指导师⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流!⚡⚡Java实战|SpringBoot/SSMPython实战项目|Django微信小程......
  • Java中锁的实现方式
    锁LOCK在生活中是特殊区域的安全保证操作。权限虽然很大,锁在不同的领域中需要对局部进行特殊管制。J2EE的开发中使用权限和锁实现对后台服务系统的控制访问。登录模块使用特殊令牌token和锁的分布式存储用户特殊登录信息数据。每个web系统都会有权限验证模块。锁是web系统开发......