gdal - java

来源:趣味经验馆 8.48K

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

gdal java是什么,让我们一起了解一下?

gdal java是一个开源栅格空间数据转换库。利用抽象数据模型来表达所支持的各种文件格式,GDAL除了能对接mif格式外,还可以读取shp、tab、sqlite、oracle等等。

gdal如何安装?

(1)下载gdal的安装文件,解压到某目录下,如C:gdalsrc下。

这里我们假定VC6的安装在默认目录C:Program FilesMicrosoft Visual Studio8下。

(2)启动cmd,即打开控制台窗口。进入VC6的安装目录下,如cd C:Program FilesMicrosoftVisual Studio8VCin,在此目录下有个文件VCVARS32.BAT,执行一下这个文件,然后重新回到C:gdalsrc下。运行命令nmake /f makefile。编译完成后,用记事本打开文件C:gdalsrcmake.opt,根据自己的情况修改GDAL_HOME = 这一行,这个指的是最终GDAL的安装目录,比如说我们安装在C:GDAL,那么这一行就是GDAL_HOME = "C:GDAL",在C:gdalsrc下执行nmake /f makefile install,然后是nmake /f makefile devinstall,然后我们需要的东西就安装到了C:GDAL下。

gdal java

GDAL的环境配好了之后,测试一下!

import org.gdal.gdal.Band;import org.gdal.gdal.Dataset;import org.gdal.gdal.Driver;import org.gdal.gdal.gdal;import org.gdal.gdalconst.gdalconstConstants;public class Main {    public static void main(String[] args) {// write your code here        String fileName_tif = "E:DataShapefileDataDataclip_out";        gdal.AllRegister();        Dataset hDataset = gdal.Open(fileName_tif, gdalconstConstants.GA_ReadOnly);        if (hDataset == null)        {            System.err.println("GDALOpen failed -"  + gdal.GetLastErrorNo());            System.err.println(gdal.GetLastErrorMsg());            System.exit(1);        }        Driver hDriver = hDataset.GetDriver();        System.out.println("Driver: " + hDriver.getShortName() + "/" + hDriver.getLongName());        int iXSize = hDataset.getRasterXSize();        int iYSize = hDataset.getRasterYSize();        System.out.println("Size is " + iXSize + ", " + iYSize);        Band band = hDataset.GetRasterBand(1);        int buf[] = new int[iXSize];        for(int i=0; i<10; i++)        {            band.ReadRaster(0, i, iXSize, 1, buf);            for(int j=0; j<10; j++)                System.out.print(buf[j] + ", ");            System.out.println("");        }        hDataset.delete();    }}

热门标签