『公告』 预祝您龙年大吉,万事如意, 过节期间, 大家如需数据服务,请拨打400 或直接添加客服微信,再祝大家龙年,心想事成。
关注我们 新浪 腾讯

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

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 ();


      京ICP备08100627号-22 京公网安备 11010802030428号