基于FME的SHP与CASS属性数据转换的研究
基于FME的CAD与GIS数据转换的应用研究

基于FME的CAD与GIS数据转换的应用研究摘要:在地理信息系统处理中,常常需要将CAD数据转换为GIS数据,从而形成一个数据共同使用的通道,从而能够对信息资料进行充分利用,并降低投入。
本文首先对FME做了概述,然后详细阐述了基于FME的CAD与GIS数据转换的关键技术。
关键词:FME;CAD;GIS;数据转换一、FME概述数据之间要实现转换,会遇到诸多问题,这为数据转换软件的诞生提供了前提条件。
本文要论述的FME软件便是一款表现较为出色的数据转换软件,其由加拿大Safe Software公司所开发。
FME软件的诞生为解决ETL问题提供了有效的方案,其指出数据转换不是表面上的数据符号的转换,其本质是一种“语义转换”,FEM还提供了重构数据的功能,这种方案能够对多种空间数据格式进行转换,也能实现多数据模型之间的转换。
这种方法不仅仅满足了数据转换的要求,同时也大大提高了数据转换的质量。
中间格式的语义转换时FME转换的核心和关键,映射文件中包括的内容很多,如:源数据到目的数据间的转换、源数据到目的数据间的配置。
FME包含多种多样的数据类型,要素工厂要与实际情况相结合来进行数据的合并和分割。
另外,模块的转换需要与某个形式相依附,在这个形式的助力之下完成不同表达格式之间的转换。
二、技术实现上图主要展现出基于FME的CAD与GIS的数据转换的过程。
FME中阐述了数据转换引擎这一概念。
从本质上来讲,FME构建模型时,主要是围绕着Open GIS的规则。
这个模型当中包含有很多个GIS数据,要建立“数据通道”,便需要对不同数据格式的差异进行分析,并明确Open GIS的数据模型与数据模型两者之间的关系,那么无论数据格式是哪一种,都不会影响“数据通道”的建立。
也正因如此,不管是进行数据格式的转换还是进行数据模型的转换,都能够有效保证数据的完整性,并不易发生数据丢失的问题。
在FME数据转换引擎上,CAD和GIS都可以轻松找到与自身相应对的映射关系。
基于FME的SHP与CASS属性数据转换的研究

基于FME的SHP与CASS属性数据转换的研究本论文主要介绍了FME的转换机制及CASS属性数据的存储方式,研究了如何利用FME的语义转换机制解决SHP与CASS属性数据相互转换中的问题。
以某地籍数据为例,建立基于FME的SHP与CASS属性数据转换模型,为地籍数据共享和数据建库提供解决方案。
标签:FME CASS 数据转换SHP近年来,在各地地理信息化系统建设的过程中,CASS软件和ARCGIS软件运用较为普遍。
前者是南方公司基于CAD开发的数据采集软件,数据格式为dwg,制图功能强大,在测量及数据采集市场上占有较大份额;后者是ESRI公司的地理信息管理方案,主要矢量数据格式是.shp,拥有强大的空间分析和数据统计能力,成为各地信息化建设的主流平台。
由于各自的特点,这两种软件分别广泛运用于外业测量单位和各地、市国土单位的信息中心,两者数据格式的转换就成为了地理信息系统建设中最为重要的一环。
数据转换主要包括空间数据的转换和属性数据的迁移。
当前,空间数据的转换,也就是点、线、面、曲线、圆弧等图形元素的转换已经能够通过相关平台很好的完成,但是属性数据的迁移还很难做到无损迁移[1]。
本文就是通过FME这一工具,研究SHP与CASS属性数据的相互转换,为数据共享和数据建库提供解决方案。
1CASS属性结构介绍南方CASS是基于CAD二次开发的地形、地籍成图软件,由于其制图功能强大,操作简单,在测绘行业有着广泛的运用。
CASS的图形数据和属性数据是按照一定的数据结构经过特殊的压缩记录在dwg文件当中的[2]。
CASS数据不按照层类型严格划分要素的几何类型,几何要素的扩展属性信息存储在单个几何实体的扩展属性(XDATA)中,它是附加在图形要素上的一组数据块,一个CASS 空间实体能够存储64k大小的扩展属性[3]。
CASS的扩展属性在存储过程中没有字段名的概念,它是通过不同的注册用户名将多条属性存放在XDTA中,各条数据互不影响。
基于CASS软件的数字化成图及SHP数据转换方法

