圖層(layer)在地圖或場景中顯示地理數據。地圖和場景包含多個圖層(layers)和數據表(tables)。表是數據源;表中的地理數據可以由某些類型的圖層使用。運行時支持許多類型的圖層。
圖層的實現方式和功能各不相同。例如,要素圖層(feature layers )在概念上與基礎表(table)相關聯;表中的數據由渲染器(renderer)表示。ArcGIS地圖圖像圖層(image layers)和WMS圖層顯示服務器根據需要呈現的地圖圖像。ArcGIS平鋪圖層( tiled layers)和Web平鋪圖層顯示服務器提前呈現的圖塊。ENC圖層顯示設備存儲中文件的數據。
圖層可以在地圖中具有以下兩種角色之一:
- Basemap layers 為地圖中的信息提供上下文。例如,消費者地圖服務上的圖像或街道地圖背景是底圖。
- Operational layers 包含地圖的主要內容。例如,一個 operational layer 可以包含附近所有加油站。
運行時層可用作操作或底圖圖層;您可以靈活地以對您的應用和制圖有意義的方式使用圖層。
圖層定義信息的顯示方式。它們可以使用表(tables),本地文件(local files)或遠程服務(remote services)中的數據。如果您只需要在地圖上放置點,或使用沒有基礎模型的臨時數據,請考慮使用圖形(graphics)。
許多圖層可以在地圖中顯示。您可以控制圖層的繪制順序以及它們的可見性和不透明度。
There are many layer types available. See Layer types described to learn about Runtime layers and how to choose the right layer types for your map.
有許多層類型可用。請參閱 描述的圖層類型(Layer types described)以了解運行時圖層以及如何為地圖選擇正確的圖層類型。
公共圖層屬性(Common layer properties)
所有圖層都支持以下常見屬性:
Name(名稱) — 一個人類可讀的名字
Description(描述) — 對圖層內容的可讀描述
Extent(范圍) — 包含圖層內容的地理區域
Spatial reference(空間參考) — 定義如何解釋坐標。有關更多信息,請參閱 Spatial references(空間參考)
Visibility(可見性) — 允許您隱藏或顯示圖層而不將其從地圖中刪除。
Scale range(縮放范圍) — 根據用戶使用
MinScale
和MaxScale
屬性放大到地圖的距離來控制圖層可見性。Opacity(透明度)
請注意,圖層的實現樣式和功能差別很大。大多數圖層具有比上面列表中顯示的更多屬性。請參閱描述的圖層類型描述(Layer types described)獲取詳情。
Choosing layers for your map(選擇你需要的圖層)
在為您的應用選擇圖層類型時,請問自己以下問題:
- 用戶是否需要將數據與時間組件進行比較?
- 用戶是否擁有始終在線的互聯網連接?
- 用戶是否需要能夠查詢,分析或選擇數據?
- 用戶是否需要能夠編輯圖層內容
- 您或您的用戶是否需要控制圖層的樣式(顏色colors,填充圖案patterns,圖標icons等)?
- 您的應用是否需要與其他系統或ArcGIS Portal進行互操作?
了解了您的要求后,請參閱所描述的圖層類型中的表格( Layer types described),以查看哪些圖層符合您的需求。
了解您的數據是創建ArcGIS應用程序的“數據,設計,開發”模式的第一步。 ArcGIS DevLabs 將引導您完成將應用程序數據導入ArcGIS的過程。
如果要快速可視化應用程序可用的數據,但又不想將其存儲在ArcGIS門戶或圖層中,請考慮使用圖形(graphics)。
Choosing basemap layers(選擇底圖圖層)
底圖是地圖的基礎;它為您的數據提供上下文,并定義您的地圖的外觀。選擇正確的底圖可以:
- 將地圖與您的品牌對齊
- 幫助講述你的故事
- 使您的地圖圖層和圖形更易于查看和理解
- 當您的應用連接到門戶網站時,讓您的應用感覺就像是用戶的地理信息系統(GIS)的一部分
ArcGIS Online上有許多有吸引力的底圖。如果您正在創建編輯或瀏覽表現形式,則您的用戶可能習慣于通過其門戶網站提供某些底圖。您可以在用戶的??ArcGIS門戶中 get a list of featured basemaps(獲取特色底圖列表)。
也可以 publish your own basemaps(發布自己的底圖)或 customize the style(自定義現有矢量底圖的樣式)。
Time-aware layers(時間感知層)
雖然所有圖層都支持地理信息,但時間感知圖層也支持時間信息。當圖層支持時間時,您可以:
- 根據時間過濾圖層內容
- 使用時間偏移隨時間比較數據
查看詳情 Visualize and compare data over time.
Image adjustment layers(圖像調整圖層)
圖像調整圖層(Image adjustment layers)允許您更改圖像的亮度(brightness),對比度(contrast)和灰度系數(gamma)。有關詳細信息,請參閱描述的圖層類 Layer types described
Layer performance considerations(圖層性能考慮因素)
Vector & raster data(矢量和柵格數據)
地理數據的顯示和管理有兩種主要格式:
- Vector(向量) — 數據由點(points),線(lines)和多邊形(向量)(polygons (vectors).)描述。客戶端將矢量內容渲染為光柵圖像以在設備上顯示。
- Raster(光柵) — 數據通過預渲染圖像傳輸;客戶端沒有關于渲染到圖像中的基礎功能的信息。
由于矢量圖層在設備上渲染,因此它們始終非常適合客戶端顯示的大小和分辨率。矢量數據(Vector data)也非常小,非常適合脫機或在低帶寬環境中使用。矢量不適合表示來自光柵源的數據,如衛星圖像。
一些底圖結合了柵格和矢量數據。例如,具有來自ArcGIS Online的街道(矢量)底圖的世界圖像使用平鋪的柵格圖層(tiled raster layer)來創建圖像,使用矢量圖層(vector layer)來顯示要素和標簽。這可確保功能和標簽始終清晰,同時仍顯示光柵圖像。
Dynamic and tiled layers(動態和平鋪圖層)
服務可以采用兩種方法之一來提供數據:
- Dynamic(動態) — 根據客戶端提供的信息為每個請求生成一個映射,如所需的映像大小和范圍。
- Tiled — 提前生成切片,然后根據客戶需要提供。
由于動態地圖是根據需要生成的,因此它們更適合于經常更改數據的地圖。動態地圖的缺點是它們需要更多的服務器資源 - 渲染地圖圖像是一項昂貴的操作。對于不經常更改的內容,平鋪服務更合適。
Tables(數據表)
Tables 提供了可以直接處理或可能顯示在要素圖層中的數據源。ArcGIS中的 Tables 定義了要素的模式 - 一組一致的字段,這些字段具有預期的功能。Tables 有許多功能。空間表中的條目可以具有幾何屬性。Tables 可以來自幾個來源:
- Shapefiles
- Geopackages
- Maps
- Feature services
- Geodatabases
Tables 能: - Queried(查詢)
- Edited (depending on the source):編輯,取決于來源(許可)
- Shown in a feature layer(在要素圖層中顯示)
- Taken offline(下載為離線)
Non-spatial tables(非空間表)
非空間表與其他表一樣,除了它們沒有幾何字段。因為它們沒有幾何體,所以它們無法在圖層中渲染。雖然無法呈現非空間表,但仍可將它們作為查詢的數據源添加到地圖中。 空間表中的要素(對象)可以與非空間表中的要素related(關聯)。非空間表由與空間表(spatial tables)相同的運行時類型表示。
Table performance concepts(表性能概念)
一個表可能有數十萬個功能。您的應用如何從表中請求功能是一項性能關鍵決策。
使用來自服務(而不是本地文件)的表時,功能請求模式( feature request modes)控制功能的檢索頻率以及緩存方式。有三種功能請求模式:
- On interaction cache (交互緩存)(默認) — 此模式最適用于涉及具有大量不經常編輯的數據的服務的方案。如果您不穩定的服務連接,建議使用此模式。當這張表在地圖中的圖層中使用時,會為可見范圍(地圖區域)內的地圖請求要素并在本地緩存。在將地圖移動到其他區域時,將繼續請求和緩存功能。已經緩存的要素不會再次請求。 也可以通過直接查詢或填充表來請求Features。 SDK會選擇執行查詢的最佳方式,查詢本地緩存,或查詢服務并將結果導入本地緩存。例如,如果針對當前地圖范圍執行空間查詢,則從本地緩存獲得結果 - 這避免了從服務重新獲取。
-
Manual cache(手動緩存) — 如果預計服務中的數據不會經常更改,并且客戶端應用程序并不總是急需最新的數據,則建議使用此模式。從服務填充到本地緩存的數據量預計很小。只能通過調用
ServiceFeatureTable
的populateFromServiceAsync
方法來填充表的本地緩存。永遠不會自動請求功能,并且永遠不會根據地圖交互填充緩存。 - On interaction, no cache(交互無緩存) — This mode is recommended if it is critical for your app to always be working with the latest data. 如果您的應用始終使用最新數據至關重要,則建議使用此模式。如果您偶爾或不可靠地連接該服務(如網絡不好的地區),則不建議使用此模式。 當表在地圖中的圖層中使用時,會為可見范圍請求要素,而不是在本地緩存。每次導航地圖時都會從服務器請求功能,無論之前是否訪問過該范圍。始終對服務器執行查詢。導航圖層或查詢表都會導致本地緩存被清除并重新填充。由于所有操作都涉及查詢服務器,因此需要始終在線的服務連接。預計比其他交互模式更高的數據使用率。