SuperMap的基本概念主要包括數(shù)據(jù)和地圖的概念,下面將介紹這兩個概念。
?工作空間
工作空間是用戶的工作環(huán)境,主要完成對數(shù)據(jù)的組織和管理,包括打開、關(guān)閉、創(chuàng)建和保存工作區(qū)文件。構(gòu)建工作空間的目的是為了使管理更容易,結(jié)構(gòu)更清晰。
工作空間存儲了一個項目中所有數(shù)據(jù)源和地圖的組織關(guān)系(同一事務(wù)過程),工作空間通過其中的數(shù)據(jù)源集合和地圖集合對其下的數(shù)據(jù)源和地圖進行管理。其中:
數(shù)據(jù)源集合:對數(shù)據(jù)源進行管理,其中存儲了每個數(shù)據(jù)源的邏輯連接信息,實際數(shù)據(jù)源存儲在數(shù)據(jù)庫或UDB中。實際的數(shù)據(jù)源存儲在數(shù)據(jù)庫或UDB中。數(shù)據(jù)源只有在建立連接時才可用。數(shù)據(jù)源集合可以管理多種類型的數(shù)據(jù)源,實現(xiàn)對多種類型和來源的數(shù)據(jù)源的無縫管理。
地圖集合:存儲的是地圖的一些配置信息,如地圖包含的層數(shù)、層所引用的數(shù)據(jù)集、背景風格等。只有當前工作區(qū)所包含的地圖的名稱可以通過這個類來訪問。
在當前版本中,允許多個工作空間共存于一個應(yīng)用程序中,每個工作空間可以管理自己的數(shù)據(jù)源、地圖等集合,但值得注意的是,不同的工作空間是不能互通的。多個工作空間共存的優(yōu)點主要有以下幾點:
為用戶對工作空間的動態(tài)訪問提供了有利的保障和基礎(chǔ),即對工作空間的動態(tài)訪問和動態(tài)數(shù)據(jù)分布。
為安全控制提供了有效保障,即不同權(quán)限和級別的用戶可以訪問不同的工作空間,不會出現(xiàn)意外的誤操作等。
數(shù)據(jù)源集合
數(shù)據(jù)源集合管理數(shù)據(jù)源,包括創(chuàng)建、打開和關(guān)閉數(shù)據(jù)源的功能。可以同時管理多種類型的數(shù)據(jù)源(UDB、Oracle、SQL),實現(xiàn)數(shù)據(jù)源的無縫管理。
在當前版本中,數(shù)據(jù)源集合支持多線程訪問。
一個工作空間中的所有數(shù)據(jù)源都由數(shù)據(jù)源集合管理。當創(chuàng)建一個數(shù)據(jù)源時,需要注意數(shù)據(jù)源的類型和相應(yīng)的數(shù)據(jù)引擎。
數(shù)據(jù)源
數(shù)據(jù)源是存儲空間數(shù)據(jù)的場所。所有的空間數(shù)據(jù)都是存儲于數(shù)據(jù)源而不是工作空間,任何對空間數(shù)據(jù)的操作都需要打開或獲取數(shù)據(jù)源,數(shù)據(jù)源可以管理數(shù)據(jù)源與文件或數(shù)據(jù)庫的連接、數(shù)據(jù)源的投影、數(shù)據(jù)源的事務(wù)、長事務(wù)、事務(wù)回滾和事務(wù)的版本等信息。
一個數(shù)據(jù)源對應(yīng)著一種數(shù)據(jù)引擎。SuperMap 產(chǎn)品中提供了多種數(shù)據(jù)源類型,其中包括文件型數(shù)據(jù)源和數(shù)據(jù)庫型數(shù)據(jù)源。UDB 數(shù)據(jù)源屬于文件型數(shù)據(jù)源,Oracle 和 SQL 數(shù)據(jù)源屬于數(shù)據(jù)庫型數(shù)據(jù)源。
數(shù)據(jù)源只是定義了一致的數(shù)據(jù)訪問接口和規(guī)范,并沒有定義數(shù)據(jù)源的存儲細節(jié)。數(shù)據(jù)源的物理存儲既可以是文件方式的,也可以是數(shù)據(jù)庫方式的,區(qū)別不同的存儲方式主要在于采用的數(shù)據(jù)引擎類型,采用 UDB 引擎時,數(shù)據(jù)源就以文件方式存儲(*.udb,*.udd),而采用空間數(shù)據(jù)庫引擎時,數(shù)據(jù)源被存儲到指定的 DBMS 中。
特性
SuperMap 提供兩種數(shù)據(jù)源與數(shù)據(jù)庫之間的連接方式:手動連接、自動連接。如果用戶選擇自動連接,在打開工作空間時,數(shù)據(jù)源會自動連接數(shù)據(jù)庫中的數(shù)據(jù),但是此時存儲在數(shù)據(jù)庫中的數(shù)據(jù)集是處于關(guān)閉狀態(tài)的,用戶需要打開數(shù)據(jù)集才可以對數(shù)據(jù)集內(nèi)的數(shù)據(jù)進行修改等操作(用戶可以通過 Dataset 類中提供的 open 方法打開數(shù)據(jù)集);如果用戶不選擇自動連接,則需要進行手動連接。
有關(guān)地圖方面的概念地圖
地圖(Map)是由一個或多個圖層疊加而成,而圖層是對數(shù)據(jù)集的引用,是采用設(shè)定的風格對數(shù)據(jù)集的顯示,因而,一個或者多個數(shù)據(jù)集被賦予一定的顯示風格而顯示在一個 SuperMap 地圖窗口中,就成為地圖。地圖中定義了各圖層的名稱、顯示風格、視野范圍、圖層狀態(tài)和圖層順序等信息,保存地圖時這些信息都將一起保存下來。
地圖集合
地圖存儲在工作空間文件中,一個工作空間中的所有地圖的集合稱為一個地圖集合(Maps)。一個工作空間中存在一個地圖集合,在該工作空間中創(chuàng)建的,引用該工作空間中的數(shù)據(jù)的地圖都由此地圖集合來管理。
地圖窗口
地圖窗口是用來顯示地圖的一個窗口,一個地圖可以在一個地圖窗口中打開,多個圖層可以在地圖窗口中疊加,并保存成地圖。在一個地圖窗口中,不管其中顯示一個圖層,還是多個圖層,其都稱為地圖。地圖窗口是提供地圖的臨時顯示的區(qū)域,并不保存地圖,當?shù)貓D窗口關(guān)閉,其中的地圖也就不存在了;但如果將地圖保存到工作空間中,則可以在任何時候用地圖窗口來打開它。
地圖中的數(shù)據(jù)集來源于各數(shù)據(jù)源。在制作地圖并保存后,如將對應(yīng)的數(shù)據(jù)源刪除,則相應(yīng)的地圖也就不存在了,所以,當打開工作空間中的地圖時,將會出錯或出現(xiàn)沒有數(shù)據(jù)的情況。此外,在制作地圖后,如對相應(yīng)數(shù)據(jù)集中的對象進行了編輯修改,則地圖刷新后也會相應(yīng)更新。因此,地圖的概念類似于關(guān)系數(shù)據(jù)庫中視圖的概念,地圖中并沒有存儲數(shù)據(jù)集。地圖并不包含數(shù)據(jù)本身的內(nèi)容,只是一種可視化定義,是工作空間的一部分。要保存地圖,還需要保存工作空間。?