基于CASS软件的数字化成图及SHP数据转换方法常德娥1程 俊2(1.广东工贸职业技术学院,广东广州 510510;2.广州市污水治理有限责任公司,广东广州 510665)【摘 要】随着计算机技术及信息技术的发展,GIS系统、数字城市、数字地球等概念的提出和建设基础,要求测绘成果的数字化,最终能满足GIS系统的分析和应用。
文章基于CASS软件讲述从外业基础测绘到数字化成图,并进行数据检查,最终数据转换,研究出符合ARCGIS平台数据成果的方法。
【关键词】CASS;GIS;数字化成图;SHP数据【中图分类号】TP319 【文献标识码】A 【文章编号】1008-1151(2011)01-0032-02(一)数字化成图简述当今的测绘成果不仅只是图形化、电子化,还要满足属性查询、空间分析、科学统计的深层次应用。
因此,数字化成图要求测绘成果具备空间拓扑关系,各种实体要素的属性信息要规范完整,最终生产出满足GIS系统分析和应用的数据成果。
(二)CASS软件作为数字化成图工具的优点CASS地形地藉成图软件是基于AutoCAD平台技术的数字化测绘数据采集系统。
广泛应用于地形成图、地藉成图、工程测量应用三大领域,且全面面向GIS,彻底打通数字化成图系统与GIS接口,使用骨架线实时编辑、简码用户化、GIS 无缝接口等先进技术。
1.基于AUTOCAD平台。
CASS地形地籍成图软件是基于AUTOCAD平台开发的数字化成图软件,它充分继承了AUTOCAD 强大方便的绘图编图打印等功能。
在普遍用AUTOCAD平台制图的测绘行业,CASS软件得以广泛接受和应用。
2.支持多种类型和型号的测绘仪器。
CASS软件具备国内外多种类型和型号测绘仪器的数据接口,可以将外业测量过程中保存的测绘数据导入到CASS软件,并生成标准的坐标数据文件。
3.丰富的符号库。
CASS软件具有丰富的符号库,按实体类型分,有控制点、居民地、交通设施、管线设施、水系设施、植被绿化、境界线等;按拓扑分,有点符号、线符号、面符号。
FME实现cass属性数据的全转换

用FME转换cass属性数据用FME直接转换cass闭合面数据到shp数据,如果数据存在注记则会出现如图4个图层,以cass数据中的JZD层为例其中图形数据储存于面状层,注记层存在于text层,其中所有的数据都存在于text_string 字段,如图所示:,在后期入库时非常麻烦,要用SQL把text_string中的所有数据按字段区分,而且不好区分,所以就另辟蹊径,找寻其他方法。
在cass环境下查看图形属性,图形的属性也是名称、地籍号和地类编码,这时就想着能不能把这三中属性分别对应起来,而不是在一个字段下。
用FME打开cass数据,查看其属性发现大多数属性都在名为extend data{0}.string{0.1.2.3.}中存储,这样我就可以把属性分开放了,具体做法如下:1 查看属性存放的字段属性存放在extend data{0}.string{0.1.2.3.}2 在属性中选择需要的extend data{0}.string{0.1.2.3.}3 找准对应关系,是关于点线面的哪个数据。
4 在所选的点线面图层属性右键选择exepose element (拓展所有属性),这里的拓展属性是指在extended_data{0.1.2……}.string,中拓展存放属性的data的属性,直至上图变为(拓展完后的string是有数字的)5 在第三栏选择编辑需要导出的属性如图:然后连接所有属性6 打开arccatelog查看属性是否导入成功。
7 于原数据比较,发现有个别属性遗漏,这时我就来查找原因,发现有的属性数据与大多数属性数据的存放位置不同,可能是cass中后期的修改所致,找出没有对应的data字段,重复上述方法,就可转换出所有数据。
fme转换arcgis、cass

