一、创建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 |
微软雅黑UI | Microsoft YaHei UI |
宋体-ExtB | SimSun-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