文章目录
前言
今天继续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