REST区域关系分析方法
来源:互联网 发布:mac ssh 免密码登录 编辑:程序博客网 时间:2024/04/28 03:58
注意,所有层都需要坐标polyline2.SpatialReference = new SpatialReference(102113);
对两个图元求交:
(1) private void insertGeometryService()
{
MyMap.MinimumResolution = double.Epsilon;
geometryService = new GeometryService("http://tasks.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer");
//geometryService.SimplifyCompleted += new EventHandler<GraphicsEventArgs>(geometryService_SimplifyCompleted);
geometryService.Failed += new EventHandler<TaskFailedEventArgs>(geometryService_Failed);
query.IntersectLayer("18");//取得截取的面区域,用来做截取
}
(2)
public void drawInnerYLX()
{
try
{
if ((query.IntersectGraphicsLayer != null) && (graphicList != null))//graphicList 是很的的线,比如等值线
{//query.IntersectGraphicsLayer即刚取到的截取的面区域
query.IntersectGraphicsLayer.Geometry.SpatialReference = new SpatialReference(102113);
geometryService.IntersectCompleted += new EventHandler<GraphicsEventArgs>(geometryService_IntersectCompleted);
geometryService.IntersectAsync(graphicList, query.IntersectGraphicsLayer.Geometry);
}
}
catch (Exception ex) { MessageBox.Show(ex.ToString()); }
}
(3) void geometryService_IntersectCompleted(object sender, GraphicsEventArgs e)
{
GraphicsLayer intersectGraphicsLayer = MyMap.Layers["MyGraphicsLayer"] as GraphicsLayer;
intersectGraphicsLayer.ClearGraphics();
foreach (Graphic g in e.Results)
{
g.Symbol = LayoutRoot.Resources["DefaultLineSymbol"] as Symbol;
intersectGraphicsLayer.Graphics.Add(g);
}
}
求关系类型:
(1)添加需要加入分析的图层。。。
geometryService =
new GeometryService("http://tasks.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer");
geometryService.RelationCompleted += new EventHandler<RelationEventArgs>(geometryService_RelationCompleted);
geometryService.SimplifyCompleted += new EventHandler<GraphicsEventArgs>(geometryService_SimplifyCompleted);
geometryService.Failed += new EventHandler<TaskFailedEventArgs>(geometryService_Failed);
GraphicsLayer graphicsLayer = MyMap.Layers["MyGraphicsLayer"] as GraphicsLayer; geometryService.SimplifyAsync(graphicsLayer.graphics);
(2)增加二级图层:
void geometryService_SimplifyCompleted(object sender, GraphicsEventArgs e)
{
GraphicsLayer pointLayer = MyMap.Layers["MyGraphicsLayer2"] as GraphicsLayer;
geometryService.RelationAsync(
pointLayer.Graphics,
e.Results,
GeometryRelation.esriGeometryRelationWithin, null);//这里还有个参数是关于图层关系的,这里是求包括在范围内
}
(3)求得关系:
void geometryService_RelationCompleted(object sender, RelationEventArgs e)
{
List<GeometryRelationPair> results = e.Results;
GraphicsLayer pointLayer = MyMap.Layers["MyGraphicsLayer"] as GraphicsLayer;
foreach (GeometryRelationPair pair in results)
{
if (pointLayer.Graphics[pair.Graphic1Index].Attributes["Relation"] == null)
{
pointLayer.Graphics[pair.Graphic1Index].Attributes["Relation"] =
string.Format("Within Polygon {0}", pair.Graphic2Index);
}
else
{
pointLayer.Graphics[pair.Graphic1Index].Attributes["Relation"] +=
"," + pair.Graphic2Index.ToString();
}
//if (polygonLayer.Graphics[pair.Graphic2Index].Attributes["Relation"] == null)
//{
// polygonLayer.Graphics[pair.Graphic2Index].Attributes["Relation"] =
// string.Format("Contains Point {0}", pair.Graphic1Index);
//}
//else
//{
// polygonLayer.Graphics[pair.Graphic2Index].Attributes["Relation"] +=
// "," + pair.Graphic1Index.ToString();
//}
}
}
- REST区域关系分析方法
- 微服务与rest关系
- REST全面分析
- REST架构分析
- 国家区域代码关系整理
- 国家区域代码关系整理
- Git几块区域关系
- 区域形状分析
- REST思想及与MVC的关系
- REST思想及与MVC的关系
- django rest framework 视图类的关系
- dubbox rest调用过程分析
- 区域区划方法
- 无效区域 更新区域 重画 WM_PAINT 的关系和机制
- EXT4 ajax rest 处理方法
- 区域卫生平台用户分析
- php smarty区域循环方法
- 简单方法创建透明区域
- 怎样设置局域网共享?
- VC开发GTK配置环境
- MM常用T-CODE
- 自动更改网络配置
- PP常用T-CODE
- REST区域关系分析方法
- 关于rowid的小小研究
- 注册表修改:写该值的新内容时出错解决方案
- qt 加图标资源方法
- oracle 方案和表空间
- 一个汉字=2个英文字符么?我肤浅的这么认为。- -
- 一流国企与外企的待遇比较
- 网页打印完整代码
- event 坐标