您的位置:首页 > 其它

Gdal读取矢量文件

2017-04-24 11:00 281 查看
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("转换成功!" );
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: