2017年10月24日和25日,在北京國際會議中心召開了第十五屆esri用戶大會。本次會議的主題圍繞著slogan的理念提出的"Applying The Science of Where",一共有6大主題報告,6大技術論壇,10大行業論壇,業界稱為GIS屆的饕餮盛宴。從Enabling a Smarter World到The Science of Where,大概是走過風風雨雨,看過世界萬物最終又返璞歸真回到原點去回答,我是誰?我從哪里來?我到哪里去?
空間貫穿著我們的一生,從子宮到墳墓,人依托著空間而存在,而地理與GIS正是用來理解我們所生存的地球空間的語言。
筆者很榮幸地成為了本屆esri用戶大會體驗區志愿者之一,所負責的產品是esri推出的0代碼敏捷開發的Web App Builder for ArcGIS。所以從觀感來講,就先來介紹下Web App Builder for ArcGIS產品吧。
1 Web App Builder for ArcGIS簡介
ArcGIS WebApp Builder 是Esri在2014年4月份推出的一種直觀的所見即所得式 (WYSIWYG) 應用程序,可用于構建 2D 和 3D web 應用程序,而無需編寫一行代碼。它所包括的強大工具可用來配置功能完備的 HTML 應用程序。添加地圖和工具時,您可以在應用程序中看到這些地圖和工具并立即使用。
主要功能
可通過 Web AppBuilder for ArcGIS 進行以下操作:
- 創建能在所有設備上運行的 HTML/JavaScript 應用程序。
- 使用即用型微件構建所需應用程序。
- 使用可配置的主題自定義應用程序的外觀。
- 在線托管應用程序或在自己的服務器上運行應用程序。
- 創建自定義應用程序模板。
當然這里有許可相關限制。
2 Web App Builder for ArcGIS在線版敏捷開發
正如前面所說,對于許可的限制,事實上目前Web App Builder for ArcGIS必須有ArcGIS Online或者是Portal的支持。而簡單地說Web App Builder for ArcGIS有兩種版本,一種是在線版本,內置在ArcGIS Online或者Portal中,只需有賬戶就可以快速搭建,另一種則是獨立的開發者版本,需要部署。那我們就先來介紹第一種方式。
第一種方式對于許可有限制,事實上作為試用和測試的話,我們只需要注冊一個賬戶,試用ArcGIS即可享受21天的ArcGIS Online組織2級成員的許可,當然這個也支持ArcGIS Pro等。
至于如何申請請點擊:ArcGIS及Online使用許可申請。
接下來進入正題。進行快速的敏捷開發。這是筆者試用賬戶下托管的數據。我利用ArcGIS Pro發布了一份2016年1月1日到1月7日全國各個縣級市空氣質量的數據。并做了一張簡易熱力圖。
接著點擊“創建”→“使用Web App Builder"
設置好標題、標簽和摘要即可創建(也可以選擇3D,這里就選擇2D)。
這里可以選擇任意一個主題。也可以設置顏色以及布局
接著點擊"地圖",選擇所需要的數據和底圖。這里選擇了做好的"Urban Air"。此外還可以選擇地圖初始化的范圍等。
接下來就可以點擊"微件",配置webgis地圖的基礎功能了。這里最新版提供了超過33個微件,滿足webgis地圖應用基本需求。
該主題里畫框的"微件"分別對應的位置如上。
微件列表。
微件內部配置
最終頁面。
最后還可以修改下"屬性",即可。
接下來可以選擇保存,或者預覽,或者啟動。
保存即保存在自己的賬戶項目內,預覽可以觀察不同尺寸的效果(web app是自適應的html5),啟動的話直接訪問該應用。
保存完畢即可查看。
也可以下載下來進行部署。下圖為訪問的頁面。
如上是在線版本的敏捷開發。
3 Web App Builder for ArcGIS開發者版本部署
前文提到,Web App Builder for ArcGIS有獨立的開發者版本,可以下載下來自己部署。不過依舊需要有ArcGIS Online或者portal賬戶來支撐。
Web App Builder for ArcGIS開發者版本
開發者版本下載下來的文件夾結構。
只需要點擊startup.bat運行,即可啟動。cmd運行后,在瀏覽器中輸入http://localhost:3345或https://localhsot:3346訪問。
與在線版不同的就是,接著就需要你填入ArcGIS Online或者portal的組織url了。同時還需要有個應用ID。
試用賬戶組織的url可以直接點擊組織查詢(這個為自己申請試用時設置的)。
所以這里需要先從ArcGIS Online先行創建app,傳遞ID。
首先點擊"添加項目"→"應用程序"。
選擇"Web制圖"→"添加"。筆者測試過,這里必須設置為https://localhost:3346/webappbuilder。
點擊"設置"→"注冊"
必須做個重定向,將回調地址設為本地(除了localhost還可以設置為計算機名),注冊。
即可看到ID。
運行startup.bat,訪問https://localhost:3346。
接下來步驟與前面在線版本差異不大。
當然也有一個公用的可以使用的portal: http://www.arcgisonline.cn/portal。
也可以通過這個進行配置。相關教程在第一篇參考博客中。
整體來說,在用戶大會體驗區開放的接近一天半的時間內,還是有大量的人對零代碼構建web app的工具產生了濃厚興趣,整體來說大家都在詢問的無非是:如何部署在自己的服務器上以及如何進行二次開發,而不僅僅是基于現有的框架。
解答如下:部署在自己服務器上的話必須購買portal for ArcGIS。而由于該工具是以敏捷開發為目的,封裝得較好,所以二次開發支持的無非是主題配置和微件使用(具體可見文末的幾篇博客)。當然也有大神對源碼進行了改動,使其可以不依賴于portal for ArcGIS,這里就不提了(因為某種程度上失去了敏捷開發的特性,當然改完之后的倒是很完美)。
WAB敏捷開發目前來看已經是portal for ArcGIS以及新一代ArcGIS平臺web開發的三架馬車(另兩架分別是ArcGIS API for Python,ArcGIS API for Javascript)了,當然個人理解,僅從我們體驗區布設來看。
WAB的敏捷開發實現了一個快速開發的途徑,某種程度上也降低了無代碼人員開發的難度,本身也具有不錯的平臺擴展性,演示的demo中有集成了百度Echarts的可視化,當然基于portal for ArcGIS或者ArcGIS Online的這個特性確實在彰顯esri公司在云計算時代的應對之策。
最后的最后,我個人覺得該產品可以類比Tableau Public和power BI。當然相對而言,WAB確實更偏向于GIS,而后兩者則純粹考慮可視化。
相關教程學習資料與博客:
Web Appbuilder For ArcGIS# 正式版使用教程 配置與使用
ArcGIS Web Appbuilder代碼改動為不需要protal步驟初探