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