zjt3s
路人甲
路人甲
  • 注册日期2005-02-27
  • 发帖数13
  • QQ
  • 铜币78枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1491回复:0

AE获取要素符号问题

楼主#
更多 发布于:2007-01-08 23:26
<P>AE获取要素符号问题</P>
<P>AE的常用符号化是根据图层属性值唯一值进行符号化</P>
<P>新手想获取原有要素的符号,先代码如下:  </P>
<P>      public ISymbol get_SymbolByFeature(IFeatureLayer ls_FeatLayer, string strFieldName, string strFieldValue)<BR>        {<BR>            ISymbol ls_Symbol = null;                      //此方法不能返回ISymbol,不知是何原因<BR>            IFeature ls_Feat = null;<BR>            if (ls_FeatLayer != null)<BR>            {<BR>                IGeoFeatureLayer tmp_GeoFeatLayer = (IGeoFeatureLayer)ls_FeatLayer;<BR>                IFeatureRenderer ls_FeatRenderer = tmp_GeoFeatLayer.Renderer;<BR>                IQueryFilter ls_QueryFilter = new QueryFilterClass();<BR>                try<BR>                {<BR>                    ls_QueryFilter.WhereClause = "" + strFieldName + "='" + strFieldValue + "'";<BR>                    ls_FeatRenderer.PrepareFilter(ls_FeatLayer.FeatureClass, ls_QueryFilter);<BR>                    IFeatureCursor ls_FeatCursor = ls_FeatLayer.FeatureClass.Search(ls_QueryFilter, true);<BR>                    ls_Feat = ls_FeatCursor.NextFeature();<BR>                    MessageBox.Show(ls_Feat.OID.ToString());<BR>                    ls_Symbol = ls_FeatRenderer.get_SymbolByFeature(ls_Feat);<BR>                }<BR>                catch (Exception ex)<BR>                {<BR>                    MessageBox.Show("寻找已有符号失败");<BR>                }<BR>            }<BR>            else<BR>            {<BR>                return null;<BR>            }<BR>            return ls_Symbol;<BR>        }</P>
<P>出现的问题是函数调用后,显示返回值为null,不知是何原因,请大虾们指点。</P><img src="images/post/smile/dvbbs/em08.gif" />
喜欢0 评分0
游客

返回顶部