一般的基础地形CASS转SHP是没有问题了,这个扩展属性比较简单,一般只有CODE及NAME二个属性。
转出代码后再连接相应的属性就可以。
而宗地的扩展属性就多了,简单点的只有四五项,复杂的十几二十几个字段。
如下图,简单与复杂的宗地扩展属性:由于之前没有做过宗地转SHP,因此首先想到的是用EXCEL表录入宗地数据信息,再用ARCGIS连接处理.问了一些做宗地的朋友,说太费时,如果原数据有EXCEL对应的属性表还好,基本上都是只一个DWG文件.重新录入这条路不行.再仔细看看了CASS的功能,发现CASS本身就带有这个功能,在地籍菜单栏下,有个输出宗地属性:利用这个功能输出一个MDB的数据表.再通过宗地号进行连接.这样又出现一个问题,输出的宗地面,代码全是300000,还得关联到宗地号才能号做数据表的连接.用CASS的编码到图层,把宗地的编码全筛选到一个新图层,再输出为SHP,通过ARCGIS的空间连接,把输出的宗地号,赋到宗地的某个字段上,将宗地号赋到宗地后:经过上面操作,宗地面已赋好相应的宗地号,再连接CASS输出的宗地表.这样的话就完美了.CC.MDB是CASS输出的宗地属性表.300000_SPATIALJOIN是赋有宗地号的宗地最后的宗地面属性如下,所有扩展属性均和原DWG属性相同土地调查属性转换不同于宗地属性可以输出EXCEL表,宗地属性转SHP请见另一文章。
这里主要用到FME的数据转换功能,即把CASS的扩展属性不丢失转换到ARCGIS的字段中。
1.先看看这张图:CASS的扩展属性("south" (1000 . "310000")) 对应图斑属性编码“310000”,("TBBH" (1000 . "7"))对应图斑号“7”,("DLDM" (1000 ."111")) 对应地类号。
FME-MAPGIS转CASS数据

FME workbench界面
选择需要转换的数据及数据类型
选择默认的色彩类型
单击“”
结果如下:
主菜单下选择要转换成的数据类型及文件路径
选择默认的色彩类型及数据类型版本(例如CAD2004)
单击“”
单击“”
全选加入的单文件如下:
单击右键选择“duplicate(on writer)”如下
单击右列“区文件”后
此界面下选择区文件内的分层字段(如“土地用途区类型代码”)
此界面下选择CAD色彩模式:选择“autocad_entity”
单击“”
空白处单击右键,选择“insert constant”增加如下命令:
选择右列区文件的属性如下:
连接“”至右列最后一行,如下:
然后双击左侧如下命令:
见如下菜单,单击“”
单击此按钮如下:
待转换完成后打开转换后文件如下:。
基于FME的空间数据转换流程设计在GIS数据建库中的研究与应用

