ArcGIS的基本使用
?
在地理信息系統的相關開發過程中,采用一種好的方式去展現地圖,以及在地圖中融合各種各樣的空間數據,是很重要的。
ArcGIS 就是一個用于創建、管理、共享和分析空間數據的優秀平臺,包含了各種地圖服務組件、移動和桌面應用,以及開發者工具。
這里記錄下學習 ArcGIS 的過程,方便以后查看,由于自己主要開發?web GIS 方面,即網頁版地圖信息系統,所以??ArcGIS API for JavaScript?是重點。
參考文章:
https://www.esri.com/en-us/about/about-esri/overview(About Esri)
https://developers.arcgis.com/labs/what-is-arcgis/(What is ArcGIS?)
https://developers.arcgis.com/javascript/(ArcGIS API for JavaScript)
http://www.cnblogs.com/daihere1993/p/4999760.html(對一些ArcGIS for JS的API的一些理解)
1、背景知識
(1)GIS
GIS 是 geography information 和 system 的縮寫,表示地理信息系統。
GIS?是在計算機硬、軟件系統支持下,對整個或部分地球表層(包括大氣層)空間中的有關地理分布數據進行采集、儲存、管理、運算、分析、顯示和描述的技術系統
(2)Esri
Esri 是 environment system research institute 的縮寫,是一家美國環境系統研究所,成立于 1969 年。
Esri 開創了利用 GIS 解決問題的先河,是世界最大的 GIS 技術提供商。
Esri 相信位置智能(科學有效利用地理信息)在每個組織中都能發揮數據的全部潛力。
(3)ArcGIS
ArcGIS 就是 Esri 建立的世界上最強大的地圖和空間分析軟件,用于 GIS 的開發。
準確來說,ArcGIS 是一系列地圖相關軟件和服務的統稱,所以稱為管理地理信息的一個平臺,主要的如下:
1、核心軟件: ArcGIS 在線版和 ArcGIS 企業版
2、桌面軟件:ArcGIS pro 和 ArcMap
3、輔助軟件:
- Collector for ArcGIS?- 移動數據采集
- Navigator for ArcGIS?- 高度可定制的移動路由解決方案
- Operations Dashboard for ArcGIS?- 資源實時監控和自定義工作臺
- Explorer for ArcGIS?- 發現和查看組織中的 GIS 服務
- Workforce for ArcGIS?- 用于協調現場工作的移動和web應用
- Survey123 For ArcGIS?- 輕量級數據收集和調查
4、開發者手冊
- ArcGIS REST API
- ArcGIS API for JavaScript
- ArcGIS Runtime SDK for Android
- ArcGIS Runtime SDK for iOS
- ArcGIS Runtime SDK for Java
- ArcGIS Runtime SDK for macOS
- ArcGIS Runtime SDK for .NET
- ArcGIS Runtime SDK for Qt
- ArcGIS API for Python
2、ArcGIS API for Javascript 的相關概念
在進行 Web GIS 的開發過程中,查看 ArcGIS API for Javascript 是很重要的,主要還是看官網的例子和 API,下面只是一些簡單的理解。
(1)Map、MapView、SceneView
Map 是每個地圖控件中必須引入的類,要生成地圖,進行地圖操作,都需要生成一個 Map 對象。
而 Map 的載體則是 View,其中有兩種比較重要:
MapView 表示以 2D 的形式展示地圖,SceneView 表示以 3D 的形式展示地圖
(2)geometry
geometry 指代各種幾何圖形,以及其相關操作,具體分為如下:
1、Point:點
2、Polyline:多線
3、Polygon:多邊形
4、Multipoint:多點
5、ScreenPoint:屏幕點,表示相對于視圖左上角的像素點
6、circle:圓,是一種特殊的多邊形
7、coordinateFormatter:用于在點和表示點的特殊字符串之間進行相互轉換
8、Extent:通常用于設置或表示顯示區域的范圍,用坐標進行表示
9、Geometry:是各個幾何圖形的基類
10、geometryEngine:幾何工具,主要用于測試、測量和分析多個幾何圖形直接的空間關系,當然得在同一個空間參考系
11、geometryEngineAsync:異步的幾何工具,基本同 geometryEngine
12、HeightModelInfo:定義垂直坐標系的特征,為了避免渲染出在不相容的垂直坐標系的圖層
13、mesh :網格,是一種通用的,由帶有屬性的頂點組成3D客戶端幾何圖形
14、projection:投影,用于將幾何圖形從一個空間引用轉換為另一個空間引用
15、SpatialReference:空間參考系,由 WKID 或 WKT 定義
(3)graphic
graphic 指代單個圖形。所有的幾何圖形 geometry,都需要通過 graphic 進行添加,相當于各個圖形的載體。
graphic 中 geometry 代表具體是什么圖形,而 symbol 則用來表示如何進行展現,這兩個屬性對于繪制 graphic 來說是必需的。
如下添加點 point:
(4)GraphicsLayer
從上面?graphic 的添加方式來看,單個 graphic 可以通過 view 的 graphics 進行添加。
而如果想要一次添加很多個幾何圖形,就可以用 GraphicsLayer 來作為載體,從而使用 map 進行添加,方便進行管理。如下:
(5)FeatureLayer
通過 GraphicsLayer 添加各個幾何圖形,有個好處就是可以添加各種類型的幾何圖形在一個圖層里。
但 GraphicsLayer 缺乏很多對圖形屬性的操作,比如查詢、過濾等。
FeatureLayer 對屬性的查詢和過濾等有很好的支持,但一個 FeatureLayer 只能加載一種類型的幾何圖形。
可以說 FeatureLayer 是 GraphicsLayer 的一個變體,構造方式上也是格式有所不同,如下:
其中 source 所含的要素集合,實際上就是 graphics ,即幾何圖形的集合,只是幾何圖形都是同種類型,和 geometryType 保持一致。
而要素的展示方式,則是由 renderer 來指定了,其中實際上也就是 symbol。
(6)QueryTask、Query
要素圖層 FeatureLayer 要進行屬性查詢,可以用其自帶的 queryFeatures() 方法等,不過需要先創建 FeatureLayer。
如果不想創建 FeatureLayer,但有其地址 url ,則可以用 QueryTask 創建一個查詢任務,來進行查詢。
Query 主要是用來構造查詢參數,傳入 QueryTask 的 execute() 方法,即可實現條件查詢,如下:
總結
以上是生活随笔為你收集整理的ArcGIS的基本使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工业相机5A参数及其对图像采集的影响
- 下一篇: web程序入门五(http无状态)