ArcGIS Runtime 本地API介绍(六)
来源:互联网 发布:淘宝翻新机 编辑:程序博客网 时间:2024/05/21 09:40
本例子使用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"]asGraphicsLayer;
pGraphicsLayer.ClearGraphics();
e.MapPoint.SpatialReference =MyMap.SpatialReference;
Graphic graphic = new ESRI.ArcGIS.Client.Graphic()
{
Geometry = e.MapPoint,
Symbol = LayoutRoot.Resources["DefaultClickSymbol"]asESRI.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]asGPFeatureRecordSetLayer;
Graphic graphicBuff = new ESRI.ArcGIS.Client.Graphic()
{
Geometry =rs.FeatureSet.Features[0].Geometry,
Symbol = LayoutRoot.Resources["ResultsFillSymbol"]asESRI.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介绍
- java.util.Properties类
- 你可能不知道的Shell
- AWK 中运行MV命令
- 分析智能卡的ATR格式
- Error configuring application listener of class org.springframework.web.….ContextLoaderListener
- ArcGIS Runtime 本地API介绍(六)
- 设计模式--结构型--桥接模式
- 【小蒙淘金】11月23日金评-美盘休市,如何应对清淡的行情
- shell 整型变量自增(加1)的几种方法
- ArcGIS Runtime其他性能
- js 闭包和匿名函数
- 关于华为H3C 802.1X认证客户端的分析
- ANT 的安装和配置
- java简单的TCP服务程序