Chap.10--ArcObjects开发Chap.10--空间数据编辑(AE10+VS2010)解析.ppt
文本预览下载声明
case esriGeometryType.esriGeometryPolyline: nearestPoint = proximity.ReturnNearestPoint(pPt, esriSegmentExtension.esriNoExtension); for (i = 0; i geometryCollection.GeometryCount; i++) { IGeometryCollection polyline = new PolylineClass(); polyline.AddGeometry(geometryCollection.get_Geometry(i), ref missing, ref missing); IRelationalOperator relationalLine = polyline as IRelationalOperator; if (relationalLine.Contains(nearestPoint)) { FlashGeometry(polyline as IGeometry, 5, 10); convertPart = i; break; } } break; case esriGeometryType.esriGeometryPolygon: for (i = 0; i geometryCollection.GeometryCount; i++) { IGeometryCollection polygon = new PolygonClass(); polygon.AddGeometry(geometryCollection.get_Geometry(i), ref missing, ref missing); IRelationalOperator relPolygon = polygon as IRelationalOperator; if (relPolygon.Contains(pPt)) { FlashGeometry(polygon as IGeometry, 5, 10); convertPart = i; break; } } break; default: break; } if (convertPart == -1) return -1; return convertPart; } private void ConvertPartToFeature(int part, IFeature selectedFeature) { IGeometryCollection geometryCollection = selectedFeature.Shape as IGeometryCollection; IFeatureClass featureClass = selectedFeature.Class as IFeatureClass; IDataset dataset = featureClass as IDataset; IWorkspaceEdit workspaceEdit = dataset.Workspace as IWorkspaceEdit; if (!(workspaceEdit.IsBeingEdited())) return; IFeature newFeature = null; try { workspaceEdit.StartEditOperation(); newFeature = featureClass.C
显示全部