andrewr
路人甲
路人甲
  • 注册日期2005-02-21
  • 发帖数32
  • QQ
  • 铜币244枚
  • 威望0点
  • 贡献值0点
  • 银元0个
10楼#
发布于:2006-08-18 11:33
就是啊,如果没选中的话if (feat == null)return;这里就退出方法了!20的单位是米!<BR>                <BR>
举报 回复(0) 喜欢(0)     评分
desertoasis
路人甲
路人甲
  • 注册日期2005-07-17
  • 发帖数15
  • QQ
  • 铜币190枚
  • 威望0点
  • 贡献值0点
  • 银元0个
11楼#
发布于:2006-08-18 11:38
<P>IQueryFilter filter = (IQueryFilter)spatFilter;<BR>            IFeatureCursor featCursor = editLayer.Search(filter, false);</P>
<P>为什么不直接用 SpatialQueryFilter,还转成IQueryFilter?我用过这个,没有问题的。</P>
举报 回复(0) 喜欢(0)     评分
hsghxm
路人甲
路人甲
  • 注册日期2004-10-27
  • 发帖数517
  • QQ4604052
  • 铜币1枚
  • 威望0点
  • 贡献值0点
  • 银元0个
12楼#
发布于:2006-08-18 11:38
<P>晕,do<BR>            {<BR>               mapView .FocusMap.SelectFeature((ILayer)editLayer, feat);<BR>                feat = featCursor.NextFeature();<BR>            }<BR>            while (feat != null);</P>
<P>该为while(feat!=null)</P>
<P>{</P>
<P> mapView .FocusMap.SelectFeature((ILayer)editLayer, feat);<BR>                feat = featCursor.NextFeature();</P>
<P>}</P>
<P>因为do..while是先执行,在判断,而while()是先判断再执行</P>
<P>这样的话你可能点的点根本就没选到要素,你跟跟看<BR></P><img src="images/post/smile/dvbbs/em01.gif" />
MSN:hsghxm@163.com QQ:4604052 (很少用,最好别加) Email:hsghxm@163.com 我的BOLG:http://www.gisempire.com/blog/user1/864/index.htm
举报 回复(0) 喜欢(0)     评分
desertoasis
路人甲
路人甲
  • 注册日期2005-07-17
  • 发帖数15
  • QQ
  • 铜币190枚
  • 威望0点
  • 贡献值0点
  • 银元0个
13楼#
发布于:2006-08-18 11:42
<P>  IFeature feat = featCursor.NextFeature();</P>
<P>      while (feat != null);<BR><BR>            {<BR>                m_map.Map.SelectFeature((ILayer)editLayer, feat);<BR>                feat = featCursor.NextFeature();<BR>            }<BR>            IActiveView mapView = m_map.ActiveView;<BR>            mapView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, null, null);<BR></P>
举报 回复(0) 喜欢(0)     评分
hsghxm
路人甲
路人甲
  • 注册日期2004-10-27
  • 发帖数517
  • QQ4604052
  • 铜币1枚
  • 威望0点
  • 贡献值0点
  • 银元0个
14楼#
发布于:2006-08-18 11:45
<P>    ISpatialFilter pSpatialFilter = new SpatialFilterClass();<BR>    pSpatialFilter.Geometry = hGeometry;<BR>    switch (m_FeatureLayer.FeatureClass.ShapeType)<BR>    {<BR>     case esriGeometryType.esriGeometryPoint:<BR>      pSpatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelContains;<BR>      break;<BR>     case esriGeometryType.esriGeometryPolyline:<BR>      pSpatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelIntersects;<BR>      break;<BR>     case esriGeometryType.esriGeometryPolygon:<BR>      pSpatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelIntersects;<BR>      break;<BR>    }<BR>  <BR>    pSpatialFilter.GeometryField = m_FeatureLayer.FeatureClass.ShapeFieldName;<BR>    IQueryFilter pFilter = pSpatialFilter as IQueryFilter;<BR>    IFeatureCursor pCursor = m_FeatureLayer.Search(pFilter, false);<BR>    IFeature pFeature= pCursor.NextFeature();<BR>    while ( pFeature!=null)<BR>    {<BR>          m_ActiveView.FocusMap.SelectFeature(m_FeatureLayer, pFeature);<BR>          pFeature = pCursor.NextFeature();<BR>    }  </P>
<P> m_ActiveView 是全局变量 m_ActiveView = MapControl1.ActiveView ;我的一点问题都没有的</P>
MSN:hsghxm@163.com QQ:4604052 (很少用,最好别加) Email:hsghxm@163.com 我的BOLG:http://www.gisempire.com/blog/user1/864/index.htm
举报 回复(0) 喜欢(0)     评分
andrewr
路人甲
路人甲
  • 注册日期2005-02-21
  • 发帖数32
  • QQ
  • 铜币244枚
  • 威望0点
  • 贡献值0点
  • 银元0个
15楼#
发布于:2006-08-18 11:48
换了楼上的循环,结果还是一样,循环里的方法都经过了,执行了selectfeature,但imap的selectiontcount还是为0,各位,救救我啊!!!!!!
举报 回复(0) 喜欢(0)     评分
hsghxm
路人甲
路人甲
  • 注册日期2004-10-27
  • 发帖数517
  • QQ4604052
  • 铜币1枚
  • 威望0点
  • 贡献值0点
  • 银元0个
16楼#
发布于:2006-08-18 11:48
<P>有可能是你的IActiveView mapView = m_map.ActiveView;定义的位置不对,你把它放在全局上!用 m_ActiveView.FocusMap.SelectFeature(m_FeatureLayer, pFeature);来选择<BR><BR></P><img src="images/post/smile/dvbbs/em01.gif" />
MSN:hsghxm@163.com QQ:4604052 (很少用,最好别加) Email:hsghxm@163.com 我的BOLG:http://www.gisempire.com/blog/user1/864/index.htm
举报 回复(0) 喜欢(0)     评分
andrewr
路人甲
路人甲
  • 注册日期2005-02-21
  • 发帖数32
  • QQ
  • 铜币244枚
  • 威望0点
  • 贡献值0点
  • 银元0个
17楼#
发布于:2006-08-18 11:59
谢谢各位,可以了,图层调用那里错了!!呵呵!!!感谢感谢!!!!
举报 回复(0) 喜欢(0)     评分
Renon
路人甲
路人甲
  • 注册日期2003-08-01
  • 发帖数169
  • QQ6625162
  • 铜币66枚
  • 威望0点
  • 贡献值0点
  • 银元0个
18楼#
发布于:2006-08-20 11:34
<P>your selected Count is 0 .May be your Grid Size of your map is too small ,you can use the ArcGis desktop to try it ,if it can't select too ,you can change the Grid Size of your map,</P>
举报 回复(0) 喜欢(0)     评分
langyan8973
路人甲
路人甲
  • 注册日期2006-07-12
  • 发帖数90
  • QQ
  • 铜币456枚
  • 威望0点
  • 贡献值0点
  • 银元0个
19楼#
发布于:2006-10-10 13:49
我用了上面的方法怎么选不到点要素啊?
举报 回复(0) 喜欢(0)     评分
上一页 下一页
游客

返回顶部