wxbhsp
路人甲
路人甲
  • 注册日期2006-02-22
  • 发帖数25
  • QQ
  • 铜币228枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1257回复:0

属性查询的问题

楼主#
更多 发布于:2007-01-30 10:24
<P>以下代码有错误  当程序运行到IMap imap=new MapClass();<BR>                                                imap =axMapControl1.Map;</P>
<P>                  时就过不去?请问大家问题在哪?谢谢!<BR></P>
<P>   private void button1_Click(object sender, EventArgs e)<BR>        {<BR>            string QueryStr;<BR>            QueryStr = textBox1.Text;<BR>      <BR>       <BR>            IQueryFilter iQueryFilter = new QueryFilterClass();<BR>            iQueryFilter.WhereClause = QueryStr;<BR>            </P>
<P>            IMap imap=new MapClass();<BR>            imap =axMapControl1.Map;<BR>            ILayer ilayer;<BR>            ilayer = imap.get_Layer(0);<BR>        <BR>            IFeatureLayer ifealay = (IFeatureLayer)ilayer;<BR>         <BR>            IFeatureSelection ifeasel = (IFeatureSelection)ifealay; <BR>           <BR>            //通过过滤器来选择特征要素<BR>            ifeasel.SelectFeatures(iQueryFilter, esriSelectionResultEnum.esriSelectionResultNew, false);<BR>            <BR>            ISelectionSet iselset;<BR>            //得到选择集<BR>            iselset = ifeasel.SelectionSet;  <BR>            <BR>       <BR>            ICursor icur;<BR>            IFeatureCursor ifeacur;</P>
<P>            //通过过滤器到选择集中查找<BR>            iselset.Search(null, true, out icur);<BR>            ifeacur = (IFeatureCursor)icur;</P>
<P>            IFeature  ifea;<BR>            IEnvelope ienvres = new EnvelopeClass();<BR>            //从ifeacur得到地物要素<BR>            ifea = ifeacur.NextFeature();<BR>         <BR>            //求出地物要素的范围<BR>            if (ifea!=null)<BR>            {<BR>                IGeometry igeo;<BR>                IEnvelope ifeaenv = new EnvelopeClass();</P>
<P>                igeo = ifea.Shape;<BR>                ifeaenv = igeo.Envelope;<BR>                ienvres.Union(ifeaenv);<BR>                ifea = ifeacur.NextFeature();<BR>            }</P>
<P>            if (ienvres != null)<BR>            {<BR>                ienvres = axMapControl1.Extent;<BR>                IActiveView iav = (IActiveView)axMapControl1.Map;<BR>                iav.Refresh();<BR>            }<BR>            else<BR>            {<BR>                MessageBox.Show("输入的查询语句有错误");</P>
<P>            }<BR>          <BR>        }<BR>    }</P>

喜欢0 评分0
游客

返回顶部