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());

效果如下:

 

 

 

没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。



    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/6262951.html ,如需转载请自行联系原作者


相关文章
|
存储 C语言
ArcGIS:Excel/Txt 文件生成点图层、属性表编辑的基本方法、属性表之间的连接(合并)和关联的操作、属性表的字段计算器的使用
ArcGIS:Excel/Txt 文件生成点图层、属性表编辑的基本方法、属性表之间的连接(合并)和关联的操作、属性表的字段计算器的使用
361 0
|
定位技术
ArcGIS:如何对Shapefile文件进行符号系统修改、标注、合并、分割、拓扑编辑等?
ArcGIS:如何对Shapefile文件进行符号系统修改、标注、合并、分割、拓扑编辑等?
742 0
|
7月前
|
人工智能 编解码 定位技术
ArcGIS导出AI或EPS格式的地图图片并在Adobe Illustrator中继续编辑
ArcGIS导出AI或EPS格式的地图图片并在Adobe Illustrator中继续编辑
338 1
|
7月前
|
定位技术
ArcGIS中各版本ArcMap安装OpenStreetMap编辑工具集插件ArcGIS Editor for OSM
ArcGIS中各版本ArcMap安装OpenStreetMap编辑工具集插件ArcGIS Editor for OSM
210 1
|
定位技术 索引
ArcGIS数据编辑1 新要素的创建
🏆在本文中,作者讲解了ArcGIS要素创建了全流程,从面要素到线要素,分别以不同的方法补全了道路的缺失部分
273 0
|
SQL 开发框架 数据可视化
ArcGIS Engine学习系列1 AE基础介绍
市面上AE教程大致到ArcGIS10.2,ESRI宣布从ArcGIS10.5开始便停止AE的更新,使用AO做开发,初学者可以在学习C#语言后,从AE入门,逐渐过度到AO。不同版本下AE数据类型数量Enums:枚举类型,用于实现一些定义的内容Structs:结构体Interfaces:接口Classes:类AE开发中,为了更好地管理COM对象,ESRI将这些COM对象放到不同的组件库中。
307 0
|
Web App开发 JavaScript 前端开发
|
定位技术
ArcGIS Engine中的Symbols详解
本文由本人翻译ESRI官方帮助文档。尊重劳动成果,转载请注明来源。 Symbols     ArcObjects用了三种类型的Symbol(符号样式)来绘制图形特征:marker symbols(标记符号),line symbols(线符号),和fill symbols(填充符号)。
917 0
|
定位技术 C# C++
VC2010+ArcGIS Engine 10.1 开发(一)
                      使用MFC(VS2010)开发ArcGIS Engine 10.1 网上C#结合ArcGIS Engine的资料简直太多了,多的都无法形容,但是C++的却很少,前一段时间不断的有人问在VC中如何开发ArcGI...
1114 0
|
C# 定位技术
VC2010+ArcGIS Engine 10.1 开发(二)
采用ActiveX控件插入的方式 上面我们是通过代码直接将地图控件放到界面上,这种有一个不好的地方就是,如果我们要设置控件的一些样式和视觉效果,我们要自己写很多代码,在C#中我们就很容易,其实在VC中也可以采用这种方式,下来我介绍下: 插入控件 在Vi...
851 0