麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

ArcGIS Engine 10 开发手册(6-4)使用ArcGIS Engine进行拓扑关系操作

空间拓扑关系是空间分析中的重要部分,各种空间分析的结果都可以通过几何图像之间的拓扑运算实现。 比如:查找距离超市 1000 米内有多少居民。这些居民中有多少潜在顾客。这也是一个典型的缓冲区分析,实际上就是给超市做了个 1000 米得缓冲区,然后用这个缓冲区和居民数据叠加,进而挖掘潜在顾客。空间 拓扑关系都定义在了 ITopologicalOperator 接口中,从帮助文档中我们可以获得 ITopologicalOperator 的详细信息,如下:

ITopologicalOperator 接口提供了基于现有几何体(geometries)之间拓扑关系来构建新几何体的方法和属性

示例:在地图上通过鼠标点击实现空间缓冲查询

代码如下:

IMap pMap = axMapControl1.Map;

IActiveView pActView = pMap as IActiveView;

IPoint pt = pActView.ScreenDisplay.DisplayTransformation.ToMapPoint (e.x, e.y);

ITopologicalOperator pTopo = pt as ITopologicalOperator;
IGeometry pGeo = pTopo.Buffer (500);

ESRI.ArcGIS.Display.IRgbColor rgbColor = new ESRI.ArcGIS.Display.RgbColorClass ();

rgbColor.Red = 255;

ESRI.ArcGIS.Display.IColor color = rgbColor; // Implicit Cast 
ESRI.ArcGIS.Display.ISimpleFillSymbol simpleFillSymbol = new ESRI.ArcGIS.Display.SimpleFillSymbolClass ();
simpleFillSymbol.Color = color;

ESRI.ArcGIS.Display.ISymbol symbol = simpleFillSymbol as ESRI.ArcGIS.Display.ISymbol;

pActView.ScreenDisplay.SetSymbol (symbol);
pActView.ScreenDisplay.DrawPolygon (pGeo);
pMap.SelectByShape (pGeo, null, false);

//闪动1000次

axMapControl1.FlashShape (pGeo, 1000, 2, symbol);
axMapControl1.ActiveView.Refresh ();

ArcGIS Engine 10 开发手册全集

ArcGIS Engine 10 开发手册全集: ArcGIS Engine 10 开发手册

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子

留言板(小编看到第一时间回复)