You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无力承担ArcGIS,求QGIS导出SHP转ArcGIS MDB的可行方法

从SHP转换到ArcGIS Personal Geodatabase(MDB)的免费方法

方法1:使用QGIS内置的GDAL/OGR工具

QGIS自带GDAL库,直接通过Processing工具箱即可完成转换。注意Personal Geodatabase(.mdb)基于32位Access格式,64位QGIS可能存在兼容性问题,建议使用32位QGIS版本:

  1. 打开QGIS并加载目标SHP文件;
  2. 打开「Processing」→「Toolbox」,搜索「Convert vector format」工具;
  3. 在工具界面中:
    • 输入图层选择待转换的SHP;
    • 输出格式选择「Personal Geodatabase」(对应GDAL的PGeo驱动);
    • 指定输出.mdb文件的保存路径;
    • 点击「Run」执行转换。

若习惯命令行操作,可在32位GDAL环境下直接运行:

ogr2ogr -f "PGeo" output.mdb input.shp

方法2:使用OpenJUMP GIS

OpenJUMP是轻量开源GIS工具,原生支持Personal Geodatabase格式:

  1. 下载并安装32位版本的OpenJUMP;
  2. 启动后通过「File」→「Open」导入SHP文件;
  3. 选中导入的图层,右键选择「Save Layer As」;
  4. 在保存对话框中,格式选择「Personal Geodatabase」,指定输出路径后完成导出。

方法3:GeoTools(适合有编程基础的用户)

如果需要批量转换或自动化处理,可借助GeoTools库的PGeo驱动:

  1. 引入GeoTools的gt-shapefile和gt-pgeo模块依赖;
  2. 编写核心转换逻辑示例:
// 读取SHP文件
File shpFile = new File("input.shp");
ShapefileDataStore shpStore = new ShapefileDataStore(shpFile.toURI().toURL());
SimpleFeatureSource source = shpStore.getFeatureSource();

// 写入MDB文件
File mdbFile = new File("output.mdb");
PGeoDataStore mdbStore = new PGeoDataStore(mdbFile);
mdbStore.createSchema(source.getSchema());
SimpleFeatureStore store = (SimpleFeatureStore) mdbStore.getFeatureSource(source.getSchema().getTypeName());
store.addFeatures(source.getFeatures());

关键注意事项

  • Personal Geodatabase是ArcGIS旧格式,若接收方兼容,优先选择导出为File Geodatabase(.gdb),QGIS可直接支持该格式转换,兼容性更好;
  • 32位环境是读写.mdb的核心前提,64位工具因Access ODBC驱动限制,通常无法正常处理旧版.mdb文件。

内容的提问来源于stack exchange,提问作者mırro gırro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 16:42:37