下面是AO中緩衝區分析的代碼,熟悉AO編程的對下面代碼應該很瞭解了:
ESRI.ArcGIS.Geometry.ITopologicalOperator topop = (ESRI.ArcGIS.Geometry.ITopologicalOperator)ipnt; double bufferDistance = map.Extent.Width / 6; ESRI.ArcGIS.Geometry.IPolygon bufferPolygon; bufferPolygon = (ESRI.ArcGIS.Geometry.IPolygon)topop.Buffer(bufferDistance);
bufferPolygon就是緩衝區分析的結果,但它還不是我們最後想要的,因爲ESRI.ArcGIS.Geometry.IPolygon無法在adf web control中顯示,還需要做一次轉換:
// 定義valueobject的點 ESRI.ArcGIS.ADF.ArcGISServer.PolygonN buffer_polyn; // 進行comobject到valueobject之間的轉換 buffer_polyn = (ESRI.ArcGIS.ADF.ArcGISServer.PolygonN)ESRI.ArcGIS.ADF.Web.DataSources.ArcGISServer.Converter.ComObjectToValueObject(bufferPolygon, serverContext, typeof(ESRI.ArcGIS.ADF.ArcGISServer.PolygonN));
buffer_polyn就是我們最後想要的結果,定義一種渲染方式:
ESRI.ArcGIS.ADF.ArcGISServer.RgbColor rgb1 = new ESRI.ArcGIS.ADF.ArcGISServer.RgbColor(); rgb1.Red = 200; rgb1.Green = 200; rgb1.Blue = 20; // 設置區的填充色 ESRI.ArcGIS.ADF.ArcGISServer.SimpleFillSymbol sfs1 = new ESRI.ArcGIS.ADF.ArcGISServer.SimpleFillSymbol(); sfs1.Style = ESRI.ArcGIS.ADF.ArcGISServer.esriSimpleFillStyle.esriSFSHorizontal; sfs1.Color = rgb1; ESRI.ArcGIS.ADF.ArcGISServer.PolygonElement polyelement1 = new ESRI.ArcGIS.ADF.ArcGISServer.PolygonElement(); polyelement1.Symbol = sfs1; polyelement1.Polygon = buffer_polyn;
|