// Get a cursor on selected features IFeatureCursor cursor = null; featLayer.getSelectionSet().search(null, false, cursor); // Delete all features in the cursor IFeature feature = null; while ((feature = cursor.nextFeature()) != null) { cursor.deleteFeature(); // Or maybe try feature.delete() } // Clear the selection set, because deleting this way doesn't notify the table or the TOC to udpate. featLayer.clear(); // optionally call updateContents on map document // If the cursor is no longer needed, release it. Cleaner.release(cursor);
fc = (IFeatureClass) featLayer.getFeatureClass(); // Create a queryFilter with where clause queryFilter = new QueryFilter(); // Create two enums. One to iterate and one to get the IDs without a complex for statement IEnumIDs oids = (IEnumIDs) featLayer.getSelectionSet().getIDs(); IEnumIDs oids2 = (IEnumIDs) featLayer.getSelectionSet().getIDs(); int count = featLayer.getSelectionSet().getCount(); int x = 0; // Build a long WhereClause from all of the OBJECTIDs concatenated together. StringBuilder sb = new StringBuilder(); sb.append(fc.getOIDFieldName() + " = "); while((oids.next()) != -1){ if(x < ((count) - 1)){ sb.append(oids2.next()); sb.append(" OR " + fc.getOIDFieldName() + " = "); x++; } else { sb.append(oids2.next()); } } queryFilter.setWhereClause(sb.toString()); // Use IFeatureClass.Update to populate IFeatureCursor. IFeatureCursor updateCursor = fc.IFeatureClass_update(queryFilter, false); IFeature feature = null; while ((feature = updateCursor.nextFeature()) != null) { updateCursor.deleteFeature(); } // Clear the selection set, because deleting this way doesn't notify the table or the TOC to udpate. featLayer.clear(); // optionally call updateContents on map document // If the cursor is no longer needed, release it. Cleaner.release(updateCursor);
// Get a cursor on selected features IFeatureCursor cursor = null; featLayer.getSelectionSet().search(null, false, cursor); // Delete all features in the cursor IFeature feature = null; while ((feature = cursor.nextFeature()) != null) { cursor.deleteFeature(); // Or maybe try feature.delete() }
// Create a queryFilter with where clause = to the OID of the selected feature in the map queryFilter = new QueryFilter(); // ex: OBJECTID = 10 String strWhereClause = fc.getOIDFieldName() + " = " + featLayer.getSelectionSet().getIDs().next(); queryFilter.setWhereClause(strWhereClause); // Use IFeatureClass.Update to populate IFeatureCursor. IFeatureCursor updateCursor = fc.IFeatureClass_update(queryFilter, false); IFeature feature = null; while ((feature = updateCursor.nextFeature()) != null) { updateCursor.deleteFeature(); } // If the cursor is no longer needed, release it. Cleaner.release(updateCursor);
IEnumIDs oids = (IEnumIDs) featLayer.getSelectionSet().getIDs(); IEnumIDs oids2 = (IEnumIDs) featLayer.getSelectionSet().getIDs(); while((oids.next()) != -1){ fc.getFeature(oids2.next()).delete(); oids.reset(); }
GeoProcessor gp = new GeoProcessor(); DeleteFeatures delete = new DeleteFeatures(); delete.setInFeatures(featLayer); gp.execute(delete, null);
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.