當前位置:編程學習大全網 - 編程語言 - arcgis for android怎麽用GP服務實現地圖導航,就是最短路徑查詢

arcgis for android怎麽用GP服務實現地圖導航,就是最短路徑查詢

本文我們主要將以下三部分內容:

1.學會使用使用ArcMap構建等值線GP服務模型

2.學會使用ArcGIS Server發布我們創建的GP服務模型

3.學會ArcGIS Runtime for Android下異步調用GP服務,繪制等值線

其中前兩部分可本博客其他文章有詳細說明可參考:

blogs.com/potential/archive/2012/10/27/2742355.html

這篇文章使用的是10.0的ArcGIS Server,而這裏我們使用的是10.1的 ArcGIS Server,因此在此我們也會提到10.1下如何來發布我們的服務。如果您熟悉GP服務的發布過程,可直接跳轉至第三部分。

第三部分的內容主要解決以下幾個問題:

1.如果根據現有的坐標信息和對應的屬性數據,構造相應的地理要素?例如:現在有某個省的個監測點的降雨數據(監測點經緯度,及監測點的降雨量),那麽如何在地圖上對這些監測點的數據進行反映?

2.如何在Android平臺上根據這些監測點的數據來對整個地區進行插值呢?並將等值線添加到Android移動平臺的地圖中?

3.如何根據等值線的值,動態設置其不同的顏色呢?

壹、使用ArcMap構建等值線的GP服務模型

既然我們要創建等值線那麽,肯定需要繪制等值線的數據,即進行等值線繪制的點。而等值線又是怎麽得到的呢?很簡單,根據這些點的位置和其表示的值(如該店的降雨量,濃度值等)對其進行插值。插值的過程就是根據已有的點來計算某壹未知區域的點的濃度值。

常用的插值方法有拉格朗日插值,克裏金插值,反距離插值,樣條函數插值等。壹般情況下我們選擇反距離和克裏金插值,如果想得到非常平滑的插值結果,則可以采用三次樣條插值。

插值完成之後,實際上得到的是更多的點,而繪制等值線就是將具有相同屬性值的點連接起來得到等值線。通常情況下我們需要自己代碼完成插值過程和追蹤等值點的算法。並連接等值點。但是在ArcGIS中有內置的插值工具和等值線工具供我們使用。但是在ArcGIS中各個功能模塊都是壹個單獨的工具,而通過上面的分析我們知道繪制等值線至少有兩個過程:1.插值,2.依據插值結果繪制等值線

因此依據上面的分析我們通過ArcMap的Model Builder可以構建如下的工具模型:

但是通常情況下上述得到的等值線有可能不會很平滑,如果需要較平滑的等值線可以再加上壹個平滑工具,如:

通過加上平滑工具,設置平滑容差,可以得到較為平滑的等值線。

二、 發布GArcMap構建的GP服務模型

在ArcGIS Server 10.1中,發布GP服務的方式較之前有所改變,不再是發布GP服務模型本身,而是發布在GP服務模型在ArcMap運行之後的結果,如圖所示:

然後出現發布服務的選項:

publish a service:直接將現有模型結果發布為GP服務。

Save a service definition file:保存為服務定義文件,可以用於在ArcGIS Server Manager中發布為服務。

Overwrite an existing service:覆蓋當前的ArcGIS Server 服務。

這裏我們選擇第二個選項,Save a service definition file.這樣的好處是可以在ArcGIS Manager上遠程發布。同時sd文件也很容易遷移到其他的機器。

保存為sd文件之後,登陸ArcGIS Server Manager頁面,點擊發布服務:

然後點擊選擇文件,選擇之前在ArcMap中保存的服務定義文件(.sd).然後點擊下壹步。

之後選擇發布服務的名稱,和所在服務的目錄。

最後點擊下壹步,發布服務。在服務發布之後登陸服務的rest頁面可以查看服務的具體參數信息:

接下來我們就需要開始編碼來調用我們這裏的GP服務實現繪制等值線的功能。到此我們的繪制等值線的GP服務以及發布完成,接下來就是編碼的過程。當然為了確保您的GP服務能夠正確運行,建議在編碼之前,通過ArcMap來驗證壹下您的GP服務。驗證過程可參考之前的博文,鑒於篇幅在此不再贅述。

  • 上一篇:沂南三職學校招生電話
  • 下一篇:介紹江陰名勝 歷史 名人 特產 的綜合片段 60字~~
  • copyright 2024編程學習大全網