如何将ISymbol赋予图层中的Feature?

ArcMap中对图层进行了唯一值渲染,Engine中打开该图层,想修改图层中某个Feature的符号,如何实现?
已邀请:

朱新颖

赞同来自:

【解决办法】:
1,通过IUniqueValueRenderer.get_Field()获取字段名称,其中参数可以为0,1或者2,这要看渲染时用的单个字段还是多个字段(可以通过IUniqueValueRenderer.FieldCount获取),如果渲染时只用了一个字段,那么设为0,即可返回渲染的字段名称。

2,使用IFields.FindField 根据上步的字段名称获取字段索引值index,然后通过IFeature.get_Value 获取字段值。

3,调用IUniqueValueRenderer.set_Symbol,刷新即可。

注意,唯一值渲染是相同的字段值对应于一个Symbol,如果修改的Feature的字段值对应多个要素,则这些要素都会渲染成新设置的Symbol。

要回复问题请先登录注册