当前位置: 首页 > news >正文

做家乡网站源代码软文标题大全

做家乡网站源代码,软文标题大全,团队协同网站开发,兰州网络推广做啥的ArcGIS Pro SDK (七)编辑 13 注解 文章目录 ArcGIS Pro SDK (七)编辑 13 注解1 注释构建工具2 以编程方式启动编辑批注3 更新批注文本4 修改批注形状5 修改批注文本图形6 接地到网格 环境:Visual Studio 2022 .NET6 …

ArcGIS Pro SDK (七)编辑 13 注解

文章目录

  • ArcGIS Pro SDK (七)编辑 13 注解
    • 1 注释构建工具
    • 2 以编程方式启动编辑批注
    • 3 更新批注文本
    • 4 修改批注形状
    • 5 修改批注文本图形
    • 6 接地到网格

环境:Visual Studio 2022 + .NET6 + ArcGIS Pro SDK 3.0

1 注释构建工具

// 在您的 config.daml 中设置 categoryRefID
// <tool id="..." categoryRefID="esri_editing_construction_annotation" caption="Create Anno" ...>// 在构造函数中选择 Sketch 类型 Point 或 Line 或 BezierLine...
internal class AnnoConstructionTool : MapTool
{public AnnoConstructionTool(){IsSketchTool = true;UseSnapping = true;SketchType = SketchGeometryType.Point;}protected async override Task<bool> OnSketchCompleteAsync(Geometry geometry){if (CurrentTemplate == null || geometry == null)return false;// 创建编辑操作var createOperation = new EditOperation();createOperation.Name = string.Format("Create {0}", CurrentTemplate.Layer.Name);createOperation.SelectNewFeatures = true;var insp = CurrentTemplate.Inspector;var result = await QueuedTask.Run(() =>{// 获取注释属性类AnnotationProperties annoProperties = insp.GetAnnotationProperties();// 设置自定义注释属性annoProperties.TextString = "自定义文本";annoProperties.Color = ColorFactory.Instance.RedRGB;annoProperties.FontSize = 24;annoProperties.FontName = "Arial";annoProperties.HorizontalAlignment = ArcGIS.Core.CIM.HorizontalAlignment.Right;annoProperties.Shape = geometry;// 将注释属性分配回检查器insp.SetAnnotationProperties(annoProperties);// 队列特征创建createOperation.Create(CurrentTemplate.Layer, insp);// 执行操作return createOperation.Execute();});return result;}

2 以编程方式启动编辑批注

var plugin = FrameworkApplication.GetPlugInWrapper("esri_editing_EditVerticesText");
if (plugin.Enabled)((ICommand)plugin).Execute(null);

3 更新批注文本

await QueuedTask.Run(() =>
{// annoLayer 是您的注释图层...// 使用检查器方法学// 在 2.x 版本中 - var insp = new Inspector(true);var insp = new Inspector();insp.Load(annoLayer, oid);// 获取注释属性AnnotationProperties annoProperties = insp.GetAnnotationProperties();// 设置属性annoProperties.TextString = "Hello World";// 将注释属性分配回检查器insp.SetAnnotationProperties(annoProperties);// 创建和执行编辑操作EditOperation op = new EditOperation();op.Name = "Update annotation";op.Modify(insp);op.Execute();
});

4 修改批注形状

await QueuedTask.Run(() =>{// 不要使用 'Shape'....Shape 是注释文本的边界框,这不是您想要的...// 在 2.x 版本中 - var insp = new Inspector(true);var insp = new Inspector();insp.Load(annoLayer, oid);AnnotationProperties annoProperties = insp.GetAnnotationProperties();var shape = annoProperties.Shape;if (shape.GeometryType != GeometryType.GeometryBag){var newGeometry = GeometryEngine.Instance.Move(shape, 10, 10);annoProperties.Shape = newGeometry;insp.SetAnnotationProperties(annoProperties);EditOperation op = new EditOperation();op.Name = "Change annotation angle";op.Modify(insp);op.Execute();}});

5 修改批注文本图形

await QueuedTask.Run(() =>{var selection = annoLayer.GetSelection();if (selection.GetCount() == 0)return;// 使用第一个选中的要素// 在 2.x 版本中 - var insp = new Inspector(true);var insp = new Inspector();insp.Load(annoLayer, selection.GetObjectIDs().FirstOrDefault());// 如果不是注释要素,则应返回 null 的 getAnnoPropertiesAnnotationProperties annoProperties = insp.GetAnnotationProperties();// 获取文本图形CIMTextGraphic textGraphic = annoProperties.TextGraphic;// 修改文本textGraphic.Text = "Hello world";// 通过符号设置 x、y 偏移量var symbol = textGraphic.Symbol.Symbol;var textSymbol = symbol as CIMTextSymbol;textSymbol.OffsetX = 2;textSymbol.OffsetY = 3;textSymbol.HorizontalAlignment = HorizontalAlignment.Center;// 加载更新后的文本图形annoProperties.LoadFromTextGraphic(textGraphic);// 将注释属性分配回去insp.SetAnnotationProperties(annoProperties);EditOperation op = new EditOperation();op.Name = "modify symbol";op.Modify(insp);bool result = op.Execute();});

6 接地到网格

CIMGroundToGridCorrection correction = null;
bool isCorecting = correction.IsCorrecting();   // 等同于 correction != null && correction.Enabled;
bool UsingOffset = correction.UsingDirectionOffset();   // 等同于 correction.IsCorrecting() && correction.UseDirection;
double dOffset = correction.GetDirectionOffset(); // 等同于 correction.UsingDirectionOffset() ? correction.Direction : DefaultDirectionOffset;
bool usingDistanceFactor = correction.UsingDistanceFactor();  // 等同于 correction.IsCorrecting() && correction.UseScale;
bool usingElevation = correction.UsingElevationMode(); // 等同于 correction.UsingDistanceFactor() && c.ScaleType == GroundToGridScaleType.ComputeUsingElevation;
bool usingSFactor = correction.UsingConstantScaleFactor();  //; 等同于 correction.UsingDistanceFactor() && correction.ScaleType == GroundToGridScaleType.ConstantFactor;
double dSFactor = correction.GetConstantScaleFactor(); // 等同于 correction.UsingDistanceFactor() ? correction.ConstantScaleFactor : DefaultConstantScaleFactor;
http://www.ds6.com.cn/news/34388.html

相关文章:

  • 博物馆网站做的好的seo网站排名软件
  • 网站建设计入什么科目seoul是韩国哪个城市
  • 唐四薪 php动态网站开发许昌网络推广外包
  • 日本住宅建设商网站广州网站建设正规公司
  • 国外html5做的音乐网站百度广告屏蔽
  • 建设行网站修改电话增加百度指数的四种方法
  • 南通市建设局网站马建明搜索引擎优化实训
  • 广告网站怎么做的免费发广告的平台有哪些
  • wordpress 5.0编辑器很难用湖南正规seo公司
  • 江西九江永修网站建设山东百度推广代理商
  • 怎么自己在家做网站青岛seo排名扣费
  • 网站内链案例全网络品牌推广
  • 影视网站cpa 如何做公司的网站
  • 软件技术专升本难吗成都高新seo
  • 网站限制国内ip访问高级seo培训
  • 一键logo设计app搜索引擎优化的定义是什么
  • 婚恋网站应聘做销售微信怎么推广
  • 香港做网站什么费用自媒体运营
  • 网站建设图片上传操作seo01网站
  • 只做彩票网站犯法吗seo搜索引擎优化薪酬
  • 手机网站使用微信支付付费推广有几种方式
  • 学校联网网站建设优化师培训
  • 帮我们做网站的人找不到了快速建站工具
  • 淘宝客如何建立自己的网站常用的搜索引擎有哪些
  • 做窗帘网站图片南京seo推广公司
  • 网站成本费用杭州seo联盟
  • 如何给网站做下载附件域名停靠
  • 网站想举报怎么做seo优化顾问服务阿亮
  • 一步步教你做电商网站网络公司经营范围
  • 做网站是否要去工商备案今日新闻头条新闻最新