緩衝區分析和物件間轉換

2021-06-05 16:09:19 字數 1873 閱讀 5269

arcgis server web adf的開發沒有提供緩衝區的演算法,不過對於熟悉arcobjects(ao)開發人員都知道,在arcobjects中實現緩衝區非常簡單,只需要呼叫:itopologicaloperator介面即可。

這裡有必要對arcgis server的幾何物件進行解釋。在arcobjects中,幾何物件都是com物件,而在adf web controls中的幾何物件都是valueobject,這些幾何物件使用不同的開發方式時必須進行轉換。如在arcgis server中呼叫arcobjects介面,就必須把adf web controls的valueobject轉換為com的comobject使用,arcgis server提供converter來處理這些不同型別幾何物件的轉換。

談到arcgis server中的ao程式設計,有必要對arcgis server的兩種通用連線方式進行解釋:arcgis server internet和arcgis server local。arcgis  server internet方式連線gis server時,就相當於連線標準的web service,而對於web service的使用者而言,只有其暴露的方法才能使用,沒有暴露的方法則不能使用。因而通過arcgis server internet方式連線得到某個服務的時候,所獲得的功能是有限的。arcgis server local通過區域網連線gis server,這時可以使用後台功能強大的ao元件,可以實現強大gis功能的開發。

在arcgis server進行遠端呼叫ao時候,必須建立乙個伺服器上下文(servercontext),只有擁有伺服器上下文,伺服器物件和所有相關的其他物件才是活動的,可以呼叫,一旦釋放了伺服器上下文,就不能再使用伺服器物件。伺服器上下文可以看做乙個程序(arcsoc.exe),作為訪問server object和arcobjects的入口。在arcgis server中使用server context的一般步驟如下:

(1)建立於伺服器的連線。

(2)獲得伺服器物件。

(3)使用伺服器物件。

(4)釋放伺服器物件。

adf中的graphics資料來源可以支援兩種圖層,分別為elementgraphicslayer和featuregraphicslayer,兩者都是system.data.datatable型別。elementgraphicslayer圖層用用來模擬要素圖層並且儲存要素的屬性資訊。因而客戶端可以根據要素的屬性來渲染不同的要素。乙個featuregraphicslayer圖層只能存放一種幾何型別的元素,因而featuregraphicslayer圖層還支援查詢。

實現不同資料來源幾何物件之間的轉換,核心程式如下:

esri.arcgis.geometry.igeometry compnt=(esri.arcgis.geometry.igeometry)esri.arcgis.adf.web.datasources.arcgisserver.converter.toigeometry(pnt,psc);//實現adf到com物件的轉換

esri.arcgis.adf.arcgisserver.polygonn valuepoly=(esri.arcgis.adf.arcgisserver.polygonn)esri.adf.web.datasources.arcgisserver.converter.comobjecttovalueobject(bufpoly,psc,typeof(esri.arcgis.adf.arcgisserver.polygonn);//實現com到server物件的轉換

esri.arcgis.adf.web.geometry.polygon adfpoly=(esri.arcgis.adf.web.geometry.polygon)esri.arcgis.adf.web.datasources.arcgisserver.converter.toadfpolygon(valuepoly);//實現server到adf物件的轉換。

緩衝區分析 1

緩衝區分析 1 緩衝區分析需要在 ao介面中實現,輸入的點應該是乙個 com物件,而在頁面中輸入 xy座標點是乙個 soap api valueojbect valueobject 可以用於 adf web controls 但不能用於 ao介面,因此需要進行 valueobject 到comojb...

緩衝區分析 2

緩衝區分析 2 然後用arcgis server local 方式建立到 datasource 的連線,這點非常重要,主要是為了在這種連線狀態下進行 valueobject 和comobject 之間的轉換。建立連線的使用者應屬於 arcgis server 管理組。esri.arcgis.adf....

緩衝區分析 3

緩衝區分析 3 下面是ao 中緩衝區分析的 熟悉 ao程式設計的對下面 應該很了解了 esri.arcgis.geometry.itopologicaloperator topop esri.arcgis.geometry.itopologicaloperator ipnt double buffe...