DXF文件写入多边形和名称属性,可在Global Mapper和ArcGIS打开

DXF文件写入多边形和名称属性,可在Global Mapper和ArcGIS打开

目标效果

为了实现下图的效果,学习了一下dxf格式的相关内容。

官方文档价值很高,但是结合实例.dxf文件看学习起来更快。
免费下载实例

下面将介绍dxf文件的格式规范,和为几何实体标注文本的写法。

dxf文件的格式规范解析

概述

DXF是Autodesk公司开发的CAD数据文件格式,用于矢量图形信息交换。有ASCII文本格式和二进制格式两种。

文件构成

一个DXF文件由多个 段(SECTION) 组成;每个段又由多个 组(GROUP) 构成。

在文件中占2行,第一行是组码(GROUPCODE) ,第二行是组值(GROUPVALUE) 。如下所示,两行为一组,这两行信息构成了一个键值对:{数据类型:值}

dxf 复制代码
数据类型
值
数据类型
值

一个段的文本看起来像这样:

dxf 复制代码
  0
SECTION
  2
TABLES
.......其他行数据
  0
ENDSEC

典型的DXF文件由标题段(HEADER)、类段(CLASSES)、表段(TABLES)、块段(BLOCKS)、实体段也叫图元 段(ENTITIES)、对象段(OBJECTS)组成。

在 DXF™ 格式中,对象的定义与图元的定义不同:对象没有图形表示,而图元则有图形表示。例如,词典是对象而不是图元。**图元(ENTITIES)**也称为图形对象,而对象称为非图形对象。

图元一般出现在DXF 文件的 BLOCKENTITIES 段。组码在这两段中的用法相同。图元的结尾由下一个 0 组表示,该组表示下一个图元的开始或指示此段已结束。

常见的组码含义参见: AutoDesk的组码说明

ENTITIES图元

一般而言,

dxf 复制代码
0
段名/图元类型名(POLYLINE、POINT、VERTEX)/
8
图层名
10
X坐标
20
Y坐标
30
Z坐标

一般点、线、折线等数据都存在ENTITIES段;DPMap中把文本标注放在ENTITIES段的ATTRIB组,而ATTRIB需要和INSERT配合使用。示例如下:

dxf 复制代码
  0
INSERT
  8
FeatureAttribs
  2
FEATURE
  41
1
  42
1
  43
1
  50
0
  10
246221.712900
  20
3380059.079100
 30
0.000000
 66
1
  0
ATTRIB
  8
FeatureAttribs
 70
0
  1
我是当前多边形的标记名称!
  2
NAME
  10
246221.712900
  20
3380059.079100
 30
0.000000
 40
1.26
0
SEQEND
  0
POLYLINE
##......顶点数据
  0
SEQEND

这一段代码前面分别是INSERT图元和ATTRIB图元,表达了某个位置的文本标记"我是当前多边形的标记名称!"。与之相邻的最后是POLYLINE图元,表达一个多边形。最终显示效果就是,多边形中间有一个文本标记。如下图所示:

注意事项

为了确保写出的dxf文件在ArcGIS、Global Mapper等软件中能达到一致的显示效果,在插入文本标注属性时一定要注意配合INSERT和ATTRIB图元的使用。

相关推荐
谷谷地图下载器4 天前
全球、台湾省的无水印·街景数据(离线数据),专为可视化项目定制,支持国产化
javascript·c++·3d·arcgis·sqlite
树谷-胡老师4 天前
2019-2025年-全球0.1°-月度-近实时人为CO₂排放-数据
arcgis
非科班Java出身GISer4 天前
ArcGIS JS 基础教程(8):环境光照与阴影
arcgis·arcgis js 环境光照·arcgis js阴影·arcgis js 环境·arcgis js 光照
Highcharts.js5 天前
如何创建蛛网地图|气泡事件+全球发布+关联组合图表开发示例
arcgis·地图系列·highcharts·动态图表·可视化开发·气泡图·地图图表
城数派8 天前
2026年500米分辨率DEM地形数据(全球/全国/分省/分市)
数据库·arcgis·信息可视化·数据分析·excel
天青色等烟雨..9 天前
R+VIC模型融合实践技术应用及未来气候变化模型预测
大数据·人工智能·arcgis·语言模型·数据分析
玩大数据的龙威13 天前
【ArcGIS技巧】—防止注记压盖之引出标注
arcgis
逆境不可逃14 天前
【与我学 ClaudeCode】并发篇 之 Background Tasks :守护线程与异步通知队列
人工智能·arcgis·agent
中科GIS地理信息培训15 天前
【ArcGIS Pro 3.7新增功能】使用交互式等高线可视化栅格数据
arcgis·arcgis pro
非科班Java出身GISer15 天前
ArcGIS JS 基础教程(7):Global与Local场景模式
arcgis·arcgis js 教程·arcgis js 基础·arcgis js 场景模式·arcgis js 切换模式