ARCGIS PRO SDK VB2022 创建Annotation

一、创建Annotation要素

Private Async Sub Button_Click_4(sender As Object, e As Windows.RoutedEventArgs) 
    Dim MapView As MapView
    Dim pMap As Map
    Dim annoLayer As AnnotationLayer
    Dim PP As MapPoint
    Dim ttp As Integer
    MapView = MapView.Active
    '获取地图视图的关联地图
    Map = MapView.Map
    ttp = 0
    '获取的图层
    For it = 0 To Map.Layers.Count - 1
        If Map.Layers(it).Name = "ZJ" Then   'ZJ为已加载的Annotation要素类名称
            annoLayer = CType(Map.Layers(it), AnnotationLayer)
            ttp = 1
        End If
    Next
    If ttp = 0 Then
        MsgBox("找不到加载的ZJ要素类。")
        Exit Sub
    End If
    Await QueuedTask.Run(Sub()
                             Dim insp As Inspector = New Inspector
                             insp.LoadSchema(annoLayer)
                             Dim annoProperties As AnnotationProperties = insp.GetAnnotationProperties
                             annoProperties.CharacterWidth = 75                   '定义字体的宽高比
                             annoProperties.Color = ColorFactory.Instance.CreateRGBColor(pColor.Red, pColor.Green, pColor.Blue)       '定义颜色
                             annoProperties.FontName="SimHei"                       '定义字体
                             annoProperties.FontSize = 36                         '定义字体尺寸
                             annoProperties.TextString = "My Annotation feature"  '定义注记的文本内容
                             annoProperties.VerticalAlignment = ArcGIS.Core.CIM.VerticalAlignment.Top         '定义垂直对齐
                             annoProperties.HorizontalAlignment = ArcGIS.Core.CIM.HorizontalAlignment.Justify   '定义水平对齐
                             insp.SetAnnotationProperties(annoProperties)
                             PP = MapPointBuilderEx.CreateMapPoint(36598737.694, 3792932.491)      '定义注记的位置X、Y
                             annoProperties.Shape = PP
                             insp.SetAnnotationProperties(annoProperties)

                             Dim createOperation = New EditOperation
                             createOperation.Name = String.Format("Create {0}", annoLayer.Name)
                             createOperation.SelectNewFeatures = True

                             createOperation.Create(annoLayer, insp)
                             createOperation.Execute()
                         End Sub)
    Me.Close()
End Sub

二、Annotation注记属性:

TextString:              功能的文本字符串
FontName:             字体的名称,例如 Arial
FontStyle:                字体样式的名称,例如 Normal
FontSize:                 字体大小
Underline:                指定文本是否带下划线 - TRUE/FALSE
VerticalAlignment:    文本的垂直对齐方式 - 顶部/中心/基线/底部
HorizontalAlignment:文本的水平对齐方式 – 左/右/居中/全齐
XOffset:                     将文本位置向右或向左移动
YOffset:                     向上或向下移动文本位置
Angle:                          将文本旋转一个角度
FontLeading:              调整行距
WordSpacing:            调整单词之间的间距
CharacterWidth:         调整字符宽度
CharacterSpacing:       调整字符之间的间距
FlipAngle:                   调整围绕点旋转的文本倾斜的角度

三、Annotation注记对齐方式

Annotation注记类常用的对齐方式:
            对齐方式——垂直:ArcGIS.Core.CIM.VerticalAlignment.Center
                                           ArcGIS.Core.CIM.VerticalAlignment.TOP
                                           ArcGIS.Core.CIM.VerticalAlignment.Bottom
            对齐方式——水平:ArcGIS.Core.CIM.HorizontalAlignment.Left
                                           ArcGIS.Core.CIM.HorizontalAlignment.Center
                                           ArcGIS.Core.CIM.HorizontalAlignment.Right

三、Annotation注记字体名称

常用中英文字体名称对照:

