ARCGIS PRO SDK 地图图层单一符号化_____线图层

   1、定义渲染器线符号:
        1)、自定义线符号
             Dim Linesymbol As CIMLineSymbol = SymbolFactory.Instance.ConstructLineSymbol(ColorFactory.Instance.RedRGB,width ,SimpleLineStyle)
width:                    要构造的线条符号的宽度。
SimpleLineStyle:类型见下表:如一条虚线:SimpleLineStyle.Dot

成员 描述
Dash 具有长破折号和短空格重复模式的虚线。
DashDot 具有重复模式的虚线-空格-小破折号-空格。
DashDotDot 具有破折号空间-小破折号空间-小破折号空间的重复模式的虚线。
Dot 一条虚线,具有均匀分布的小破折号的重复模式。
Null 不绘制的空线。
Solid 没有破折号的简单实线。
Dim Linesymbol As CIMLineSymbol = SymbolFactory.Instance.ConstructLineSymbol(ColorFactory.Instance.RedRGB,1.0 ,SimpleLineStyle.Dot)

2)、调用已有的样式

'获取当前工程中的所有样式
Dim symbolToApply As CIMSymbol
Dim Pitem As SymbolStyleItem
Dim symbol_dic = Project.Current.GetItems(Of StyleProjectItem)
'按名称获取样式
Dim style As StyleProjectItem = symbol_dic.First(Function(x) x.Name = "SDFHK")
Await QueuedTask.Run(Sub()
                         Dim key As String = "JZX"
                         Pitem = style.LookupItem(StyleItemType.LineSymbol, key)
                     End Sub)
symbolToApply = Pitem.Symbol

2、获得层的渲染器

Dim currentRenderer As CIMSimpleRenderer = pFeatureLayer.GetRenderer

3、图层渲染

'更新当前简单渲染器的符号引用
currentRenderer.Symbol = symbolToApply.MakeSymbolReference()
'更新要素图层渲染器
pFeaturelayer.SetRenderer(currentRenderer)

你可能感兴趣的:(arcgis)