- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于Shapefile的数据加工与ArcObjects应用-南通市测绘院有限公司
PAGE
PAGE 9
基于Shapefile的数据加工与ArcObjects应用
齐志飞
(南通市测绘院有限公司,江苏南通 226006)
【摘要】本文对Shapefile的数据转换、数据加工中一些常见问题的解决方法进行比较讨论,着重叙述了ArcObjects解决方式的特点并给出实例。
【关键字】Shapefiles;Geodatabase;ArcObjects;数据加工
Shapefile是GIS建库的常用格式之一,Shapefile从ArcView时代开始以结构清晰、简单高效的特点凭借ESRI公司的强势推动,广泛应用于GIS的各种场合。本文讨论的数据加工也是基于Shapefile格式。ArcObjects是ESRI随新一代ArcGIS推出的组件式GIS开发平台,同时还推出了新的数据模型Geodatabase。ArcObjects功能非常强大,涵盖几何编辑、数据库操作、符号化、空间分析、栅格分析、网络分析等各个方面。ArcObjects在生产中能够发挥明显作用,提高生产效率。本文也将详述ArcObjects在Shapefile数据更新加工项目中的应用过程。
1 数据采集
采集方式:屏幕数字化。加工平台:ArcGIS/ArcObjects。
2 数据转换
源数据格式:Geoway数据平台;目标格式:ESRI的Shapefile格式;
这里的数据转换已超出了数据格式转换的范围,实际上是包括数据格式转换、编码系统对应更新、数据拼合、相关层次整理、符号重绘等一系列问题。
2.1 Geoway?Shapefile
ESRI没有提供专门访问Geoway的接口,只能由Geoway生成ESRI的Shapefile或E00文件。从技术角度看,Geoway数据转换Shapefile有一些特点:
1) Geoway工作区中包含GIS数据与制图数据两类数据,转换前需要区分。否则同一地物转换会有重复。
2) 符号化信息丢失。用户无法解决的原因:一是Geoway与Shapefile数据结构不统一且Geoway没有公开的交换格式;二是Geoway没有提供二次开发接口;三是Geoway没有提供将符号信息批量转入属性表的功能,需要人工录入。
3) 生成Shapefile过程中可能出错,生成的Shapefile不能被正确打开。
4) Geoway中点、线、面、注记可共层并且可共用编码。一个Geoway层转换为若干个Shapefile。
因此Geoway?Shapefile不能解决所有问题,必要时还要经过AutoCAD进行补充。Geoway转换为DXF的符号化做得较好。
2.2 也谈DXF/DWG与Shapefile的转换
同样是数据格式转换,DXF/DWG与Shapefile的方式要灵活得多。首先DXF是一个明码的开放数据格式,其次ArcGIS可以直接读取DWG,第三DWG编辑和开发环境是AutoCAD,具有开放的二次开发接口。DXF/DWG与Shapefile转换有以下几种可选方式:
1) 利用二次开发工具生成对方的文件格式或交换文件。如利用AutoCAD的二次开发工具生成SHP/E00,要求开发者熟悉Shapefile及DBF二进制格式或者E00的文本格式,否则生成的Shapefile容易不能被打开。反之,用ESRI二次开发工具生成DXF需要对DXF格式足够熟悉。
2) 利用第三方工具,如MapInfo 通用转换器、Geoway的数据转换器、FME等。其中MapInfo和Geoway的数据转换工具可定制性较差。FME转换虽可定制,但需要掌握FME的映射语法(当然FME的界面操作可使此步骤减化)。使用第三方工具的代价是需要专门购买工具甚至整个软件平台。
3) 利用ESRI的工具 ArcCatalog/ArcToolbox导入或导出DXF/DWG。优点是操作简单,缺点是可定制性较差。并且由于Geodatabase数据精度问题,当小数位数要求较高时,由ArcCatalog/ArcToolbox生成的DXF,可能产生一些变形。
4) 利用ESRI的组件MapObjects、ArcObjects等与AutoCAD开发接口交互,创建新格式对象。例如用ArcMap的VBA通过Automation机制读写AutoCAD的DWG。该方式的缺点是需要访问注册表来获取COM类的GUID,程序运行速度较慢。这种方法不同于常规数据转换方法,实际是数据再生成。下列代码利用ArcObjects和Automation机制实现了将一个几何类型为Polygon的特征类转换为AutoCAD的Polyline实体并设置图层、Thickness等属性的功能。
Sub TransPolyline(AcadApp As Object, pFeatClass As IFeature
文档评论(0)