Windows常见内置中文字体
字体中文名字体英文名
宋体SimSun
黑体SimHei
微软雅黑Microsoft Yahei
微软正黑体Microsoft JhengHei
楷体KaiTi
新宋体NSimSun
仿宋FangSong
等线Dengxian
微软雅黑UIMicrosoft YaHei UI
宋体-ExtBSimSun-ExtB
Office安装后新增字体
字体中文名字体英文名
幼圆YouYuan
隶书LiSu
华文细黑STXihei
华文楷体STKaiti
华文宋体STSong
华文仿宋STFangsong
华文中宋STZhongsong
华文彩云STCaiyun
华文琥珀STHupo
华文新魏STXinwei
华文隶书STLiti
华文行楷STXingkai
方正舒体FZShuTi
方正姚体FZYaoti
版权字体(方正)
字体中文名字体英文名
方正粗雅宋简体FZYaSongS-B-GB
方正报宋简体FZBaoSong-Z04S
方正粗圆简体FZCuYuan-M03S
方正大标宋简体FZDaBiaoSong-B06S
方正大黑简体FZDaHei-B02S
方正仿宋简体FZFangSong-Z02S
方正黑体简体FZHei-B01S
方正琥珀简体FZHuPo-M04S
方正楷体简体FZKai-Z03S
方正隶变简体FZLiBian-S02S
方正隶书简体FZLiShu-S01S
方正美黑简体FZMeiHei-M07S
方正书宋简体FZShuSong-Z01S
方正舒体简体FZShuTi-S05S
方正水柱简体FZShuiZhu-M08S
方正宋黑简体FZSongHei-B07S
方正宋三简体FZSong
方正魏碑简体FZWeiBei-S03S
方正细等线简体FZXiDengXian-Z06S
方正细黑一简体FZXiHei I-Z08S
方正细圆简体FZXiYuan-M01S
方正小标宋简体FZXiaoBiaoSong-B05S
方正行楷简体FZXingKai-S04S
方正姚体简体FZYaoTi-M06S
方正中等线简体FZZhongDengXian-Z07S
方正准圆简体FZZhunYuan-M02S
方正综艺简体FZZongYi-M05S
方正彩云简体FZCaiYun-M09S
方正隶二简体FZLiShu II-S06S
方正康体简体FZKangTi-S07S
方正超粗黑简体FZChaoCuHei-M10S
方正新报宋简体FZNew BaoSong-Z12S
方正新舒体简体FZNew ShuTi-S08S
方正黄草简体FZHuangCao-S09S
方正少儿简体FZShaoEr-M11S
方正稚艺简体FZZhiYi-M12S
方正细珊瑚简体FZXiShanHu-M13S
方正粗宋简体FZCuSong-B09S
方正平和简体FZPingHe-S11S
方正华隶简体FZHuaLi-M14S
方正瘦金书简体FZShouJinShu-S10S
方正细倩简体FZXiQian-M15S
方正中倩简体FZZhongQian-M16S
方正粗倩简体FZCuQian-M17S
方正胖娃简体FZPangWa-M18S
方正宋一简体FZSongYi-Z13S
方正剪纸简体FZJianZhi-M23S
方正流行体简体FZLiuXingTi-M26S
方正祥隶简体FZXiangLi-S17S
方正粗活意简体FZCuHuoYi-M25S
方正胖头鱼简体FZPangTouYu-M24S
方正卡通简体FZKaTong-M19S
方正艺黑简体FZYiHei-M20S
方正水黑简体FZShuiHei-M21S
方正古隶简体FZGuLi-S12S
方正幼线简体FZYouXian-Z09S
方正启体简体FZQiTi-S14S
方正小篆体FZXiaoZhuanTi-S13T
方正硬笔楷书简体FZYingBiKaiShu-S15S
方正毡笔黑简体FZZhanBiHei-M22S
方正硬笔行书简体FZYingBiXingShu-S16S

四、Annotation注记字体样式
       Regular:正常
       Light:细(外观的重量小于正常值)
       Bold:加粗(外观的重量大于正常值)

五、修改Annotation注记参考比例尺

Dim va As IReadOnlyList(Of String)
va = Geoprocessing.MakeValueArray(注记要素类,比例尺分母)
Await Geoprocessing.ExecuteToolAsync("UpdateAnnotationReferenceScale", va, Nothing, Nothing, Nothing, Nothing)

例如:注记要素类="C:/data/Canada.gdb/cities"    ‘C:/data/Canada.gdb数据库,cities为要素类
          比例尺分母=5000

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值