一、GDAL类库下载:
下载地址:GISInternals Support Site
比如我下载的是release-1930-x64-gdal-3-4-2-mapserver-7-6-4
点击release-1930-x64-gdal-3-4-2-mapserver-7-6-4的链接,下载这两个文件
二、解压文件和安装gdb插件
1.下载好的两个文件,解压其中zip文件,
解压后如图
2.将filegdb.msi文件安装,安装后找到对应文件夹,如图
3.将gdadlplugins文件夹和FileGDBAPI.dll文件拷贝到release-1930-x64-gdal-3-4-2-mapserver-7-6-4文件夹下的bin文件夹下;
4.将D:\release-1930-x64-gdal-3-4-2-mapserver-7-6-4\bin\gdal\csharp下的8个dll拷贝到release-1930-x64-gdal-3-4-2-mapserver-7-6-4文件夹下的bin文件夹下;
5.用vs2019创建windows桌面程序(netframework为4.7.2),一定要注意以x64程序运行;
6.将release-1930-x64-gdal-3-4-2-mapserver-7-6-4文件夹下的bin文件夹内容(除exe)拷贝到debug下;
7.添加引用 包含四个dll gdal_csharp.dll gdalconst_csharp.dll ogr_csharp osr_csharp ,路径为release-1930-x64-gdal-3-4-2-mapserver-7-6-4\bin
8.初始化代码以及读写gdb文件方法
Gdal.AllRegister();Ogr.RegisterAll();Gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "YES");// 为了使属性表字段支持中文,请添加下面这句Gdal.SetConfigOption("SHAPE_ENCODING", ""); //避免乱码Gdal.SetConfigOption("FILEGDB_ENCODING", "UTF-8");Utils utils = new Utils();string gdbFile = "D:\\test.gdb";DataSource sourceDs = utils.ReadVectorFile(gdbFile);//创建目标数据String outFileDir = "D:\\OUT";DataSource targetDs = utils.WriteVectorFile(sourceDs, outFileDir + "\\outData.gdb");
public DataSource WriteVectorFile(DataSource dataSource, string strVectorFile){string strDriverName = "FileGDB";// 创建一个文件,根据strDriverName扩展名自动判断驱动类型OSGeo.OGR.Driver oDriver = Ogr.GetDriverByName(strDriverName);if (oDriver == null){Console.WriteLine(strVectorFile + " 驱动不可用!\n");return null;}DataSource oDS = oDriver.CreateDataSource(strVectorFile, null);if (oDS == null){Console.WriteLine("创建文件【" + strVectorFile + "】失败!\n");return null;}return oDS;}public DataSource ReadVectorFile(string strVectorFile){string strDriverName = "OpenFileGDB";// 创建一个文件,根据strDriverName扩展名自动判断驱动类型OSGeo.OGR.Driver oDriver = Ogr.GetDriverByName(strDriverName);if (oDriver == null){Console.WriteLine(strVectorFile + " 驱动不可用!\n");return null;}DataSource oDS = oDriver.Open(strVectorFile, 0);if (oDS == null){Console.WriteLine("读取gdb文件【" + strVectorFile + "】失败!\n");return null;}return oDS;}
9.环境变量设置:
GDAL_HOME D:\release-1930-x64-gdal-3-4-2-mapserver-7-6-4
GDAL_DRIVER_PATH D:\release-1930-x64-gdal-3-4-2-mapserver-7-6-4\bin\gdalplugins
GDAL_DATA D:\release-1930-x64-gdal-3-4-2-mapserver-7-6-4\bin\gdal-data
path: %GDAL_HOME%\bin %GDAL_HOME%\bin\gdal\java %PROJ_LIB% %GDAL_DATA%
上一篇:配电网重构|基于新颖的启发式算法SOE的随机(SDNR)配电网重构(Matlab代码实现)【算例33节点、84节点、119节点、136节点、417节点】
下一篇:【机器码】原码、反码、补码的学习