1. 程式人生 > >淺談ArcGIS移動開發中的基本變數(1):MapView、Map、Layers、GraphicsOverlay

淺談ArcGIS移動開發中的基本變數(1):MapView、Map、Layers、GraphicsOverlay

一、MapView 

二、Map

       Map,程式設計中即ArcGISMap,可譯為地圖物件,主要用來承載地圖資料,ArcGISMap包含製圖資料圖層以及其它能夠定義地圖資訊的資料(例如basemaps底圖、popups彈出視窗、renderer渲染器、labels標籤等)。它可以在MapView中視覺化,也可以單獨使用來訪問資料。

       ArcGISMap可以包含一個Basemap底圖和一個或多個operational layers操作圖層:

     (1)Basemap底圖是幫助使用者進行地圖定位的圖層。通常,它位於操作圖層的後面,用於顯示道路和邊界,為操作圖層提供環境。Basemaps還可以包含繪製在頂層操作圖層(如label layers標籤層)上的圖層。

     (2)operational layers操作圖層提供對於用程式和任務具有獨特興趣點的內容,例如有關地震、交通或天氣的資料。其內容可能經常變化。

MapView與Map的聯絡:

       在MVC架構中,ArcGISMap表示模型,MapView表示檢視。ArcGISMap指定地理資料的組織方式,MapView在螢幕上呈現資料並允許使用者與其互動。

三、Layer

       Layer,譯為圖層,即將空間資訊按其幾何特徵及屬性劃分成的資料專題組,在ArcGIS移動開發中,Layer為一個抽象類。ArcGIS Runtime SDK for Android中提供了各種相應的圖層來載入線上資料,常見型別如下圖:

(1)RasterLayer:柵格圖層,用來顯示Raster柵格資料的圖層。

(2)ArcGISMapImageLayer:表示一個由動態地圖服務建立的,包含一個或多個子圖層的圖層,由ArcGISMapImageLayer呼叫的地圖服務可以從源資料中動態呈現地圖影像,並能夠呈現應用服務中指定的資訊。動態圖層由伺服器即時生成圖片返回,而沒有預先快取。根據使用者請求,計算,即時生成。資料更新及時,但速度較慢。

(3)ArcGISTiledLayer:表示一個允許使用預生成的Tiles切片顯示來自ArcGIS地圖服務資料的圖層。切片圖層就是靜態圖層,伺服器可以先切好,或者利用快取預先切好。目的就是快速顯示。

(4)ArcGISVectorTiledLayer:表示一個允許你能夠從向量切片服務、向量切片樣式表、本地向量切片包(VTPK)中進行資料顯示的圖層。載入方式見:ArcGIS Runtime SDK for Android 入門(4):顯示向量切片(VTPK)圖層

(5)FeatureLayer:要素圖層,表示一個由Feature要素組成的圖層,要素圖層中的要素由geometry幾何形狀和一組連續的fields欄位構成。

(6)MobileBasemapLayer:表示一個在移動地圖包中的移動地圖的向量地圖圖層。

(7)ArcGISScenLayer:場景圖層,能夠顯示在scene service場景服務中釋出的三維要素。

四、GraphicsOverlay

       可譯為圖形覆蓋(物),用於容納要顯示在MapView上的臨時圖形,如查詢或分析的結果,高亮,變化的事物、繪製的圖形等,GraphicsOverlay由Graphic圖形組成,因此也可看做Graphic圖形的列表,Graphic圖形包含幾何、屬性和符號。GraphicsOverlay分為靜態和動態兩種渲染模式,可通過Renderer進行渲染。

五、總結

MapView、Map、Layer、GraphicOverlay四者的關係可總結為如下圖所示