结合 ArcGIS 对 CAD 地图入库处理

本文介绍了如何使用ArcGIS结合PostgreSQL处理CAD地图,包括CAD数据导入、绘制shp、导入shp到PostgreSQL的过程,以及解决空间坐标系问题。在ArcGIS中导入CAD文件,然后创建并编辑shp图层,最后通过PostGIS Bundle导入到PostgreSQL数据库,注意CAD版本与ArcGIS的兼容性以及坐标系的转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为了避免手动输2w6平的地图,也不想自己写系统来处理,终于摸索出一条曲线救国大法。

环境

  • 数据库
    • PostgreSQL(需添加 PostGIS 插件)
  • 软件
    • ArcGIS
    • AutoCAD(可选)

步骤

步骤流程



ArcGIS 常用工具

常用工具


一、导入 CAD

❗️ ArcGIS 支持 CAD 数据的查看、导入、导出,但不支持编辑

❗️ 本人使用的ArcGIS版本为10.2,最高只支持2010版的CAD文件,高版本需要将其降为2010以下版本(大坑!)

  1. 添加 CAD 数据

    也可从目录窗口中直接拖入CAD文件

    添加CAD数据


二、绘制自己的 shp

  1. 新建 shp 图层

    目录 — 新建 — Shapefile — 命名 — 选择需要的要素类型 — 确定

    新建shp图层


  1. 打开属性表,添加字段

    打开属性表,添加字段


  1. 选中新图层,进入编辑模式

    进入编辑模式


  1. 创建第一个要素,作为框架

    创建要素


  1. 选中外围要素

    外围框架


  1. 使用裁剪面对选中要素划分

    点要素按照步骤4方法直接添加

    要素划分


  1. 添加属性

    添加属性


三、导入 shp 到 postgreSQL

工具: PostGIS PostGIS Bundle 3 for PostgreSQL x64 12 Shapefile and DBF Loader Exporter


准备工作
在PostgreSQL数据库中加载PostGIS扩展

CREATE EXTENSION postgis; # 加载postgis空间扩展

SELECT postgis_full_version();  # 确认是否加载成功

postGIS导入工具界面


  1. 连接 postgreSQL

    连接postgreSQL数据库


  1. 选择要导入的 shapefile 文件

    导入参数:

    • Table:要导入的目标表名称
    • Geo Column:geom属性字段名
    • SRID:空间参考标识符(超纲了,有点难懂,目前还用不到它,感兴趣的可以参考 PostGIS教程四:加载空间数据
    • Mode:操作模式
      • Create:新建表,表名为{ Table }的值
      • Append:附加到表名为 {Table} 的表后面
      • Delete:清空表名为 {Table} 的表内容
      • Prepare:我也不是很清楚

    选择shapfile文件


  1. 导入

    导入


  1. 数据库中查看

    导入结果


四、空间坐标系问题

CAD 提供两种坐标系

  • WCS(世界坐标系)
  • UCS(用户坐标系)



导入到 ArcGIS 时会提示警告
⚠️ 未知的空间参考

warning:未知的空间参考


导入结果

坐标系显示未定义,坐标值为 CAD 中 WCS 下的坐标值

导入后的数据源信息

对要素第一次进行投影,添加了坐标系,但坐标值保持不变

对要素第二次进行投影,坐标系变换,同时坐标值也会换算过去

### 使用 Janus-Pro 读取 CAD 文件的方法 Janus-Pro 是一款功能强大的 GIS 软件工具,能够高效处理多种类型的地理空间数据。虽然其核心功能与 ArcGIS Pro 类似,但在某些特定领域具有独特的优势。以下是关于如何使用 Janus-Pro 读取 CAD 文件的具体方法: #### 支持CAD 文件格式 Janus-Pro 提供了对主流 CAD 文件的支持,包括但不限于以下几种格式[^1]: - AutoCAD (.dwg, .dxf) - MicroStation Design Files (.dgn) 这些文件可以直接被导入并与其他地理空间数据集成。 #### 导入 CAD 文件的工作流程 为了成功读取和利用 CAD 数据,在 Janus-Pro 中的操作通常遵循以下几个方面的内容描述: 1. **打开项目**: 启动 Janus-Pro 并创建一个新的项目或者加载现有的项目。 2. **添加 CAD 数据源**: 在菜单栏中选择 `Data` -> `Add Data` 或者直接拖拽目标 CAD 文件至工作区。此操作会自动识别文件类型并将相关内容作为图层显示出来。 3. **设置坐标系转换 (如果需要)**: 如果 CAD 文件未定义地理坐标系统,则可能需要手动指定或调整相应的投影参数以匹配其他地图数据的参考框架。这一步骤对于确保所有叠加的数据处于同一位置至关重要。 4. **编辑属性表**: 对于一些复杂的 CAD 图纸来说,可能会附带大量的元信息字段。可以通过查看/修改对应的属性表格来更好地理解每条记录的意义以及优化展示效果。 5. **保存成果**: 完成上述步骤之后就可以将最终结果导出为标准矢量格式(如 Shapefile),以便进一步分析或是共享给他人使用。 ```python import arcpy # 设置工作环境 arcpy.env.workspace = r"C:\path\to\your\data" # 将 DWG/DXF 文件转为要素类 input_cad_file = "example.dwg" output_feature_class = "cad_features.shp" arcpy.CADToGeodatabase_conversion(input_cad_file, output_feature_class) ``` 以上脚本展示了如何借助 Python 脚本来实现自动化批量处理多个 CAD 文件的任务。尽管这是基于 Esri 的 ArcPy 库编写的例子,但是类似的逻辑也可以应用于 Janus-Pro API 上开发自定义解决方案。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值