ArcGIS Server 動態圖層發布調用圖解


@

1 前言

1.1 簡介

ArcGIS Server將GIS資源以服務的方式發布,能夠讓更多的人在Web上瀏覽、使用。不過,諸如氣象、環保等方面的信息是實時變化的,按照之前常規的方法,我們先要將最新獲得的信息組織成地圖文檔后再對外發布服務,這樣一來只要有更新的信息就要重復前面的工作,不僅地圖服務維護的工作量比較大,而且無法讓公眾在第一時間了解這些信息。

動態圖層並不是在Server端直接添shape、raster、filegdb、database等資源,它需要依附於一個開啟動態圖層的地圖服務。然后,把數據資源所在位置注冊為這個地圖服務的動態工作空間。最后,在Web端調用時指定圖層關聯的數據源以圖層符號化等。

1.2 適用場景

根據需要選擇是否允許服務器的客戶端動態更改地圖服務中的圖層外觀和行為。要確定哪些圖層顯示在地圖中、圖層符號系統、圖層順序和位置以及標注等,可通過使用動態圖層在服務器端實現。因此,適用於以下兩種情況:

1)改變現有圖層:符號,渲染方式和版本,這些都可以通過客戶端請求的時候給定相應的參數來進行設置,從而來達到輕易改變地圖的效果。
2) 添加地圖服務中沒有的圖層:添加的數據可以是矢量數據也可以柵格數據,還可以是一個通過sql查詢出來的結果,或者是兩個表關聯的關聯結果。矢量的數據可以是shapefile,filegdb,或者sde中的數據。柵格數據可以是esri能直接識別的柵格數據格式。

2 動態圖層

2.1 共享地圖服務

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

2.2 動態工作空間添加

在這里插入圖片描述
在這里插入圖片描述

2.2.1 企業級數據庫

選擇了數據庫,則可以指定想要使用的數據庫連接並單擊導入 > 瀏覽。可以選擇鎖定用戶可以訪問的數據庫版本。為此,選擇鎖定版本。

在這里插入圖片描述
在這里插入圖片描述

2.2.2 shapefile文件夾

選擇了 Shapefile,則輸入包含想要使用的 Shapefile 的文件夾的路徑。
在這里插入圖片描述
在這里插入圖片描述

2.2.3 柵格文件夾

選擇了柵格,則輸入包含想要使用的柵格的文件夾的路徑。
在這里插入圖片描述
在這里插入圖片描述

2.2.4 文件地理數據庫

選擇了文件地理數據庫,則輸入想要使用的文件地理數據庫的路徑。請記住,稍后需要將圖層添加到該地理數據庫。
在這里插入圖片描述
在這里插入圖片描述

2.3 發布服務

在這里插入圖片描述
在這里插入圖片描述

2.4 Server端設置

1)登陸ArcGIS Server Manager,並打開已發布的地圖
在這里插入圖片描述
2)添加動態工作空間,並點擊REST URL鏈接
在這里插入圖片描述
3)驗證動態工作空間是否發布
在這里插入圖片描述
4)驗證動態圖層是否可以成功發布

{
 //id自設
 "id": 1,
 "source": {
  "dataSource": {
  //工作空間id
   "workspaceId": "Test00",
   //源數據名
   "dataSourceName": "ltest.sde.test",
   //柵格raster,矢量table
   "type": "raster / table"
  },
  //mapLayer對已有圖層動態修改,dataLayer向動態工作空間疊加服務圖層
  "type": "mapLayer / dataLayer"
 }
}

在這里插入圖片描述
5)點擊“導出地圖”(續2.4第三步)
在這里插入圖片描述
6)導出動態地圖
在這里插入圖片描述

2.5 效果展示

2.5.1 企業級數據庫

1)准備數據
2)發布地圖服務,參見本文2.1-2.3
3)向動態工作空間新增數據並測試

矢量數據
在這里插入圖片描述
在這里插入圖片描述
柵格數據
在這里插入圖片描述
在這里插入圖片描述

2.5.2 shapefile文件夾

1)准備數據
在這里插入圖片描述
2)發布地圖服務
在這里插入圖片描述
3)向動態工作空間新增數據並測試
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

2.5.3 柵格文件夾

1)准備數據
在這里插入圖片描述
2)發布地圖服務
在這里插入圖片描述
3)向動態工作空間新增數據並測試
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

2.5.4 文件地理數據庫

與企業級數據庫類似。

2.6 服務調用

3.x與4.x版本源碼迥異,參考API指南進行編輯

2.6.1 本地服務

前往ArcGIS API for JavaScript下載頁獲取需要的API版本,並將其解壓到本地項目中。

2.6.2 托管服務

托管服務直接引用ArcGIS在線js類庫,優點為不用下載API文件,缺點為偶爾可能加載較慢。

2.6.3 圖層渲染

渲染器可以為特征圖層或者圖形圖層定義一組符號,ArcGIS API For JS中有五種不同的渲染器,SimpleRenderer、ClassBreaksRenderer、UniqueValueRenderer、DotDensityRenderer和TemporalRenderer五種,無論那種渲染都要創建渲染示例,定義渲染符號,最后將渲染器添加到圖層,詳細內容參見ArcGIS API For JS 之render(符號渲染)

2.6.4 測試案例

感謝網友無私的分享,大家記得一定star哈!
https://github.com/xinligis/AGS-JSAPI-Samples/tree/master/動態圖層

2.7 故障排查

1)發布地圖服務時,提示“無法注冊文件夾到server上”

解決方案: 把文件夾注冊到server上目的是讓server從該文件夾訪問數據,那么就得保證server對data具有訪問權。因此必須設置data共享賬戶中包括ArcGIS Server Account。
在這里插入圖片描述
2)動態圖層工作空間為企業級數據庫,新增動態圖層驗證錯誤
在這里插入圖片描述
解決方案: 查證數據庫連接字符串信息,若連接的數據庫不匹配則重新導入
在這里插入圖片描述
3)動態空間柵格圖層,前端顯示配色不正確
在這里插入圖片描述
解決方案: 參考關於ArcGIS動態圖層空間內柵格數據,JS前端顯示顏色不正確的解決方案,動態空間文件夾的柵格數據,ArcGIS Server僅僅做最基礎的顯示,不做任何拉伸。因此,需要將柵格數據拉伸處理並存入到動態工作空間。
在這里插入圖片描述
在這里插入圖片描述

3 參考資料

  1. 關於動態圖層
  2. 使用動態圖層在服務器端渲染
  3. arcgis server 10.1 發布動態圖層展示海量及頻繁更新的數據步驟
  4. ArcGIS Server10.1 動態圖層服務
  5. 【轉】ArcGIS Server 10.1 動態圖層
  6. 【轉】ArcGIS Server 10.1 動態圖層—添加柵格
  7. ArcGIS Server 10.1動態圖層 以及Windows Phone/Silverlight客戶端實現
  8. 下載並部署 ArcGIS API for JavaScript 4.10
  9. 初識:ArcGIS API for JavaScrip
  10. ArcGIS_api_for_js_添加動態圖層
  11. ArcGIS API For Javascript之動態圖層
  12. arcgis server for javacript 動態創建矢量、柵格圖層


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM