ArcGIS Engine 编辑- IWorkspaceEdit
转自原文 ArcGIS Engine 编辑- IWorkspaceEdit
这个例子中,我创建了1000条要素,并结合缓冲将数据写到文件中,并且添加了时间统计,当然数据是我捏造的,还请原谅,这个花费的时间为0.978秒,速度还行。
IWorkspaceFactory pWsF = new ShapefileWorkspaceFactory();
IFeatureWorkspace pFtWs = pWsF.OpenFromFile(@"E:\arcgis\Engine\数据", 0) as IFeatureWorkspace;
IFeatureClass pFtClass = pFtWs.OpenFeatureClass("edit");
IFeatureLayer pFt = new FeatureLayerClass();
pFt.FeatureClass = pFtClass;
pFt.Name = "画线";
axMapControl1.Map.AddLayer(pFt as ILayer);
axMapControl1.Refresh();
//为了进一步说明Idataset,我特意从下面的代码
IDataset pDataset = pFtClass as IDataset;
IWorkspace pWs = pDataset.Workspace;
pWsEdit = pWs as IWorkspaceEdit;
pWsEdit.StartEditing(true);
pWsEdit.StartEditOperation();
pBoolStart = pWsEdit.IsBeingEdited();
System.Diagnostics.Stopwatch TimeWatch = new System.Diagnostics.Stopwatch();
TimeWatch.Start();
IFeatureBuffer pFeatureBuffer = pFtClass.CreateFeatureBuffer();
IFeatureCursor pFtCusor = pFtClass.Insert(true);
ESRI.ArcGIS.Geometry.IPolyline polyline = new ESRI.ArcGIS.Geometry.PolylineClass();
ESRI.ArcGIS.Geometry.IPoint pPoint = new ESRI.ArcGIS.Geometry.PointClass();
ESRI.ArcGIS.Geometry.IPoint pPoint2 = new ESRI.ArcGIS.Geometry.PointClass();
for (int i = 0; i < 1000; i++)
{
pPoint.X = 48 + i * 102;
pPoint.Y = 65 + i * 10;
polyline.FromPoint = pPoint;
pPoint2.X = 480 + i * 10;
pPoint2.Y = 615 + i * 102;
polyline.ToPoint = pPoint2;
pFeatureBuffer.Shape = polyline;
pFeatureBuffer.set_Value(2, i);
object pFeatureOID = pFtCusor.InsertFeature(pFeatureBuffer);
}
pFtCusor.Flush();
pWsEdit.StopEditing(true);
axMapControl1.Refresh();
TimeWatch.Stop();
MessageBox.Show(TimeWatch.Elapsed.Milliseconds.ToString());
效果如下:
相关文章
- pycharm pro 2022 for mac(Python编辑开发)v2022.2.2中文激活版
- LRTimelapse 6 for Mac(延迟摄影编辑渲染软件)v6.2.1激活版
- 【每周CV论文推荐】StyleGAN人脸属性编辑有哪些经典论文需要阅读
- Cell | SnapShot | 癌症免疫编辑
- Aurora HDR 2019,HDR照片后期编辑工具 Mac下载
- 图片海报编辑设计Photoshop 2022 for Mac(ps 2022)
- Premiere Pro 2020 Mac版(专业非线性视频编辑软件)
- pycharm pro for mac(Python编辑开发)
- 编辑环境如何从Linux vi编辑环境中退出(怎么退出linuxvi)
- K-3D是基于GNU/Linux和Win32的一个三维建模、动画和绘制系统,是一款免费、开放原始码的 3D 模型和动画制作与渲染 (rendering) 工具,它强大的功能可以满足专业人士的需求。它可以创建和编辑 3D 几何图形,提供极具弹性的面向对象的插件增强功能及以节点作基础的可视化管线架构,所有参数和选项的调整,都会立即显现结果,而且可以无限次数地复原与取消复原。此外,它使用与 RenderMan 相符的渲染引擎 (render engine),可创作出电影质量的 3D 动画。
- Web 编辑MSSQL:从零开始妙用数据库(web 编辑mssql)
- 如何优雅地使用SQLServer操作表?(sqlserver表编辑)
- Linux VI编辑器:快速退出指南(linux vi编辑退出)
- CSSvista可同时在IE和Fifrefox调试的CSS编辑提供下载
- js直接编辑当前cookie的脚本
- 基于jquery实现的可编辑下拉框实现代码