gdal简介及部署引用

1.简介

GDAL(Geospatial Data Abstraction Library)是一个开源栅格空间数据转换库。它利用抽象数据模型来表达所支持的各种文件格式。它还有一系列命令行工具来进行数据转换和处理。

GDAL使用C++开发,因此要在Java环境下使用GDAL库,要用jni的方法调用dll库,我们可以下载GDAL的源码,按照官网的指引,在自己的Visual Studio里编译出dll。但是最省事的做法就是调用别人已经编译生成好的符合jni标准的动态dll库和jar包了,推荐这个网址:http://www.gisinternals.com/release.php,下载合适的文件。

本人下载的是

2.设置系统环境变量指定dll路径

右键计算机——》属性——》高级系统设置——》环境变量——》新建系统变量:

新建系统变量GDAL32_DLL

变量名:GDAL32_DLL

变量值:E:\release-1911-x64-gdal-2-3-2-mapserver-7-2-1\bin;E:\release-1911-x64-gdal-2-3-2-mapserver-7-2-1\bin\gdal\java

名字可以自己定义,指定GDAL DLL路径位置,和GDAL java版编译出路径。

在Path前面增加(如果没有Path系统变量,则新建)"%GDAL32_DLL%;",即path变为

%GDAL32_DLL%;%JAVA_HOME%/。。。。。。

3.后端加载jar包,通过pom.xml从maven仓库下载jar包(E:\release-1911-x64-gdal-2-3-2-mapserver-7-2-1自带的jar包不太好使)

4.示例

import org.gdal.ogr.*;
import static org.gdal.ogr.ogrConstants.wkbMultiPolygon;
import static org.gdal.ogr.ogrConstants.wkbPoint;
 生成缓冲区
    @RequestMapping(value = "/buffer")
    @ResponseBody
    public  String buffer(){
        List<Poi> user1=poiMapper.findUserALL();
        Geometry buffers=new Geometry(wkbMultiPolygon);
        for(int i=0;i<user1.size();i++){
            Float x= user1.get(i).getX();
            Float y= user1.get(i).getY();
            Geometry point=new Geometry(wkbPoint);
            point.AddPoint(x,y);
            Geometry buffer= point.Buffer(500);//单位是米
            buffers.AddGeometry(buffer);
        }
        return buffers.ExportToJson();
    }

5.GDAL(java版)api

https://www.gdal.org/java/overview-summary.html

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值