基于FME的空间数据转换流程设计在GIS数据建库中的研究与应用摘要:GIS数据建库是地理信息系统建设的重要组成部分,而建库工作的本身就是将多源数据按GIS数据库的设计要求导入GIS数据库的过程。
目前拥有的前端数据源有很多种,通常以CAD格式为主。
本文结合乌鲁木齐基础地理信息共享平台项目建设数据建库工程,研究基于FME数据转换流程设计的CAD数据源到ARCGISSDE空间数据库数据转换的方法。
关键词:FME Geodatabase AutoCAD 地理编码l 引言乌鲁木齐基础地理信息共享平台系统建设的核心在于数据和基于数据的服务,在系统的开发中,数据建库工程占到了整个系统开发工作的70%以上。
目前我们拥有的前端空间数据源以AutoCAD(dwg)格式为主,在CAD数据模型中,点、线、面等几何要素以二进制形式保存于文件中。
AutoCAD具有强大的绘图功能和处理矢量图形的能力,广泛地被应用在工业设计、机械设计、建筑设计、城市规划之中。
但从空间地理信息系统的角度来看,CAD对空间数据信息的描述和分析有着致命的弱点。
因此已有的AutoCAD数字地形图只能作为GIS数据建库的基础数据源,而非空间信息数据库。
所以,为充分利用已有的数据资源,就必须有一个切实可行的处理方法,将已有的cad数字地形图数据转换为适用的GIS数据,以便更高效地服务于城市基础地理信息共享平台。
FME(FeatureManipulateEngine)Suite软件是一种空间数据转换软件,是专门用于不同空间数据格式之间进行数据转换的软件。
FME可以看成是一种中间平台,不同格式的空间数据通过它转人或转出。
各类GIS系统数据格式都在发展过程中。
采用信息内容不同的数据结构和数据模型来表达以上信息(但不一定全部支持以上模型),要实现多元数据的访问和应用,就必须建立一个统一的数据模型来解决该问题。
FME提供了一个多元数据转换、应用及共享的解决方案。
它提出一个数据转换引擎的概念,其实质是根据OpenGIS的规则,建立一个非常详尽的包含了以上所有内容的GIS数据模型。
基于FME的CASS房屋数据处理应用研究

