- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 第6章 空间对象编辑 内容回顾: (1)图形查询属性过程 soLayers soLayer soDatasetVector soRecordset soSelection 获得记录集 显示记录集 Query( ) (2)SQL查询原理 本 章 目 标 通过本章学习,能够使用SuperMap Objects控件编写代码,掌握并实现以下编辑功能: 1、通过交互方式和代码控制方式在图层中新增相应的几何对象; 2、新增属性字段; 3、修改几何对象和属性字段值。 第6章 空间对象编辑 6.1 增加几何对象 第6章 空间对象编辑 6.1 增加几何对象 6.1.1交互式添加——实现思路 步骤一 步骤二 步骤三 添加对应类型 的图层 AddDataset( ) 设置图层可编辑 SetEditable( ) 设置鼠标状态 Action属性 第6章 空间对象编辑 6.1 增加几何对象 6.1.1交互式添加——主要方法 控件 SuperMap 控件 方法 AddDataset() SetEditable() Action属性 对象 soDataset soLayers 第6章 空间对象编辑 用于设置地图窗口中的某一图层为可编辑图层,并自动设置其他图层为不可编辑 SetEditableLayer soLayers 用于删除数据集中的当前记录 Delete 用于获得数据集的属性数据表中当前记录对应的几何对象 GetGeometry 用于修改记录集当前位置的几何对象,覆盖原来的几何对象 SetGeometry 用于在soRecordset 中追加一条记录。返回值为新加入的记录对应的几何对象的ID号 AddNew soRecordset 功能描述 属性、方法 控件及对象 第6章 空间对象编辑 语法描述 新增几何对象的方法有两种:一种是通过交互式的方法,采用 SuperMap.Action 操作进行添加;另一种是通过 soRecordset.AddNew方法在程序中自动添加。 采用第一种方法会自动在记录集中添加一条新记录。 (1) Boolean soLayers.SetEditableLayer ( Index As Variant ) 参数说明: 要设为可编辑的图层的索引号(从1开始)或图层名称(名称不区分大小写) Variant 必选 Index 描述 类型 可选 参数 第6章 空间对象编辑 (2) SuperMap.Action =seAction 参数说明: …….. ……… 创建平行四边形或填充的平行四边形 scaEditCreateParallelogram 创建圆角矩形或填充的圆角矩形 scaEditCreateRoundRectangle 创建矩形或填充的矩形 scaEditCreateRectangle 创建曲线 scaEditCreateCurve 创建折线 scaEditCreatePolyline 创建弧段 scaEditCreateEllipticArc 创建直线 scaEditCreateLinesect 创建点 scaEditCreatePoint seAction 描述 常数 参数 第6章 空间对象编辑 实例1:使用Action方法在地图窗口中打开的图层中添加几何对象 窗体设计:添加一个Command控件并将其的Caption改为“交互式编辑” 主要步骤: (1)设置图层为可编辑:SuperMap1.Layers.SetEditableLayer (2)判断图层中的数据集类型,并添加相应类型的对象 (3)在地图窗口中用鼠标绘制相应的对象 第6章 空间对象编辑 代码: Private Sub Command1_Click() 交互式编辑 Dim objDt As soDataset ‘1 If SuperMap1.Layers.Count = 0 Then MsgBox 请先打开图层! Exit Sub End If ‘2 SuperMap1.Layers.SetEditableLayer 1 ‘3 Set objDt = SuperMap1.Layers(1).Dataset
文档评论(0)