admin 管理员组文章数量: 887006
本文接前文gis利器之Gdal(一),前面简单介绍了gdal工具是什么,具体有什么功能。对于gdal的具体功能,感兴趣的去官网看看。日常对于gis常见的矢量和栅格数据进行处理,gdal都是拿手的。今天简单说一下在windows下基于java搭建开发环境,为下一步说明如何进行数据处理奠定基础。
打开下载的gdal编译包,解压如下所示:
bin目录下就是编译出来可以供java调用的dll文件,
第一步、windows配置gdal环境
在机器中先想配置gdal环境,总体来说,应该是有三种方式。
1、将bin目录下的dll都拷贝到jdk安装目录中,这样做的好处是可以直接利用java jdk的环境变量就可以读取和调用gdal相关配置和方法。缺点就是jdk会变大,同时也污染了jdk。
2、创建gdal系统环境变量,跟jdk一样。创建GDAL_HOME,值是gdal的解压目录。
将bin等配置到path环境变量中。
增加一个PROJ_LIB,防止在读取Shp文件时会报错。
3、可以在程序运行时指定工作环境目录。形如下:
//gdal.SetConfigOption("GDAL_DATA","F:\\GDAL学习文件夹\\release-1900-x64-gdal-2-3-2-mapserver-7-2-1\\bin\\gdal-data");
第二步、创建maven工程
<project xmlns="http://maven.apache/POM/4.0.0"
xmlns:xsi="http://www.w3/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache/POM/4.0.0 http://maven.apache/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.yelang</groupId>
<artifactId>gdal_demo1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>gdal_demo1</name>
<description>gdal的第一次试验</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<mavenpiler.source>1.8</mavenpiler.source>
<mavenpiler.target>1.8</mavenpiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.gdal</groupId>
<artifactId>gdal</artifactId>
<version>3.4.3</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/gdal.jar</systemPath>
</dependency>
<dependency>
<groupId>net.sf.ucanaccess</groupId>
<artifactId>ucanaccess</artifactId>
<version>4.0.4</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
将gdal文件中bin\gdal\java下的gdal.jar拷贝到工程的lib目录下。完整目录如下:
第三步、编写测试代码,简单示例如下:
package com.yelang.gdal_demo1;
import org.gdal.gdal.gdal;
import org.gdal.ogr.ogr;
import org.junit.Test;
public class TestGdal {
@Test
public void testDriver() {
gdal.AllRegister();
int count = ogr.GetDriverCount();
for (int i = 0; i < count; i++) {
String driverName = ogr.GetDriver(i).getName();
System.out.print(driverName + "\t");
}
gdal.GDALDestroyDriverManager();
}
}
使用gdal.AllRegister();进行初始注册,这样才能使用后续的代码。记得在最后要销毁相应的驱动管理对象,这一点跟事务的管理方式比较相似。运行起来可以看到以下结果:
ESRIC PCIDSK PDS4 VICAR JP2OpenJPEG PDF MBTiles EEDA OGCAPI DB2ODBC ESRI Shapefile MapInfo File UK .NTF LVBAG OGR_SDTS S57 DGN OGR_VRT REC Memory CSV NAS GML GPX LIBKML KML GeoJSON GeoJSONSeq ESRIJSON TopoJSON Interlis 1 Interlis 2 OGR_GMT GPKG SQLite ODBC WAsP PGeo MSSQLSpatial OGR_OGDI PostgreSQL MySQL OpenFileGDB DXF CAD FlatGeobuf Geoconcept GeoRSS GPSTrackMaker VFK PGDUMP OSM GPSBabel OGR_PDS WFS OAPIF Geomedia EDIGEO SVG CouchDB Cloudant Idrisi ARCGEN ODS XLSX Elasticsearch Walk Carto SXF Selafin JML PLSCENES CSW VDV GMLAS MVT NGW MapML TIGER AVCBin AVCE00 HTTP
以上就将gdal支持的所有驱动类型打印出来,说明gdal支持以上数据的读写。
总结:本文介绍了gdal在windows环境下怎么搭建java开发,同时提供一个开发示例,通过输出gdal支持的数据驱动来演示其支持的数据类型,同时表明我们的环境搭建完成,可以基于java进行相应开发。希望对你有帮助,文中有不当之处,请交流指出。
版权声明:本文标题:windows下gdal的java开发环境搭建 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1733515787h1601289.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论