当前位置: 代码迷 >> 综合 >> C# GDAL 读取GDB、MDB(二者获取加载代码是一致的)
  详细解决方案

C# GDAL 读取GDB、MDB(二者获取加载代码是一致的)

热度:84   发布时间:2023-12-17 03:52:31.0
  • 1 加载扩展
 var spatialitePath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "gdal", (Environment.Is64BitProcess ? "x64" : "x86"));Environment.SetEnvironmentVariable("PATH", spatialitePath + ";" + Environment.GetEnvironmentVariable("PATH"));

否则会出现:

2. 支持中文路径和中文属性

   // 为了支持中文路径,请添加下面这句代码OSGeo.GDAL.Gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "NO");// 为了使属性表字段支持中文,请添加下面这句OSGeo.GDAL.Gdal.SetConfigOption("SHAPE_ENCODING", "");

3. 注册驱动

        Ogr.RegisterAll();

4. 加载GDB

DataSource ds= Ogr.Open(gdbDir,0);