第六章 地图和图层.ppt_第1页
第六章 地图和图层.ppt_第2页
第六章 地图和图层.ppt_第3页
第六章 地图和图层.ppt_第4页
第六章 地图和图层.ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章地图和图层 课程预览循环获取地图和图层通过地图和图层的循环集合 枚举创建新图层层属性为层指定数据源 一 循环循环一个确切次数语法 ForToNexti基于条件的循环 当后面表达式为真 进入循环 DoUntil While RunthiscodeLoop小心无限循环 Ctrl Break DoWhileNotMsgBox 添加一个记录 vbYesMsgBox 增加记录 Loop 二 对象模型概述 FeatureLayer Map MxDocument Application ArcMapUI Layer FeatureDataset Geodatabase FeatureClass Table DataSet 0 1 Carto 相关类说明 1 Map组件类 是地图图层数据显示和操作的一个平台 一个Map对象 可以包含各种图层 可以是图形层 也可以是要素层 还可以是栅格图层 2 DataSet抽象类 表示数据集 是Workspace中数据的集合 不能创建对象 从Dataset直接或间接派生出来的有GeoDataset类 Table组件类 FeatureDataset组件类 RasterDataset组件类 3 FeatureLayer组件类要素层 要素Feature的集合及其可视化表达 4 要素类 FeatureClass 它是具有行为和属性的空间实体的集合 要素类中所有的要素都有同样的属性字段 另外 它有一个专门存放几何图形的字段 Table FeatureClass 空间列 存储了空间坐标集空间信息 FeatureClass本身也是一张表 表的所有属性要素类都有 但本身也有一个空间列 三 如何获取地图获取地图文档中的地图获得焦点地图 DimpMxDocAsIMxDocumentSetpMxDoc ThisDocument QIDimpMapAsIMapSetpMap pMxDoc FocusMap 获得所有地图 IMaps DimpAllMapsAsIMapsSetpAllMaps pMxDoc Maps 地图对象的集合 帮助F2Imxdocument 四 如何遍历地图 一 遍历Maps集合 0 1 2 SyntaxExampleForTo processeachitem Next Mapcollectionexample DimintIndexAsIntegerDimpMapsAsIMapsSetpMaps pMxDoc MapsForintIndex 0TopMaps Count 1MsgBoxpMaps Item intIndex NameNextintIndex 示例 二 访问一个已知名字的地图当一个条件为真时 永久退出循环ForNext循环 ExitForDoWhile和DoUntilLoops ExitDo DimpCityMapAsIMapDimXAsIntegerForX 0TopMaps Count 1IfpMaps Item X Name Cities ThenSetpCityMap pMaps Item X ExitForEndIfNextXMsgBox AllDone vbInformation 示例 五 地图中获取图层获取地图Map或地图文档MxDocument的图层获取所选图层 IMxDocument DimpLayerAsILayerSetpLayer pMxDoc SelectedLayer 示例程序 获取指定图层 IMap DimpLayerAsILayerSetpMap pMxDoc FocusMapSetpLayer pMap Layer 3 获得所有图层 IMap DimpAllLayersAsIEnumLayerSetpAllLayers pMap Layers 枚举图层接口 示例 集合相当于数组 Maps 此知道明确多少个 Layers是一个枚举 相当于不知道个数的集合 通过指针访问每一个元素 指针下移访问 通过位置顺序访问 Next操作访问 六 层的枚举IMap的Layers属性返回IEnumLayersNext返回ILayerReset移到最顶层 DimpLayerAsILayerDimpLayersAsIEnumLayerSetpLayers pMap LayersSetpLayer pLayers NextSetpLayer pLayers NextSetpLayer pLayers NextSetpLayer pLayers Next Nothing pLayers Reset IEnumLayerTop DimpMxDocAsIMxDocumentSetpMxDoc ThisDocumentDimpMapAsIMapSetpMap pMxDoc FocusMapDimpLayerAsILayerDimpMapLayersAsIEnumLayerSetpMapLayers pMap LayersSetpLayer pMapLayers NextDoUntilpLayerIsNothingMsgBoxpLayer NameSetpLayer pMapLayers NextLoop 不知多少个 直到该条件为空 跳出循环 如何遍历图层 PublicSubtest DimpMxDocAsIMxDocumentSetpMxDoc ThisDocumentDimpMapAsIMapSetpMap pMxDoc FocusMapDimiAsIntegerDimpLayerAsILayerFori 0TopMap LayerCount 1MsgBoxpMap Layer i NameNextiEndSub 七 如何使用图层的属性所有Layers继承Layer类ILayer属性 Name Visible ShowTips MaximumScale MinimumScale ect IGeoDataset属性 Extent SpatialReference DimpLayerAsILayerSetpLayer pMxDoc SelectedLayerpLayer Name 街道 pLayer Visible TruepLayer ShowTips False 地理数据集的特性 控件的范围 空间参考 坐标系统 精度 七 给地图加入新图层Layer是一个抽象类 不可创建 可创建的为子类 TinLayer FeatureLayer RasterLayer DimpMxDocAsIMxDocumentSetpMxDoc ThisDocumentDimpMapAsIMapSetpMap pMxDoc FocusMapDimpFLayerAsILayerSetpFLayer NewFeatureLayerpFLayer Name 新建图层 pMap AddLayerpFLayer 拷贝演示 九 设置图层的数据源使用IFeatureLayer的FeatureClass属性要素层是基于一种FeatureClass类型的数据集 FeatureClass是具有简单要素类型 点 线 多边形 普通属性集和普通空间参考的数据集 它是要素及其相应属性的集合 FeatureClass的例子有Shapefiles Coverage和Geodatabase数据集 由于FeatureClass属性是可读的属性 因此 不但可以获得数据源 还可以设定它 FeatureClass属性必须使用Set关键字 创建一个新的FeatureLayerDimpFLayerAsIFeatureLayerSetpFLayer NewFeatureLayer 获取另外一个图层的FeatureClassDimpFClassAsIFeatureClassSetpFClass pSomeOtherLayer FeatureClass 设置新图层的FeatureClass属性SetpFLayer FeatureClass pFClass 十 图层控制利用GIS进行分析和研究 往往需要多个图层文件的信息综合 所以 图层进行控制和管理对GIS来说非常重要 一般来说 用户对图层的控制需求包括 1 图层插入 移除 2 图层压盖关系调整 3 图层是否显示的控制 一 图层的添加和删除图层的移除是指将图层对象从内存中删除 而不是把数据从硬盘上删除 图层的移除包括删除某个具体图层和删除全部图层两种情况 1 移除一个具体图层 IMap Object DeleteLayer iLayer 2 移除全部图层Object ClearLayers 二 图层间关系的调整实际应用中 地图多为分层表示 一个Map中往往存在多个图层 图层间关系的调整就显得很必要 通过图层间关系的调整 用户可以选择图层之间的压盖顺序 保证用户可以将最关系的内容摆到最上层 改变图层之间的压盖关系可以用IMap接口中的MoveLayer函数 Object MoveLayer Layer toIndex PublicSubMoveLayer DimpMxDocumentAsIMxDocumentDimpMapAsIMapDimpLayerAsILayerSetpMxDocument Application DocumentSetpMap pMxDocument FocusMapSetpLayer pMxDocument SelectedLayerpMap MoveLayerpLayer pMap LayerCount 1EndSub 三 图层显示状态的控制图层的显示状态 是指图层是否可见 调整图层的显示状态 允许用户暂时地 关闭 某些图层 一方面简化了显示内容 便于阅读地图 另一方面可以提高显示刷新的效率 ILayer接口的Visible属性决定图层是否可以显示 Object Visible

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论