SuperMap Objects 入门教程-1

SuperMap  Objects  入门教程-1

目的:

了解SuperMap Objects 最基本的操作流程。

实用对象:

初次接触SuperMap objects 控件的用户。

涉及到的对象与相关接口(事件、属性、方法)

1. SuperMap 对象:用于显示地图、地图图层管理、地图放大、缩小等;SuperMap对象亦用于完成地图编辑以及其他与地图有关的操作。同一个工程中可以有多个 SuperMap 控件。

成员

说明

Action 属性

返回/设置  SuperMap 对象的当前Action 操作类型,Action 的值是一个SeAction 常量.

通过设置 Action 属性可以完成与鼠标有关的操作,当 Action 的值为零时,表示不进行任何操作。通常与地图显示有关的操作如地图的放大、缩小、自由缩放、平移以及简单的编辑操作如画点、画线、画面等都可以通过设置 SuperMap 控件的 Action 属性完成,具体请参阅 seAction 常量。

Selection属性

返回/设置 SuperMap 对象中别选中的空间对象集合,在SuperMap 地图窗口中,可以有多个图层同时处于选择状态,但当前被选中的图层只能有一个,即SuperMap.Selection 只能包含同一个图层上的空间对象。 返回soSelection 类型的对象

Layers 属性

返回SuperMap 对象中图层集合,在SuperMap 对象中,可以叠加显示多少个图层,通过该属性可以返回图层集合对象,便于管理图层叠置顺序、可已编辑状态已经对所有图层对象的引用。返回类型soLayers

ViewEntire()方法

显示全幅地图

Connect()方法

用于建立SuperMap 对象与SuperWorkspace对象之间的链接SuperWorkspace 是专门负责管理数据的,SuperMap 地图窗口中显示的数据都取自 SuperWorkspace,因此,显示之前需要建立 SuperMap 与 SuperWorkspace 的连接。当连接成功时,返回 True。此外,控件使用中,凡是需要读取工作空间中数据的,都需要与工作空间建立连接。如SuperLayout 布局控件、SuperAnalyst分析控件、Super3D三维控件、SuperWkspManager工作空间管理器控件等。

Refresh()方法

刷新地图窗口或者说是从新装置地图

Disconnect()方法

中断SuperMap 对象与SuperWorkspace 对象之间的连接。

GeometrySelected()事件

当地图窗口中的空间对象被选中时触发,对于并不同的选择方式,该事件触发的顺序不同。1.点选,框选,圆选时,先触发GeometrySelected,然后是MouseDown事件;
2.点框选时先触发MouseDown,再触发GeometrySelected

2.  SuperWorkspace 对象:主要完成数据的组织、管理、处理,包括打开、关闭、新建、保存工作空间文件(*.smw),新建、打开数据源文件(*.sdb),修复、压缩数据源文件、字体文件的装载,卸载等等。 工作空间是一个工程项目(同一个事务过程 Transaction)中所有的数据源(soDatasources)、资源(soResources)、布局(soLayouts)等数据的组织关系的集合。

成员

说明

ObjectHandle属性

返回工作空间的句柄

Handle属性

返回工作空间的句柄

OpenDataSource() 方法 

打开文件数据源,StrDataSDourceName数据源文件的全路径名. nEngineType :数据源的引擎类型,常用的类型有SDBSDBPlusMicroStation DGNAutoCAD DXFAutoCAD DWGBMPJPGTIFF 和 RAW


3. soDataSets 对象:该对象是 soDataset 对象的集合,通常作为 soDataSource 对象的一个属性,是指一个数据源所包含的所有数据集的集合。
可以通过数据集的名称或者索引来访问某个数据集。如:SuperWorkspace.Datasources(1).Datasets("World")

4. soDatasetVector对象:矢量数据集对象.用于对矢量数据集进行描述、管理和操作。
3)数据集是由 SuperWorkspace 进行管理和组织的,常常通过把数据集加到 SuperMap 的图层中的方式来显示和编辑数据。

成员

说明

Query 方法

通过属性过滤条件查询矢量数据集,结果可包含空间几何对象和属性信息。成功返回记录集对象(soRecordset),失败返回 Nothing 或者 NULL

strSQlFilter: 查询条件,相当于SQL语句中的Where 子句,

bHasGeometry:是否查询空间数据。True,表示要取空间数据;False,表示不取空间数据;若查询时不取空间数据,即只查询属性信息,则在返回的Recordset中,凡是对记录集的空间对象进行操作的方法,都将无效,例如,调用soRecordset.GetGeometry 将返回空、SuperMap.EnsureVisibleRecordset无效等。 

[objFields]:可选参数,字段列表。缺省时,查询结果包括全部字段。否则,只有列表中列出的字段,内容相当于SQL语句中的查询字段部分,如SELECT field1,field2 FROM dt1 WHERE SmID < 10,该语句中的field1field2都属于查询字段,可以用as设置别名详见本页示例部分。 

[ strOptions ]:查询选项。如查询出的结果(1)是否按某一字段排序(Order By),默认为升序,如需按降序排列,格式为"Order By * desc",其中*代表某一字段名;(2)是否按某一字段分组(Group By)等。对于SDB或者SDBPlus引擎而言,当 bHasGeometry 为 True 时,本参数无效。 

5. soLayers 对象图层集合对象。该对象作为 SuperMap 控件的图层集合对象(soLayers),用来管理地图中的所有图层,可对其进行添加、移动、删除等操作。该对象不可创建。

6. soRecordset 对象:记录集对象,记录集相当于一个数据的子句,通常通过通用查询或者选择的方式得到。在记录集中,可以进行记录的天津、修改、删除等操作,也可单对数据集的属性进行维护.

成员

说明

GetFieldInfo()方法

获取当前记录的某一个字段信息,返回soFieldInfo类型的对象,失败返回Noting 或者NULL

GetFieldValue()方法

获取当前记录的某个字段的值

MoveFirst()方法

将记录集指针移动到第一条记录。

FieldCount 属性

返回记录集字段个数

7. soSelection 对象:  选择集对象,该对象主要用于存放地图上别选中的对象.选择集中可添加的对象只能来源于一个图层,通过 soSelection.Dataset 来指定。
选择集对象可以提取为记录集(soSelection.ToRecordset),进行属性浏览等操作;记录集也可通过一定的方法转换为选择集进行高亮显示(soSelection.FromRecordset)。

8. soStyle 对象: 样式控制对象

PenColor 属性,PenStyle 属性,PenWidth 属性、BrushStyle 属性,BrushColor 属性, BrushOpaqueRate 属性

学习实践:

前面我们对一些基本对象的相关属性有了一定了解,接下来我将通过一个实例对来对这个对象有一个初步的了解。

运行效果图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值