第41卷第5期2018年5月测绘与空间地理信息GEOMATICS&SPATIALINFORMATIONTECHNOLOGYVol.41ꎬNo.5Mayꎬ2018收稿日期:2017-02-20作者简介:俞海东(1985-)ꎬ男ꎬ甘肃兰州人ꎬ工程师ꎬ注册测绘师ꎬ学士ꎬ主要从事地形地籍测量及数据处理和建库方面的工作ꎮ基于FME的CASS房屋数据处理应用研究俞海东ꎬ吴舒梦(广东省地质物探工程勘察院ꎬ广东广州510800)摘要:通过FME实现了CASS房屋数据拓扑㊁分层等方面的自动处理ꎬ高效准确地按照房屋结构注记和层数给无属性的房屋配置属性ꎬ使属性满足CASS环境下房屋属性数据标准的要求ꎬ便于后续数据转换及入库ꎮ关键词:FMEꎻ房屋数据ꎻ处理ꎻ属性ꎻ方法中图分类号:P208㊀㊀㊀文献标识码:A㊀㊀㊀文章编号:1672-5867(2018)05-0108-02ResearchonApplicationofCASSHousingDataProcessingBasedonFMEYUHaidongꎬWUShumeng(Geologic&GeophysicalEngineeringExplorationInstituteofGuangdongProvinceꎬGuangzhou510800ꎬChina)Abstract:InthispaperꎬtheautomaticprocessingofCASShousingdatatopologyꎬstratificationandsoonisrealizedbyFMEꎬandtheattributeofhousingisnotvalidaccordingtothehousingstructureannotationandthenumberoflayersꎬsothattheattributesatisfiestheattributeindexofhousingpropertyinCASSenvironmentRequirementsforeasyfollow-updataconversionandstorage.Keywords:FMEꎻCASShousingdataꎻprocessingꎻattributeꎻmethod0㊀引㊀言目前ꎬ南方CASS因界面直观㊁操作简便㊁易于数据编辑被广泛应用于地形图编辑中ꎮ与清华山维等图形编辑软件比较ꎬCASS也存在一些不足ꎬ比如按照地形图编绘规范要求房屋有分层且必须是由共边的两个完整的面状房屋组成ꎬ但在CASS里面可以绘制一个外围的面ꎬ在中间画一条分层线也可以显示而不提示错误ꎮ还有ꎬ房屋注记和房屋属性不一致㊁图形的压盖㊁重叠都可以显示ꎬ而不提示错误ꎬ这给后期的数据处理带来了很大的麻烦[3]ꎮ另外ꎬ涉及数据拓扑㊁属性等方面的处理需要进行二次开发或者将数据转换后在ArcGIS里面处理ꎮ对于一些不熟练开发的测绘技术人员而言ꎬ这类问题显得尤为棘手ꎮ而在FME软件中ꎬ这类问题就变得较为容易了ꎬ只需要在FMEWorkbench中构建处理模板ꎬ不需要任何编程语言ꎬ便可轻松快捷地处理问题ꎮFME(FeatureManipulateEngineeringꎬ简称FME)是空间与非空间数据分析㊁处理㊁转换㊁共享的方案定制软件ꎮFME支持超过300种格式的空间数据与非空间数据的处理与转换ꎬ且有超过400个的转换器可以任意组合ꎬ可以对数据的图形和属性做灵活高效㊁快速可靠的处理转换[1]ꎮFME的功能主要有可以同步浏览各种格式的图形㊁属性和坐标数据ꎬ提供自定义的数据转换界面ꎬ将数据转换与GIS数据处理功能结合在一起[2]ꎮ还能够处理栅格数据㊁点云数据ꎬ坐标系统转换与定义㊁网络服务等ꎬ支持海量数据的处理ꎬ只需要定制好数据处理流程模板ꎬ不需要编程ꎬ花费较短的时间就能够快速完成数据处理ꎮ1㊀原始房屋数据情况由于项目原因ꎬ接手了一批地形图数据进行处理ꎬ分析数据发现ꎬ由于以前作业不规范㊁检查不到位等原因ꎬ导致房屋数据较为混乱ꎬ根本无法达到房屋调查和入库的标准ꎮ总体来说ꎬ房屋数据的错误归类为以下4个方面ꎬ如图1所示ꎮ1)房屋有重叠㊁悬挂等拓扑问题ꎻ2)房屋的分层不规范ꎬ大部分直接在一房屋面中间画线分割ꎬ部分存在大房屋内套小房屋的情况ꎻ3)大部分房屋在CASS中没有属性ꎬ部分房屋注记和属性逻辑不一致ꎻ4)部分房屋图面注记层数和房屋属性层数不一致ꎮ图1㊀原始房屋数据错误类型Fig.1㊀Originalhousingdataerrortype2㊀房屋数据处理思路方法和流程2.1㊀房屋处理的思路首先ꎬ对所有的房屋进行外业巡查ꎬ重点核实房屋结构注记和层数ꎬ保证完全正确ꎻ其次ꎬ进行拓扑处理ꎬ重新构面ꎬ确保房屋面唯一闭合ꎬ便于后续匹配属性ꎻ最后将注记和新构房屋面进行叠置分析ꎬ配置属性ꎮ叠置分析是对新要素的属性按一定的数学模型进行计算分析ꎬ其中往往涉及逻辑交㊁逻辑并㊁逻辑差等的运算ꎮ根据操作要素的不同ꎬ叠置分析可以分成点与多边形叠加㊁线与多边形叠加㊁多边形与多边形叠加ꎮ叠置分析不仅生成了新的空间关系ꎬ而且还将输入的多个数据层的属性联系起来产生了新的属性关系ꎮ根据点面叠置分析关联产生的新的列表属性ꎬ对房屋面进行属性匹配和赋CASS编码ꎮ2.2㊀房屋数据处理的方法首先打印房屋数据进行外业巡查ꎬ经过巡查发现ꎬ图面房屋注记和层数完全正确ꎮ将房屋数据导入FME软件ꎬ在读模块中暴露房屋注记和层数属性ꎬ按照几何类型过滤ꎬ分别为点㊁线㊁面㊁弧㊁段注记和其他要素ꎻ将线㊁面要素通过节点拆分成线段ꎬ对拆分后的要素计算交叉ꎬ当一个几何对象与另外一个几何对象在测量误差内ꎬ但是并不产生实际的接触和跨越时ꎬ创建虚拟交叉ꎬ这样就可以确保每个节点或疑似节点处均被打断ꎬ所有的重复要素全部被清理ꎻ接下来对这些要素进行拓扑构面ꎬ然后将过滤出的注记和新构面进行点面叠加操作ꎬ对叠加后的数据进行筛选ꎬ根据筛选后的房屋结构注记确定CASS编码ꎬ然后分别按照CASS房屋数据属性要求创建属性ꎬ再通过写模块和模板文件设置ꎬ即可输出拓扑属性均正确的房屋数据ꎮ2.3㊀房屋数据处理的流程房屋数据处理的流程如图2所示ꎮ3㊀数据处理模板数据处理流程模板如图3所示ꎮ图2㊀FME房屋数据处理的流程Fig.2㊀FMEHousingdataprocessingflow图3㊀数据处理流程模板Fig.3㊀Dataprocessingprocesstemplate本过程主要用到了Chopper转换器ꎬ将面㊁线按照节点转为线段ꎬMRF2DIntersector按照容差在交叉出分割线和计算虚拟交叉ꎬ并清理重复要素ꎬAreaBuilder转换器用来构建房屋面ꎬPointOnAreaOverlayer转换器进行点面叠加ꎬ将房屋注记和层数与新构建的房屋面叠加操作ꎬTester转换器用来过滤筛选ꎬAttributeCreator转换器用来创建新属性ꎮ4㊀结束语本次用于处理的房屋数据数量较大ꎬ并且错误五花八门ꎬ如果靠人工处理ꎬ费事费力ꎬ工作效率低下ꎮ通过外业巡查ꎬ应用FME完美高效地处理了数据拓扑㊁房屋分层错误ꎬ尤其是在房屋线属性创建中发挥了重要的作用ꎮ本次处理房屋面多达25000个ꎬ用时20minꎬ事后查验没有出现房屋属性和结构注记㊁注记层数的逻辑不一致ꎬ较大地提高了生产效率ꎮ参考文献:[1]㊀周玉国.基于FME的宗地四至信息的提取[J].地矿测绘ꎬ2016ꎬ32(1):43-45.[2]㊀陈香.基于FME的CAD数据到GIS数据无损转换方法研究[J].测绘与空间地理信息ꎬ2013ꎬ36(8):163-165. [3]㊀覃东华ꎬ赵秉东.基于CASS与FME的宗地图生成方法的探讨[J].测绘与空间地理信息ꎬ2013ꎬ36(11):283-285.[编辑:任亚茹]901第5期俞海东等:基于FME的CASS房屋数据处理应用研究。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于FME的SHP与CASS属性数据转换的研究本论文主要介绍了FME的转换机制及CASS属性数据的存储方式,研究了如何利用FME的语义转换机制解决SHP与CASS属性数据相互转换中的问题。
以某地籍数据为例,建立基于FME的SHP与CASS属性数据转换模型,为地籍数据共享和数据建库提供解决方案。
标签:FME CASS 数据转换SHP近年来,在各地地理信息化系统建设的过程中,CASS软件和ARCGIS软件运用较为普遍。
前者是南方公司基于CAD开发的数据采集软件,数据格式为dwg,制图功能强大,在测量及数据采集市场上占有较大份额;后者是ESRI公司的地理信息管理方案,主要矢量数据格式是.shp,拥有强大的空间分析和数据统计能力,成为各地信息化建设的主流平台。
由于各自的特点,这两种软件分别广泛运用于外业测量单位和各地、市国土单位的信息中心,两者数据格式的转换就成为了地理信息系统建设中最为重要的一环。
数据转换主要包括空间数据的转换和属性数据的迁移。
当前,空间数据的转换,也就是点、线、面、曲线、圆弧等图形元素的转换已经能够通过相关平台很好的完成,但是属性数据的迁移还很难做到无损迁移[1]。
本文就是通过FME这一工具,研究SHP与CASS属性数据的相互转换,为数据共享和数据建库提供解决方案。
1CASS属性结构介绍南方CASS是基于CAD二次开发的地形、地籍成图软件,由于其制图功能强大,操作简单,在测绘行业有着广泛的运用。
CASS的图形数据和属性数据是按照一定的数据结构经过特殊的压缩记录在dwg文件当中的[2]。
CASS数据不按照层类型严格划分要素的几何类型,几何要素的扩展属性信息存储在单个几何实体的扩展属性(XDATA)中,它是附加在图形要素上的一组数据块,一个CASS 空间实体能够存储64k大小的扩展属性[3]。
CASS的扩展属性在存储过程中没有字段名的概念,它是通过不同的注册用户名将多条属性存放在XDTA中,各条数据互不影响。
利用CAD的扩展工具Expresstools中xdlist可以查看CASS中数据的存储情况,以某一宗地的数据为例,如下:* Registered Application Name:SOUTH* Code 1000,ASCII string:300000* Registered Application Name:QLR_QLRMC* Code 1000,ASCII string:王胜强* Registered Application Name:QLR_DJH* Code 1000,ASCII string:0010040071000* Registered Application Name:TDZL* Code 1000,ASCII string:洪山镇郑桥村第一条记录的注册名为“SOUTH”,其值为“300000”,表示的是宗地在CASS 中的编码;第二条记录的注册名为“QLR_QLRMC”(權利人名称),其值为“王胜强”;第三条记录的注册名为“QLR_DJH”,其值为“0010040071000”。
其它属性数据也是按照这种结构存储在CASS的XDATA中。
2FME介绍FME(Feature Manipulate Engine)是加拿大Safe Software公司的一套空间数据转换方案,现在已经支持超过300种数据格式的转换,不仅支持主流的空间数据格式转,还可以通过开发组件增加新的自定义数据格式,现在已经广泛用于空间数据整理方面[3]。
FME不同于以往的单一数据格式转换,不只是一个封闭式的输入、输出接口,而是基于语义的转换方式。
在语义转换模式下,用户可以通过自己的意愿编辑和修改数据,使之成为新的数据元素[5]。
FME在转换过程中,通过视图的方式读取源数据和写入目标数据,在源数据和目标数据间建立映射关系,并且可以通过FME提供的一些函数工具,对空间数据和属性数据在转换过程中进行一些编辑和干预,使之达到数据转换的目的,FME数据转换模型如图1所示。
3CASS与SHP属性数据转换技术路线FME包含了大量的数据结构,其中包括了CAD与SHP的数据结构和模型[6]。
因此基于CAD开发的CASS数据可以通过FME的语义转换方式,达到其属性数据与SHP属性数据相互无损转换的目的。
本文讨论的CASS与SHP属性数据转换包括两个方面,一个方面是CASS属性数据向SHP的转换;另一方面是SHP属性数据向CASS数据转换。
因为FME无法直接支持CASS数据,所以在CASS属性数据向SHP数据转换的过程中,要通过曝露属性的方式来解析CASS属性数据;同样,在SHP属性数据向CASS数据转换的过程中要在CAD 的扩展属性中创建注册运用名,写入相应字段名和属性数据,使得最后成果能被CASS软件识别。
4CASS与SHP属性数据相互转换,以某地籍宗地数据为例4.1CASS属性数据转SHP数据,解析CASS属性数据由于CASS将实体的属性存储在扩展属性(XDATA)中,FME对CASS属性数据无法直接解析,而是通过extended_data{N}.application_name和extended_data{N}.string{0}这样两组字段来读取CASS的属性数据(N代表自然数),通过FME的浏览模块FME Universal View我们可以方便查询到FME读取CASS属性的方式,以某一宗地为例如图2:如图2所示,extended_data{N}.application_name代表了CASS属性中的一个字段名,紧接着的字段extended_data{N}.string{0}代表了相应字段名的内容。
图2表示此宗地的信息如下:QLR_QLRMC(权利人名称):王胜强TDZL(土地坐落):洪山镇郑桥村QLR_DJH(权利人地籍号):0010040071000extended_data{N}.application_name中的N代表了字段名在某个实体记录中的序列号,通常跟extended_data{N}.string{0}一起用相同的序列号来分别表示一条记录中的字段名和内容,但是由于在CASS软件操作中的顺序和内容不同,属性字段名在每一个实体中对应的字段名序列号是不同的,例如QLR_QLRMC在图2中显示的序列号是15,但是在其他宗地中显示的序列号就不一定是15。
4.2CASS属性数据转SHP数据具体操作通过分析FME读取CASS属性后,可以运用FME Workbench创建CASS到SHP的映射关系。
由于CASS中字段名在每一个实体中的extended_data{N}.application_name所处的序列号不一样,所以需要通过ListSearcher函数来搜索出需要转换的字段名,如图3所示,搜索字段名QLR_QLRMC,并将它赋值给AppNameMatch1这个字段,然后通过ListIndexer 函数,精确指定元素列表属性,如图4所示。
在转换的过程中,因为ListIndexer一次只能指定一条属性,因此在转换多条属性的情况下,需要将宗地的面状数据转成点,分条转换,然后再利用PointOnAreaOverlayer函数,采用空间挂接的方式,将分条属性数据挂接到指定的宗地面数据上,转换全视图如图5所示,转换为SHP数据的宗地属性如图6所示。
4.3SHP属性数据转CASS数据由以上分析得知,CASS数据存储时,注册名对应SHP数据的字段名,紧跟注册名的数据内容对应SHP数据字段的内容,因此,SHP属性数据转CASS的关键在于要将SHP数据的字段名写入到CASS扩展属性中的注册名。
但是,FME 只支持每次向CAD文件写入一个注册名,即默认注册名。
通过此方式直接从SHP 属性数据转到CASS数据,只能保留一个注册名,其他的属性则以扩展属性形式,直接写入到XDATA中,如下所示:* Registered Application Name:SOUTH* Code 1000,ASCII string:QDJG=0* Code 1000,ASCII string:QLR_QLRMC=王胜强* Code 1000,ASCII string:QLR_DJH=0010040071000* Code 1000,ASCII string:TDZL=洪山镇郑桥村* Code 1000,ASCII string:FZMJ=0此種数据存储格式可以通过CAD扩展工具命令XDLIST查看,但是不能被CASS软件直接读取和运用,不利于数据的编辑。
SHP属性数据转CASS数据,可以通过扩展组件MyFME来实现。
MyFME是开发者利用FME提供的FME Plug-In SDK开发组件编写的扩展组件,FME Plug-In SDK允许开发者将自己的格式和功能加入到FME中,以扩大FME所支持的数据格式。
现在MyFME组件已经支持CASS、MAPGIS、Supermap等国内GIS数据格式。
MyFME支持CASS 数据中注册名的直接读写,因此,可以通过直接建立映射关系转换数据,映射关系视图图7所示,转换结果如图8所示。
5结语通过基于语义转换机制的FME,我们可以快速实现CASS属性数据和SHP 属性数据间的无损转换,提高了操作人员的数据转换效率,解决了空间数据转换中属性数据迁移这一难题,对地图数据的共享有着重要的理论意义。
同时,FME 提供的大量函数工具,支持用户在数据转换中对数据进行必要的编辑和处理,这具有巨大的灵活度,使得用户可以控制转换过程,以获取需要的目标数据。
虽然FME本身不支持国内众多的GIS数据格式,使得国内用户在数据转换中需要做大量的数据属性暴露和映射设计工作,增加了数据操作难度,但是通过FME Plug-In SDK组件开发,可以支持国内更多的GIS数据格式。
FME的广泛应用,对GIS数据操作人员来说,具有巨大的现实意义。
参考文献[1]李瑞霞,杨敏,邓喀中.基于FME的GIS到CAD数据”无损”转换[J]. 测绘通报,2009(5):55.[2]郭朝勇等. AUTOCAD 2002 定制开发[M].北京:清华大学出版社,2002.[3]刘卫国,张弛.规划库支持下的CAD数据到GIS数据自动转换方法探讨[J]. 科技创新导报,2009(26):252-253.[4]黄静,袁建东.FME在空间数据处理中的应用[J].测绘标准化,2011,27(2):40.[5]曾巧玲,张书亮,姜永发等.利用FME实现GIS与CAD的语义转换[J].计算机工程与应用,2005(13):214.[6]安丹,汤军.基于FME的CAD与GIS数据转换的应用研究[J]. 软件导刊,2010,9(10):26.。