ArcGIS Runtime 本地API介绍(六)
来源:互联网 发布:java web session 编辑:程序博客网 时间:2024/06/06 02:11
本例子使用GPK实现一个缓冲区分析,在地图上单击,以该点作为基点然后根据输入的缓冲距离做缓冲区分析,核心代码如下:
namespace ArcGISWpfLgp
{
public partial class MainWindow : Window
{
Geoprocessor pGPTask;
public MainWindow()
{
InitializeComponent();
//授权
ArcGISRuntime.SetLicense("许可");
//初始化服务器
LocalServer.Initialize();
//获取本地GP服务
LocalGeoprocessingService.GetServiceAsync(@"SimpleBuffer.gpk",GPServiceType.Execute, (gpService) =>
{
if (gpService.Error !=null)
{
MessageBox.Show(gpService.Error.Message);
}
//创建Geoprocessor
pGPTask = new Geoprocessor(gpService.UrlGeoprocessingService +"/" +
"SimpleBuffer");
MyMap.MouseClick +=MyMap_MouseClick;
});
}
private void MyMap_MouseClick(objectsender, ESRI.ArcGIS.Client.Map.MouseEventArgse)
{
pGPTask.CancelAsync();
GraphicsLayer pGraphicsLayer = MyMap.Layers["MyGraphicsLayer"]as GraphicsLayer;
pGraphicsLayer.ClearGraphics();
e.MapPoint.SpatialReference =MyMap.SpatialReference;
Graphic graphic = new ESRI.ArcGIS.Client.Graphic()
{
Geometry = e.MapPoint,
Symbol = LayoutRoot.Resources["DefaultClickSymbol"]as ESRI.ArcGIS.Client.Symbols.Symbol
};
graphic.SetZIndex(1);
pGraphicsLayer.Graphics.Add(graphic);
//构造GP的参数,2个,一个表示FeatureSet,一个表示缓冲距离
List<GPParameter>pGParams = newList<GPParameter>();
double pDist = System.Convert.ToDouble(txtBoxDist.Text);
Graphic pGraphic = new Graphic { Geometry = e.MapPoint };
FeatureSet pFeatureSet = new FeatureSet(new List<Graphic> { pGraphic });
pGParams.Add(newGPFeatureRecordSetLayer("InputFeatures",pFeatureSet));
pGParams.Add(newGPLinearUnit("Distance",esriUnits.esriKilometers,pDist));
pGPTask.ExecuteCompleted += (s,e1) =>
{
GPExecuteResultsresults = e1.Results;
GPFeatureRecordSetLayerrs = results.OutParameters[0]as GPFeatureRecordSetLayer;
Graphic graphicBuff = new ESRI.ArcGIS.Client.Graphic()
{
Geometry =rs.FeatureSet.Features[0].Geometry,
Symbol = LayoutRoot.Resources["ResultsFillSymbol"]as ESRI.ArcGIS.Client.Symbols.Symbol
};
pGraphicsLayer.Graphics.Add(graphicBuff);
};
pGPTask.Failed += (s2,e2) =>
{
MessageBox.Show(e2.Error.Message);
};
pGPTask.ExecuteAsync(pGParams);
}
}
}
- ArcGIS Runtime 本地API介绍(六)
- ArcGIS Runtime 本地API介绍(六)
- ArcGIS Runtime 本地API介绍(二)
- ArcGIS Runtime 本地API介绍(三)
- ArcGIS Runtime 本地API 介绍(四)
- ArcGIS Runtime 本地API介绍(五)
- ArcGIS Runtime 本地API介绍(二)
- ArcGIS Runtime 本地API介绍(三)
- ArcGIS Runtime 本地API 介绍(四)
- ArcGIS Runtime 本地API介绍(五)
- ArcGIS Runtime 本地API介绍
- ArcGIS Runtime 本地API介绍(一)
- ArcGIS Runtime 本地API介绍(一)
- Arcgis Javascript那些事儿(六)--arcgis js API本地环境配置
- ArcGIS Runtime 介绍
- ArcGIS Runtime 介绍
- ArcGIS Runtime介绍
- ArcGIS Runtime for Xamarin介绍
- Domino服务器拓扑图XPage应用程序介绍
- AHCI驱动下载与手动安装图解
- 软件测试的艺术学习笔记
- Android 不通过USB数据线调试的方法
- hge在VS2010中的配置
- ArcGIS Runtime 本地API介绍(六)
- Android 数据存储机制
- c++面试试题
- 在Wifi下获取本地IP地址
- careercup3.4
- 静默安装Oracle的准备工作
- 可集成在XPage中的谷歌地图控件
- 详细AutoEventWireup <@ Page language=c# AutoEventWireup="false"和“True”>的研究
- 为什么要使用反射机制