SuperMap Objects 入門教程 1

2021-05-25 03:02:42 字數 4637 閱讀 5893

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 

:資料來源的引擎型別,常用的型別有sdb,

和 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 

,該語句中的

field1

和field2

都屬於查詢字段,可以用

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 屬性

學習實踐:

前面我們對一些基本物件的相關屬性有了一定了解,接下來我將通過乙個例項對來對這個物件有乙個初步的了解。

執行效果圖:

CSS入門教程

css是 cascading style sheets 的簡稱,中文翻譯為 串接樣式表 也有人翻譯為 樣式表 css用以作為網頁的排版和風格設計,在web標準建站中,對css的熟悉和使用是相當重要的乙個內容。css的作用是彌補html的不足,讓網頁的設計更為靈活。這個文章只是為您介紹css的基礎應用...

CSS入門教程

css是 cascading style sheets 的簡稱,中文翻譯為 串接樣式表 也有人翻譯為 樣式表 css用以作為網頁的排版和風格設計,在web標準建站中,對css的熟悉和使用是相當重要的乙個內容。css的作用是彌補html的不足,讓網頁的設計更為靈活。這個文章只是為您介紹css的基礎應用...

Linux入門教程

linux下有兩種使用者 1.root使用者,提示符 2.普通使用者,提示符 在 etc目錄下有乙個inittab檔案,其中有一行配置 id 3 defualt 其中,數字3就代表一啟動進入字元終端,如果改為5則代表一啟動進入x window 修改口令 passwd 退出登入 exit 關閉機器 只...