VS2017配置GDAL(C#)

2021年8月3日补充

前两天在NuGet包时发现,可以直接添加GDAL的NuGet包,然后正常使用GDAL读取shp文件,操作比原来的方法简单一点,不用编译。

需要注意的是,GDAL和GDAL.Native都要安装。

 

 

1.下载编译好的GDAL文件https://www.gisinternals.com/release.php(参考https://blog.csdn.net/xlp789/article/details/89922762

VS版本与GDAL选择

电脑情况VS2017(64位),故选择release-1911-x64-gdal-3-2-0-mapserver-7-6-1

下载后解压 

点击 SDKShell.bat配置环境

将bin目录下的dll文件和E:\迅雷下载\release-1911-x64-gdal-3-2-0-mapserver-7-6-1\bin\gdal\csharp下的dll文件复制在同一个文件夹里,方便后面复制到所建工程项目里

如建立文件夹copy存放所有的dll

2.新建C#工程,将所有的dll文件复制到 项目名称\bin\Debug文件夹下

3.添加引用,解决方案资源管理器——引用——添加引用——浏览,选择debug文件夹下的gdal_csharp.dll,gdalconst_csharp.dll,ogr_csharp.dll,osr_csharp.dll

4.平台目标设置为X64

5.测试代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OSGeo.OGR;
using OSGeo.OSR;
using OSGeo.GDAL;

namespace 测试gdalcplus
{
    class Program
    {
        static void Main(string[] args)
        {
            //GdalConfiguration.ConfigureGdal();
           //.ConfigureOgr();
            OSGeo.GDAL.Gdal.AllRegister();
            OSGeo.GDAL.Dataset ds = OSGeo.GDAL.Gdal.Open(@"E:\TEST\1TestData\AE\DDOM\4101062020032513435DDOM.tif", OSGeo.GDAL.Access.GA_ReadOnly);
            int w = ds.RasterXSize; int h = ds.RasterYSize;
            Console.WriteLine("image width=" + w + ",height=" + h);
            Console.ReadKey();
        }
    }
}

6.使用过程中出现的问题

PROJ: proj_identify: Cannot find proj.db” 

解决方法:在环境变量中添加proj.db的路径

也可以自己编译gdal然后拷贝dll

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值