Gdal读取矢量文件

GDAL的Java调用

注意: 系统版本位数,jdk版本位数,gdal位数需一致
1. GDAL的下载

	(1)下载GDAL的源码包(http://www.gisinternals.com/sdk/),本文档以release-1600-x64-dev.zip为例。将压缩包解压到指定目录。

2. GDAL的调用
	(1) 动态链接库的添加
		 解压后的文件夹中目录Drelease-1600-x64-dev\release-1600-x64\bin下的所有dll文件以及目录release-1600-x64-dev\release-1600-x64\bin\gdal\java下的dll文件复制到JAVA_HOME/bin下面。其中找JAVA_HOME路径的方法为:右击【我的电脑】---【属性】-----【高级系统设置】---【环境变量】,在【系统变量】中找到JAVA_HOME,变量值即为JAVA_HOME的路径。
		 注意:要确定系统Path中包含JAVA_HOME/bin,检查的方法为右击【我的电脑】---【属性】-----【高级系统设置】---【环境变量】,在【系统变量】中找到Path(如果没有path要新建),变量值设为%JAVA_HOME%\bin;。
	(2)新建一个java project来说明GDAL的调用方法
		 a)  打开eclipse 新建java project 为Test
		 b)  在Drelease-1600-x64-dev文件下,通过查找以下的目录       (release-1600-x64-dev\release-1600-x64\bin\gdal\java)找到gdal.jar。
		 c)  将gdal.jar复制到项目Test 的根目录下面。
		 d)  在项目中右键点击gdal.jar,选择【Build path】下面的【Add to build path】,   添加jar包成功后在项目下Referenced Libraries文件夹下可以看到gdal.jar,如图
		 
		 至此,jar包导入成功,gdal环境搭配完成。

3. java程序调用

package atide.readShp;

import org.gdal.ogr.*;
import org.gdal.ogr.Driver;
import org.gdal.gdal.*;
import org.junit.Test;

public class ReadShp {
	
	@Test
    public void test() {
        // 注册所有的驱动
        ogr.RegisterAll();
        // 为了支持中文路径,请添加下面这句代码
        gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8","YES");
        // 为了使属性表字段支持中文,请添加下面这句
        gdal.SetConfigOption("SHAPE_ENCODING","");

        String strVectorFile = "E:\\tmp\\data\\贵阳市.shp";
        //打开文件
        DataSource ds = ogr.Open(strVectorFile,0);
        if (ds == null)
        {
            System.out.println("打开文件失败!" );
            return;
        }
        System.out.println("打开文件成功!" );
        Driver dv = ogr.GetDriverByName("GeoJSON");
        if (dv == null)
        {
            System.out.println("打开驱动失败!" );
            return; 
        }
        System.out.println("打开驱动成功!" );
        dv.CopyDataSource(ds, "E:\\tmp\\data\\node.json");
        System.out.println("转换成功!" );
    }
}

转载自:https://blog.csdn.net/wt346326775/article/details/70574748

You may also like...