李禧亮
路人甲
路人甲
  • 注册日期2012-03-08
  • 发帖数8
  • QQ
  • 铜币143枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1894回复:3

空间位置查询

楼主#
更多 发布于:2012-04-21 12:43
加载两个图层以后,比如河流与行政区,想使用河流图层去选取河流穿过的行政区,使用esrispatialrelcrosses怎么实现。c#版的。谢谢。
喜欢0 评分0
happyGISer
路人甲
路人甲
  • 注册日期2011-09-02
  • 发帖数59
  • QQ
  • 铜币300枚
  • 威望0点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
1楼#
发布于:2012-04-24 09:24
 
[br]1  /************************************************************************/[br]2         /*   hostGeometrys:面几何集[br]3          *   customGeomentry 线几何[br]4          *   [br]5         /************************************************************************/[br]6         public IGeometryCollection isRealationOperatorCross(IGeometryCollection hostGeometrys, IGeometry customGeomentry)[br]7         {[br]8             IGeometryCollection geomentryCollection = null;[br]9             bool isCross = false;[br]10             IRelationalOperator operOne = customGeomentry as IRelationalOperator;[br]11             for(int i=0; i < hostGeometrys.GeometryCount; i++)[br]12             {[br]13                 isCross = operOne.Crosses(hostGeometrys.get_Geometry(i));[br]14                 if (!isCross)[br]15                 {[br]16                     hostGeometrys.RemoveGeometries(i, 1);[br]17                 }[br]18 [br]19             }[br]20             return hostGeometrys;[br]21 [br]22         }
举报 回复(0) 喜欢(0)     评分
happyGISer
路人甲
路人甲
  • 注册日期2011-09-02
  • 发帖数59
  • QQ
  • 铜币300枚
  • 威望0点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
2楼#
发布于:2012-04-24 09:25
用到的是空间分析关系接口IRelationalOperator接口.实现起来比较简单.
举报 回复(0) 喜欢(0)     评分
happyGISer
路人甲
路人甲
  • 注册日期2011-09-02
  • 发帖数59
  • QQ
  • 铜币300枚
  • 威望0点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
3楼#
发布于:2012-04-24 12:21
 <br/>
[此贴子已经被作者于2012-04-24 12:21:27编辑过]
举报 回复(0) 喜欢(0)     评分
游客

返回顶部