在新增feature时出现“这个集合中找不到此项目”的错误,代码如下:
IPoint pPoint = new ESRI.ArcGIS.Geometry.Point();
pPoint.X = jg.X;
pPoint.Y = jg.Y;
pPoint.Z = 0;
IFeatureBuffer buffer = pFC.CreateFeatureBuffer();
buffer.Shape = pPoint;//此步骤报错
百度得到shopping2088的回答,终于知道了原因,解决方法如下,两种方法根据需要选择一种即可
方法一:将新对象的ZAware 设置为true
IZAware pZAware = pPoint as IZAware;
pZAware.ZAware = true;
buffer.Shape = pPoint;
方法二:将FeatureClass的GeometryDef的HasZ设为false;
IFeatureClass pFC = (IFeatureClass)workspace.OpenFeatureClass("PSSS_PSJG_POINT");
int iShape = pFC.FindField("SHAPE");
IGeometryDef geoDef = pFC.Fields.Field[iShape].GeometryDef;
IGeometryDefEdit geoDefEdit = geoDef as IGeometryDefEdit;
geoDefEdit.HasZ_2 = false;