ArcGIS Runtime SDK是什嗎?,arcgissdk
如,Runtime SDK是什麼東西?居然還有安卓、蘋果手機、Mac、QT的版本?
是不是意味著ArcGIS的編輯資料和空間分析可以通過編程的方法在每個平台上滿地跑了?
答案是:是,也不是。
1. 與AO/AE的區別
AO是ArcGIS Desktop和ArcGIS Server的底層技術,有C++、Java、.NET三種實現方式。
AO封裝一層,就是AE,其絕大部分文法是與AO相容的。
只要你能力足夠,使用AO可以完全再造一款ArcGIS Desktop軟體出來,當然也可以造一款ArcGIS Server;
也就是說有了AO/AE,可以定製出一款從資料編輯、空間分析、製圖輸出、資料管理都能做的很好的二次開發軟體。
1.1 Runtime SDK
早期使用者可能聽說過ArcGIS Engine Runtime等一系列亂七八糟的“Runtime”,這裡不廢話,以免混淆。
為了完成在各種平台(Linux、iOS、安卓、Windows、Mac)上進行資料的顯示和簡單的資料統計、簡單的空間分析,但是資料來源(地圖資料、向量柵格資料)並不存在於本機,而在遠程伺服器端(通常是伺服器電腦上的ArcGIS Server、ArcGIS Portal、Datastore等),進行的空間分析也不是在本機進行的,僅僅作為遠程伺服器進行的GP(地理處理,GeoProcess,ArcGIS Server的一個功能,十分強大)的運行結果的顯示,就有了Runtime SDK。
畫圖所示:
Runtime SDK就是為了創造各個平台上的這種用戶端而存在的一套開發包。
其中,QT的特點使得在Linux/Windows都可以跑Runtime SDK.
1.2 與B/S架構的ArcGIS API for JavaScript的區別
這個更像C/S架構,Runtime SDK的API協助文檔、類結構與Js 4.x API的API極其相似,在不同的程式設計語言上有所區別而已。
例如,Js API用Task完成瀏覽器端處理GP服務的請求、接收遠程GP服務產生的結果;
Runtime SDK也能找到類似的Task類。
因為Js 4.x API在4.5中已經出現了資料編輯的工具,這就意味著Runtime SDK早就應該具備了簡單的資料編輯工作。
但是,與ArcMap和ArcGIS Pro的“工作站”式編輯工具還是有很大差距的,例如不能完成欄位的批次運算、不能完成拓撲、不能方便資料匯入匯出等,只能簡單的畫點畫線畫面。
1.3 Runtime SDK產出
開發產生的應用程式是綠色的,不需要依賴龐大的運行庫,也不需要安裝ArcGIS套件,直接雙擊就能使用。
隨之會產生一些dll(Windows下),隨著exe一起攜帶即可。
Linux、Mac、安卓、iOS表示不清楚~有興趣的同學可以自行瞭解。
2. 個人猜想
Runtime SDK全線都更新到了100.x這個版本,旗幟鮮明的與ArcGIS Pro對接,也就是說大資料、多線程、3DGIS的加入。
顯然,Runtime SDK就是為瞭解決AO/AE中資料顯示/簡單分析的功能而出現的,因為讓只需要查看資料、地理資料統計、輕量分析的使用者去購買AE是不划算的,Esri考慮到了這一點,將繁重的資料編輯、資料管理、空間分析過程集中到了新的ArcGIS Pro平台上,使用Datastore、Portal進行發布和管理雲端資料,再使用Runtime SDK編寫輕量化的用戶端進行訪問,這符合實際的需求。如:
當然,為了方便拓展ArcGIS Pro,已經有了協助開發ArcGIS Pro外掛程式的SDK。