ArcGIS Pro创建线有问题
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using ArcGIS.Core.CIM; using ArcGIS.Core.Data; using ArcGIS.Core.Geometry; using ArcGIS.Desktop.Catalog; using ArcGIS.Desktop.Core; using ArcGIS.Desktop.Editing; using ArcGIS.Desktop.Extensions; using ArcGIS.Desktop.Framework; using ArcGIS.Desktop.Framework.Contracts; using ArcGIS.Desktop.Framework.Dialogs; using ArcGIS.Desktop.Framework.Threading.Tasks; using ArcGIS.Desktop.Mapping; namespace TKPrint { internal class MapTool1 : MapTool { public MapTool1() { IsSketchTool = true; SketchType = SketchGeometryType.Line; SketchOutputMode = SketchOutputMode.Screen; } protected override Task OnToolActivateAsync(bool active) { return base.OnToolActivateAsync(active); } //protected override Task<bool> OnSketchCompleteAsync(Geometry geometry) //{ // Map activeMap = MapView.Active.Map; // var polygonLayer = activeMap.GetLayersAsFlattenedList().OfType<FeatureLayer>().Where( // lyr => lyr.ShapeType == ArcGIS.Core.CIM.esriGeometryType.esriGeometryPolygon).FirstOrDefault(); // if (polygonLayer == null) // return Task.FromResult(false); // return QueuedTask.Run(() => // { // var newPolygon = geometry as Polygon; // FeatureClass featureClass = polygonLayer.GetFeatureClass(); // RowBuffer rowBuffer = featureClass.CreateRowBuffer(); // rowBuffer["Shape"] = newPolygon; // featureClass.CreateRow(rowBuffer); // rowBuffer.Dispose(); // return Task.FromResult(true); // }); //} protected override Task<bool> OnSketchCompleteAsync(Geometry geometry) { if (CurrentTemplate == null || geometry == null) return Task.FromResult(false); try { // Create an edit operation var createOperation = new EditOperation(); createOperation.Name = string.Format("Create {0}", CurrentTemplate.Layer.Name); createOperation.SelectNewFeatures = true; // pass the point geometry to the Create method createOperation.Create(CurrentTemplate, geometry); // Execute the operation return createOperation.ExecuteAsync(); } finally { MapView.Active.RedrawAsync(true); } //Map activeMap = MapView.Active.Map; //var polygonLayer = activeMap.GetLayersAsFlattenedList().OfType<FeatureLayer>().Where( // lyr => lyr.ShapeType == ArcGIS.Core.CIM.esriGeometryType.esriGeometryPolyline).FirstOrDefault(); //if (polygonLayer == null) // return Task.FromResult(false); //return QueuedTask.Run(() => //{ // var createOperation = new EditOperation() // { // Name = "Create polylins", // SelectNewFeatures = false // }; // var newPolygon = geometry as Polyline; // // queue the polygon creation // createOperation.Create(polygonLayer, newPolygon); // // execute the edit (polygon create) operation // return Task.FromResult(createOperation.Execute()); //}); } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
2019-03-24 ArcGIS中国工具,版权声明,本人没有授权任何单位和个人销售,其他都是盗版,为了你个人和单位利益,请勿购买。 销售QQ:27652980,853740877,电话:18987281928,13108507190,qq群310964401