ARCGIS PRO SDK POINT层唯一值渲染按角度旋转

c+ 代码: 按Direction字段旋转,旋转样式为数学

        protected override async void OnClick()
        {
            var featLayer = MapView.Active.Map.GetLayersAsFlattenedList().OfType<FeatureLayer>().First();
            await QueuedTask.Run(() =>
            {
                var render = featLayer.GetRenderer() as CIMSimpleRenderer;
                var cimVisualVariableInfoXY = new CIMVisualVariableInfo
                {
                    RandomMax = 360,
                    RandomMin = 0,
                    VisualVariableInfoType = VisualVariableInfoType.None
                };
                var cimExpressionInfoZ = new CIMExpressionInfo
                {
                    Title = "Custom",
                    ReturnType = ExpressionReturnType.Default,
                    Expression = "$feature.Direction"
                };
                var cimVisualVariableInfoZ = new CIMVisualVariableInfo
                {
                    RandomMax = 360,
                    RandomMin = 0,
                    VisualVariableInfoType = VisualVariableInfoType.Expression,
                    ValueExpressionInfo = cimExpressionInfoZ
                };
                var listCIMVisualVariables = new List<CIMVisualVariable>
                {
                    new CIMRotationVisualVariable {
                        VisualVariableInfoX = cimVisualVariableInfoXY,
                        VisualVariableInfoY = cimVisualVariableInfoXY,
                        VisualVariableInfoZ = cimVisualVariableInfoZ,
                        RotationTypeZ=SymbolRotationType.Arithmetic,
                        NormalToSurface = false
                    }
                };
                render.VisualVariables = listCIMVisualVariables.ToArray();
                featLayer.SetRenderer(render);
            });
        }

vb 代码:: 按Dzd_name字段旋转,旋转样式为地理

 '=======================获取点特征层的渲染器
 Dim cimRenderer As CIMSimpleRenderer = pFeatureLayer.GetRenderer
 Dim cimVisualVariableInfoXY = New CIMVisualVariableInfo
 With cimVisualVariableInfoXY
     .RandomMax = 360
     .RandomMin = 0
     .VisualVariableInfoType = VisualVariableInfoType.None
 End With
 Dim cimExpressionInfoZ = New CIMExpressionInfo
 With cimExpressionInfoZ
     .Title = "Custom"
     .ReturnType = ExpressionReturnType.Default
     .Expression = "$feature." & zd_name 
 End With
 Dim cimVisualVariableInfoZ = New CIMVisualVariableInfo
 With cimVisualVariableInfoZ
     .RandomMax = 360
     .RandomMin = 0
     .VisualVariableInfoType = VisualVariableInfoType.Expression
     .ValueExpressionInfo = cimExpressionInfoZ
 End With
 Dim listCIMVisualVariables = New List(Of CIMVisualVariable)

 Dim cimRotationVariable = New CIMRotationVisualVariable
 With cimRotationVariable
     .VisualVariableInfoX = cimVisualVariableInfoXY
     .VisualVariableInfoY = cimVisualVariableInfoXY
     .VisualVariableInfoZ = cimVisualVariableInfoZ
     .RotationTypeZ = SymbolRotationType.Geographic
     .NormalToSurface = False
 End With
 listCIMVisualVariables.Add(cimRotationVariable)
 cimRenderer.Symbol = symbolToApply.MakeSymbolReference
 cimRenderer.VisualVariables = listCIMVisualVariables.ToArray()
 pFeatureLayer.SetRenderer(cimRenderer)

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值