緩衝區分析(3)

緩衝區分析(3)
  下面是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;
// 進行comobjectvalueobject之間的轉換
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;

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章