天天看點

ArcGIS API for JavaScript 4.2學習筆記[5] 官方API大章節概述與内容轉譯

内容如上,截圖自ESRI官網,連接配接:ArcGIS API for JavaScript 4.2(可能會跳轉到4.3或者更高最新版本,如果有需要,到CSDN可以下載下傳到4.2的離線文檔)

【Get Started】

類似于緒論一樣的東西,抽取了最需要關注的幾個例子。如:加載Map和View,加載layers,使用彈出視窗,視覺化,與使用視窗小部件。(wtf居然沒有分析你想搞事情啊web除了展示難道不應該有()&&*……@)好吧,4.2剛出的時候分析功能确實不太全。

【Mapping and Views】 

最基礎的,知道地圖和視圖的差別,能使用2D和3D地圖,對地圖的布局有一定的了解,對地圖的動畫也有小小的使用示例。還介紹了2D3D視圖同步、鷹眼、指北針等功能。這一章是最基礎的了,其中第一小節介紹了入口函數的參數意義。

【Layers】

這一章很龐大,和地理資料有關。按順序讀下去:

支援多圖層疊加顯示

支援要素圖層、場景圖層(直接把影像拔高,推出了一個盒子形狀的立體物件的場景圖層)、矢量瓦片圖層(這個很厲害啊)、影像圖層、流圖層、CSV圖層、OpenStreet地圖圖層、Web瓦片圖層、點雲圖層(這個更厲害1.1億的雷射雷達點雲資料都能加載進來)

其中,對MapImageLayer和ImageryLayer有着重的介紹,前者不知道是什麼東西,後者是影像圖層(栅格圖層)。這也是資料中最關鍵的了。

最後我想問一下:圖層這種東西,是怎麼建立的(查API應該可以查到如何建立執行個體)?資料又如何從硬碟中擷取?需要伺服器環境嗎?(尚待解決)

回答上一句提到的問題。圖層通過ArcGIS Server釋出的各種服務建立,也可以通過Online或者Portal上的ID建立。

【Visualization】

這一章是符号的定制和色彩、樣式的管理,主要是視覺方面的工作,在Web上不可能弄得很醜,Web最重要的功能就是“示範”,可視化這章就是為此而生。這一章内容繁多但是不難,簡單看過去就是自定義符号、色彩設定、色帶設定等,和桌面版的差不多。短時間内沒法看完,以後待功能性章節完成學習後再進行攻讀。

【Popups】 

Popups意思為彈出視窗,第一個就以坐标的顯示為例子。

彈出視窗也是一個相當基礎的功能,因為有的查詢功能的結果就需要用這種輸出方式。

緊接的是:使用彈出小視窗的模闆、對popups的位置進行固定(Dock,上下左右相對固定)

然後是在popups上加需要的内容,官方示範了表格、多媒體、文檔和圖表。

最後,在彈出視窗上也是可以添加按鈕的(官方示範了Zoom功能和測量功能),也可以定制自己的功能(跳轉到别的地方什麼的)

【Graphics】

這章簡單,和GDI差不多的東西,往視圖中添加圖形。支援2D和3D視圖添加。

【Searching】 

這章就是空間查詢了。不過是基于widget的查詢,底層似乎沒給出。

使用Search widget可以查詢,這功能在國内的地圖廠商上都有,并且他們很像。不同的是,這是WebGIS,而不是商用GIS,功能是可以自己定制的。

當然,也可以對3D、2D地圖進行篩選查詢、點選查詢。

ESRI也提供了最古老的方式——在表格上顯示查詢結果。

【Analysis】

這一章是空間分析,雖然不及Desktop上的ArcMap和ArcGIS Pro那麼強悍,不過對于基礎的業務倒也足夠。

ESRI已經說了,空間分析仍會在未來的版本中釋出更新以與3.x産品線追平。

WebGIS的空間分析主要是:緩沖區分析和網絡分析。例子中的網絡分析是求解最短路徑,比桌面版的操作友好多了(見本人的ArcGIS 網絡分析專輯)。

此外官方還提供了:可視域分析、熱點分析、查詢高程(點高程變化和線路海拔變化等)。

【Widgets】

這屬于UI的定制,大布局上可以用第三方JS庫,在地圖上的UI控件就交給ESRI吧。

粗看下去,主要有:

Home按鈕控件、圖層清單控件、圖例控件、定位控件、地圖列印到本地磁盤控件、追蹤定位控件(平面的)、導航定位控件(用于導航)、快速布局控件(widget太多了可以用一個東西管理,view對象的ui屬性)

ESRI強大到:widget似乎是可以自定義的(支援第三方JS庫!如Angular、React),我看到了custom的字樣,但是沒有仔細往下看,因為提供的控件和功能已經滿足大多數的需求了。甚至,widget還可以給它弄個皮膚。

顫抖吧人類。

【More 3D】

這章跟數字高程模型有關,能使用大地高程進行3D可視化,并控制錄影機的位置和角度。

同時,也可以把高程資訊疊加到要素類上,進行高程3D顯示。

我還看到了一個好玩的東西:控制太陽(就是控制日照角度,根據時間),其實就是環境的控制。

AJS的3D引擎是可以拓展的,甚至提及了Threejs公共3D引擎庫(Threejs差評,文檔忒少難讀)。

ESRI提供了WebGL的檢測功能,因為3D的支援需要WebGL,如果浏覽器不支援,那肯定是不行的。

【Other】

這裡是一些雜項,如從伺服器上擷取資料、許可,連接配接伺服器等。

API從esri這個大類分下去,有以下一級子產品及與一級子產品并列的類:

類:Basemap、Camera、Color、config、Graphic、Ground、kernel、PopupTemplate、request、Viewpoint、WebMap、WebScene

一級子產品:/core  /geometry /identity /layers /portal /renderers /support /symbols /tasks /views /webmap /webscene /widgets

一些重要的二三級子產品展示如下

/core: /accessorSupport /workers

/geometry: /support

/layers: /support

/renderers: /smartMapping/statistics      /smartMapping/symbology       /support

/symbols: /support

/tasks: /support

/views: /3d    /layers   /ui

/widgets: /support

對于API Reference,等用到一定時候會做類圖,未完待續。其實官方的API已經很不錯了,但是就是沒有中文版,需要用過的人去做一些工作。

最後,善用API Reference。

繼續閱讀