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 开发手册

如您有疑问,可在文末留言,或到QQ群提问。

本站QQ群(一):291616564(满) 麻辣GIS

本站QQ群(二):166408035(新) 麻辣GIS(二)

微信公众号:malagis,扫描右边二维码直接关注。

微信捐助麻辣GIS 支付宝捐助麻辣GIS

如果本文对您有所帮助,欢迎对我们团队进行打赏捐助,让我们在传播3S的路上可以走得更远。


作者:,GIS爱好者。
分享本文,请您带上本文链接

发表评论