Creating features |
#region 创建要素
int featCount = 0;IFeatureClass pFeatClass = pFeatLayer.FeatureClass;
IFeatureCursor pFeatureCursor = pFeatClass.Insert(true);
foreach (var id_car in m_dicCar_Obj)
{
foreach (var trace in id_car.Value.TraceList)
{
IFeatureBuffer pFeatureBuffer = pFeatClass.CreateFeatureBuffer();
IPoint pPoint = new ESRI.ArcGIS.Geometry.Point();
pPoint.X = trace._cp.Lng;
pPoint.Y = trace._cp.Lat;
pFeatureBuffer.Shape = pPoint;
pFeatureBuffer.set_Value(pFeatureBuffer.Fields.FindField("车辆识别码"), id_car.Key);
pFeatureBuffer.set_Value(pFeatureBuffer.Fields.FindField("GPS时间"), trace.GPSTime);
pFeatureBuffer.set_Value(pFeatureBuffer.Fields.FindField("经度"), trace._cp.Lng);
pFeatureBuffer.set_Value(pFeatureBuffer.Fields.FindField("纬度"), trace._cp.Lat);
pFeatureBuffer.set_Value(pFeatureBuffer.Fields.FindField("方向"), trace.GPSDirection);
pFeatureBuffer.set_Value(pFeatureBuffer.Fields.FindField("里程仪速"), trace.GPSSpeed);
pFeatureCursor.InsertFeature(pFeatureBuffer);
featCount++;
}
}
pFeatureCursor.Flush();
System.Runtime.InteropServices.Marshal.ReleaseComObject(pFeatureCursor);

本文介绍了在ArcGIS Engine(AE)开发中,通过使用IFeatureBuffer接口来显著提升从大数据点文件读取并生成SHP文件的效率。通过对要素缓冲区的操作,减少了不必要的内存分配,从而加快了读取速度。

被折叠的 条评论
为什么被折叠?



