SuperMap Object 基本编程

 

n         空间数据基本操作

I.       数据源

打开工作空间

SuperWorkSpace.open();

SuperWorkSpace.save();

SuperWorkSpace.saveAs();

1.       创建数据源

SuperWorkSpace.createDataSource()

2.       打开数据源

SuperWorkSpace.openDataSource()

SuperWorkSpace.openDataSourceEx()空间数据库型

3.       获得数据源

SuperWorkSpace.DataSource.item()

4.       关闭数据源

SuperWorkSpace.DataSource.Remove()

SuperWorkSpace.DataSource.RemoveAll()

II.    数据集

1.       创建数据集

soDataSource.createDataset();

2.       获得数据集

soDataSource.Datasets.Item();

SuperWorkspace.DataSources.Item(i).Datasets.Item(i)

SuperMap.Layers.Item(i).Dataset

SuperMap.Selection.item(i).Dataset

3.       删除数据集

SoDatasource.DeleteDataset()

显示数据集

soLayers.addDataset()          soLayers.Refresh()

 

III.基本操作

SuperMap.Action  seAction 常量

SuperMap.Action=scaZoomIn(放大)

SuperMap.ViewEntire()

编辑操作

SuperMap.Action=scaEditCreatePoint

SuperMap.Action= scaEditCreatePolyline

SuperMap.Action= scaEditCreatePolygon

跟踪层编辑

SuperMap.Action= scaTrackPoint

SuperMap.Action= scaTrackPolyline

SuperMap.Action= scaTrackPolygon

 

IV.    图层管理

可以通过SuperLegend控件实现可视化的管理。更新后SuperMap.Refresh()

也可以通过图层的soLayer.Editable ,soLayer.Selectable,soLayer.Snapable,soLayer.Visible 来进行设置。

 

1.       点线面图层的风格设置:

supermap.layers(i).style

supermap.showstylePicker(soStyle, Dimension)

2.       文本层的图层风格:

SuperMap.ShowTextStylePicker()

3.       保存地图:

SuperMap.SaveMap()

SuperMap.OpenMap()

4.       按指定的比例尺显示:soLayer.VisibleScaleMax, soLayer.VisibleScaleMin

按对象大小进行过滤显示,象素显示,filterk可以进行筛选显示。

 

V.       记录集 soRecordSet

1.       获得记录集

soDatasetVector.Query(sql,true)

soDatasetVector.QueryEx(sql,true)

soDatasetVector.QueryByDistance(sql,true)

soSelection.toRecordset()

2.       添加记录:

soRecordset.addNew()

纯属性表的添加 soRecordSet.AddNew(nothing)

 

3.       几何对象的添加:soGeometry

RecordSet.getGeomotry()

Recordset.setGeometry()

从事件获得:Geometry_Selected()

SuperMap.AfterGeometryAdded()

 

4.       选择集与记录集

selection.toRecordset()

selection.FromRecordset()

5.       不选中到选中

soSelection.Remove

soSelection.RemoveAll

 

6.       通过地图查询属性的过程

 

选取对象()-》得到记录集-》取值显示

selection.toRecordset()-》soRecordset.GetFieldValue

 

7.       通过属性查询地图的过程

查询条件的设置-》获得查询记录集-》添加到选择集

layer.Dataset-》soDatasetVector-》soDatasetVector.Query(sql,true) -》  selection.FromRecordset()

 

VI.    跟踪层

跟踪层是所有图层的最上面一层,有Layer才有TrackingLayer

跟踪层临时放在内存中,关掉Layer,则TrackingLayer随之消失

跟踪层速度比较快,可以动态更新空间对象

1.       添加对象到跟踪层

soTrackingLayer.AddEvent(objGeometry ,objStyle,string)

分别设置Geometry,风格和标签

2.       获得跟踪层上面的对象

soTrackingLayer. Event

3.       删除跟踪层上面的对象

soTrackingLayer.ClearEvents()

4.       移动跟踪层上面的对象

soGeoevent.move()

soGeoevent.moveTo()

 

5.       几何对象和文本对象的风格之不同

几何对象的风格对应为soStyle

文本对象对应的风格是soTextStyle

 

VII.布局对象SuperLayout

1.       布局窗口中选中的对象SuperLayout.Selection

2.       布局窗口中的元素SuperLayout.Elements

3.       布局窗口的鼠标事件SuperLayout.LytAction

4.       SuperLayout 中的地图对象,soLytMap

5.       SoLytMap.MapHold 锁定地图可以用soLytMap.MapAction进行放大缩小

 

VIII.           地图控件的关联

SuperLegend1.connect SuperMap1.handle

SuperMap1.connect SuperWorkspace1.handle

SuperLayout1.connect Superworkspace1.handle

SuperWkspManager1.connect Superworkspace1.handle

SuperGridView1.connect objRecordset

 

IX.    图控件的释放顺序

SuperLegend1.disconnect

SuperMap1.close

SuperMap1.disconnect

SuperLayout1.disconnect

SuperWkspManager1.disconnect

SuperWorkspace1.close 

转载于:https://www.cnblogs.com/TonyWu/archive/2005/10/15/255333.html

猜你喜欢

转载自blog.csdn.net/weixin_34092370/article/details/92875360
今日推荐