gdal java

作者:原创时间:2022-03-22
文档

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

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

gdal如何安装?

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

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

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

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:\\Data\\ShapefileData\\Data\\clip_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("\n");
        }
        hDataset.delete();
    }
}

以上就是小编今天的分享了,希望可以帮助到大家。

显示全文
gdb java geohash java geojson java glue java golang调用java grep java groupby java guava java hbase java hibernate java hotspot java idea创建java idea创建普通java项目 idea怎么建立java idea编写java程序 influxdb java instance java instant java integer java interface java gateway java for循环java foreach java field java 爱奇艺黄金会员和星钻会员的区别 false是java关键字吗 extends java extend java excel读取java enum java 小程序和app的区别 awesome java arrays java eclipse创建java dozer java double java 微信怎么群发消息给多人 django java continue java 被删的微信聊天记录怎么找回来