基于dwgdirect技术实现dem批量转换为dxf

基于dwgdirect技术实现dem批量转换为dxf

ID:5994395

大小:29.00 KB

页数:7页

时间:2017-12-30

基于dwgdirect技术实现dem批量转换为dxf_第1页
基于dwgdirect技术实现dem批量转换为dxf_第2页
基于dwgdirect技术实现dem批量转换为dxf_第3页
基于dwgdirect技术实现dem批量转换为dxf_第4页
基于dwgdirect技术实现dem批量转换为dxf_第5页
资源描述:

《基于dwgdirect技术实现dem批量转换为dxf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于DwgDirect技术实现DEM批量转换为DXF  中图分类号:TP文献标识码:A文章编号:1007-0745(2013)09-0376-02摘要:在分析基于CNSDTF-DEM格式数据的基础上,提出了实现将DEM批量转换为DXF的具体方法。并且在.NET环境下,利用DwgDirect提供的读写DXF功能,编写批量转换工具。关键词:DwgDirect,DEM,DXF,地球空间数据交换格式一、引言DEM(DigitalElevationModel)是一定范围内规则格网点的平面坐标(X,Y)及其高程(

2、Z)的数据集,它主要是描述区域地貌形态的空间分布。本文所提及的DEM数据基于中国地球空间数据交换格式CNSDTF-DEM。由于AutoCAD不能直接读取此格式的数据,因此需要将此格式转换为AutoCAD能直接读取的DXF格式。DwgDirect是OpenDWG是升级版,是ODA(OpenDesign7Alliance)开发的一套能够直接读写AutoCAD(DWG/DXF)数据的类库。通过此类库能够在脱离AutoCAD平台下直接操作DWG/DXF数据。本文正是利用此功能在.NET环境下将DEM数据批量转

3、换到DXF数据。二、主要实现步1.搭建开发环境。启动VisualStudio2010,新建一个基于.NetFrameWork3.5的项目,并添加DwgDirect引用。2.读取DEM数据并解析。基于CNSDTF-DEM格式的数据主要有两部分组成,一是文件头,二是数据体。文件头信息分为两类:基本的且必须的信息和扩充的附加信息。数据体以格网形式从南到北从西到东的顺序存储在文本文件中。读取数据的主要思路如下1)新建网格数据结构PublicStructureGridData‘数据标记CNSDTF-RASCNS

4、DTF-DEMPublicmDataMarkAsString‘版本号PublicmVersionAsDouble‘坐标单位M:米D:经纬度PublicmUnitAsString‘方向角PublicmAlphaAsDouble‘压缩方法PublicmCompressAsIntegerPublicmX0AsDouble7PublicmY0AsDoublePublicmDXAsDoublePublicmDYAsDoublePublicmRowAsIntegerPublicmColAsIntegerPubli

5、cmValueTypeAsString‘高程放大倍率PublicmHZoomAsInteger‘坐标系G:测量坐标系M:数学坐标系PublicoCoordinateAsString‘投影类型PublicoProjectionAsString‘参考椭球PublicoSpheroidAsString‘投影参数PublicoParametersAsString‘格网最小值PublicoMinVAsInteger‘格网最大值PublicoMaxVAsInteger‘获取的数组点PublicDEMPoints(

6、)AsPoint3D7‘读取DEM文件是否成功PublicReadSuccessfulAsBooleanEndStructure2)从文件中读取数据并解析。先解析文件头部分,如果文件头解析的结果不是基于CNSDTF-DEM格式的数据,则放弃解析。PublicFunctionGetDEMData(ByValFilePathAsString)AsGridDataDimobjDataAsNewGridDataDimAllData()AsString=File.ReadAllLines(FilePath,En

7、coding.Default)......ReturnobjDataEndFunction3.将读取的数据写入DXF文件。‘初始化DWG环境Ds=NewDWGdirect.Runtime.ServicesHostApplicationServices.Current=NewHostAppServ(Ds)ForIAsInteger=0ToListDEM.Items.Count-1DimobjfileAsNewFileInfo(ListDEM.Items(I).ToString)7objdem=NewDE

8、M(objfile.FullName)objdem.InvalidElevationString=PublicValue.InvalidElevationString  ......Dimpts()AsMyMFC.Geometry.Point3D=objdata.DEMPointsDimDBAsNewDatabaseUsingTransAsTransaction=DB.TransactionManager.StartTransactionDimBTAsB

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。