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 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章