用FME转DWG到SHP从原理到方法
更新时间:2023-10-21 12:26:01 阅读量: 综合文库 文档下载
- 用fme转换正摄影像推荐度:
- 相关推荐
用FME转DWG到SHP从原理到方法
yjch2005
本文主要解决的问题是 dwg格式中带有扩展属性(xdate),扩展属性里面有重要的数据,是我们不能舍弃的,当然也有些没有扩展属性的(不是我们讨论的),一般自带的工具无法转换扩展属性。以前解决的办法主要是编程,这个成本太高了,也很麻烦。现在说的fme用它就可以解决这个问题的
本贴子从dwg数据存储方式,及fme转换的原理,并结合具体的数据,来说明。 有不足之处,还请各位指出。
Cad格式的数据主要由以下几个部分组成
头(HEADER):是存储与图形有关的变量设置。 类(CLASSES):是存储与图形有关的类的定义
表(TABLES):主要是存储线型,颜色,层名等几何要素的 块(block):主要是定义符号和其它相关的图形文件 实体(ENTITIES):这是cad图形数据最主要和部分,每个实体包含了一些固定的信息,比如它的颜色,层,线型,几何要素,以及每个实体特定的属性值,例如一个文本(text)实体的字段有字体,大小,显示属性的字符串等。 对象 (objects):这部分存储字典和其它实体对象的说明
呵呵 现在说的是重点了啊,一般人不知道的,就是cad数据还有扩展属性的,用xlist 命令可以在cad中查看,这部分数据最大可以有16k,你必须安装autodesk的提供的小工具express才可以查看的,大家为什么以前在转dwg到shp中,会发现没有属性,因为你的属性在扩展(xdate)中,你用的软件没有办法读取xdate中的数据,不信各位打开cass 查看。
现在来说说fme
如果你有安装了arcgis的扩展模块的话 ,里面是有内置的fme引擎的 1.你必须是安装完全版的
2.在extension中勾选Data Interoperability 模块 3.启动ArcCatalog ,打开ArctoolBox,新建一个toolbox,右toolbox(新建的)-new-Spatial ETL Tool ,ok 就会出现一个你以前没有见过的对话框。
4.输入dwg,点next,再输入dwg的目录,点setting,会出现一个新的选项框,按需而选,但是记住,bolck,expand into entities(意思是把每个实体打散)不要勾啊。ok!next,下面的对话框就是你要转的目标格式。ok,会出现新的界面,就是fme的工作台了。
如果你有fme了设置的方法一样。
再来说说 fme 对dwg格式的处理原理吧 fme 读取文件概述
fme的The AutoCAD DWF reader 模块从dwg图形文件依次提取实体,并传递给fme的其它模块处理。复杂的实体如多段线(polylines )和插入的部分(insert)将被炸开,分成若干独立的fme要素。如果实体拥有扩展属性,则也会被读取并放到相应的要素中。
对extend entity date(简称xdate) 的处理
xdate通常被应用程序用于存储属性数据。fme为了xdate尽可能的简单易用,用了三种不同的格式数据存储fme要素对象。前两种格式几乎不存储要素中的图形数据,而第三种格式则以一种更易用方式存储属性数据。有一点必须指出的是,The
AutoCAD DWF reader模块在读取xdate数据的时侯,三种格式都存储在一个单独的fme要素中。xdate只能在添加了说明后的格式(interpreted format),才能被The AutoCAD writer模块处理。xdate将会被fm有重新调整,以 = 的格式输出。因为以这种形式便于fme的其它模块查看和读取。
在这种格式中,数据将会以列表的形式表示的。数据将存储在名为named extended_data_list{}的单独列表中,列表中的每个值
以属性标签:属性值(: . )的形式表示。不过fme仅支持以下几种application_name autocad_layer string world_position
world_displacement world_direction real distance scale 16Bit_integer 32Bit_integer 标签,属性标签决定了属性值的类型。。。。
特别说明,fme并不存储与xdate相关的AutoCAD codes 。
具体标签的说明如下
application_name
The name of the application which the following entity data is associated. This application_name remains in effect until another application_name entry is specified. AutoCAD Code: 1001
Example: application_name:ACAD
autocad_layer
The name of the layer the extended data is associated. AutoCAD Code: 1003
Example: autocad_layer:Water string
A character string value from 0 to 255 characters in length. AutoCAD Code: 1000
Example: string:Thompson Binary data
A hexadecimal string from 0 to 254 characters in length. AutoCAD Code: 1004 Example: binary:E3B4 three_reals
Three 64-bit real numbers separated by commas. AutoCAD Code: 1010,1020,1030 Example: three_reals:2.3,4.5,3.4 world_position
Three real numbers which represent a world position. Each of the numbers is separated by a comma. AutoCAD Code: 1011, 1021, 1031
Example: world_position:23.4, -123.5, 0
world_displacement
Three real values which represent a world displacement value.
Each of the values is separated by a comma. AutoCAD Code: 1012, 1022, 1032
Example: world_displacement:1.5, 2.3, 0
world_direction
Three real values which represent a world direction vector.
Each of the values is separated by a comma. AutoCAD Code: 1013,1023,1033
Example: world_direction: 30.0, -12.4, 10 real
A 64-bit real number. AutoCAD Code: 1040 Example: real:3.1415926 distance
A 64-bit real number which represents a distance. AutoCAD Code: 1041 Example: distance:4.56 scale
A 64-bit real number which represents a scaling factor. AutoCAD Code: 1042 Example: scale:34.5 16Bit_integer
A 16-bit integer value. AutoCAD Code: 1070
Example: 16Bit_integer:245 32Bit_integer
A 32-bit integer value. AutoCAD Code: 1071
Example: 32Bit_integer:12983
具体的方法
现在举一个例子来说明,fme对xdate为数据的处理方式 这是AutoCAD中xdtae中存储的数据, 格式是
符号代码 值
1001 C_NODE
1000 CONNOBJ_1=43F4 1000 COUNT=3
1000 CONNOBJ_2=43F3 1000 CONNOBJ_3=43F2
1005 163 1010 45.4 1020 -123.5 1030 0 1001 DPRINT 1000 postscript
而fme读取后在fme 的universal viewer 读取后则是以下列的形式出现 属性 值
extended_data_list{0} application_name:C_NODE
extended_data_list{1} string:CONNOBJ_1=43F4
extended_data_list{2} string:COUNT=3
extended_data_list{3} string:CONNOBJ_2=43F3
extended_data_list{4} string:CONNOBJ_3=43F2
extended_data_list{5} handle:163
extended_data_list{6} three_reals:45.4,-123.5,0
extended_data_list{7} application_namePRINT
extended_data_list{8} string:postscript
再用dwg的街坊数据的JMD这一层(cass做的)来说明
街坊数据 我们需要转两个属性 实体代码 和 房屋层数 都是xdate中,
1.参照上述,把数据加载进来。 2.只选择JMD这层
3然后 就是在源文件(左边的)上,右击 属性--format attribute 勾选 autocad_extended_list{ },ok
接着到 目标文件 (最右边的),右击 属性-format attribute 新建两个字段,stdm ,fwcs
在就是把一些不必要的元素的连接去掉,一般只要 点,线,面就好了
最后就是把源文件和 目标文件 的字段要对应好,建立正确的连接,然后就是不停的调试,看输出的shp是否符合你的要求
如果是行的话 里面还有很多函数,供你使用的
正在阅读:
用FME转DWG到SHP从原理到方法10-21
疫情防控医生工作总结2022年例文03-24
舌尖上的年夜饭作文300字07-07
超市收银员的工作岗位分析报告05-14
论《湘行散记》的语言美10-12
国航网上乘机登记使用手册国航网上乘机登记使用手册国...05-03
2022年安徽理工大学工程力学801材料力学考研强化五套模拟题04-06
新疆家庭教育知识培训平台试题及答案(全) - 图文10-20
外科选择题10-30
《设计概论》课程标准 - 图文04-04
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 原理
- 方法
- FME
- DWG
- SHP
- 五年级下册发现与探索教案 - 图文
- 最新综合英语-大连海事大学2011年硕士研究生招生考试试题
- 高级网络管理员(操作题)+答案
- 南翼信息发布系统节目制作例子(含互动节目) - 图文
- 2016年标准化建设工地试验室职责、制度
- 富川县简介
- 现场总线 期末考试
- 苏教版小学三年级语文下册《李 广 射 虎》教案
- 老庄思想比孔孟思想更适用于当今社会(一辩稿)
- 均匀带电薄圆盘场强分布的研究
- 成都中医药大学 2012年秋西医诊断学基础试卷
- 诫子书复习题
- 炼钢除尘水泵站施工方案1(图完)
- P波入射反射、透射系数推导
- 国际投资学期末考试样题
- 主要树种树高级立木材积表
- 家居智能安防系统设计
- 隧道全断面注浆方案
- 我国上市公司信息透明度对其资本成本影响的分析
- 刑法诉讼探究离任法官、检察官任职回避制度