ArcGIS Server - ArcObjects Java 9.3.1 I want to get the number of rows in the IFeatureCursor, after appying a ISpatialFilter to a IFeatureClass Can I get the row count without the need for rowcountFeatureLayer, then assigning it the ifeatLayer? I feel like this is an uneeded step, but I can't seem to figure out an easier way.
private FeatureLayer rowcountFeatureLayer;
private MapServer ms;
... a bunch of other stuff...
public void checkLayer(IFeature ifeat, IFeatureLayer ifeatLayer, IFeatureClass ifeatClass, IFeatureCursor ifeatCursor, ISpatialFilter ispatFilter, String mapName, int layerID) {
try{
ifeatLayer = (IFeatureLayer) ms.getLayer(mapName, layerID);
ifeatClass = ifeatLayer.getFeatureClass();
// Create a SpatialFilter from the server context, and set its geometry and spatial relation.
ispatFilter = (SpatialFilter) context.createObject(SpatialFilter.getClsid());
ispatFilter.setGeometryByRef(parcelPolygon);
ispatFilter.setGeometryField(ifeatClass.getShapeFieldName());
ispatFilter.setSpatialRel(spatialRelation);
// Apply the spatial filter to the FeatureClass and assign that to a FeatureCursor object
ifeatCursor = ifeatClass.search(ispatFilter, true);
int fieldCount = ifeatCursor.getFields().getFieldCount();
// Create a Feature from the server context
ifeat = (Feature) context.createObject(Feature.getClsid());
// Determine how many rows in this FeatureLayer were returned by the spatial filter.
rowcountFeatureLayer = (FeatureLayer)ifeatLayer;
int rowcount = rowcountFeatureLayer.rowCount(ispatFilter);
System.out.println("Row Count: " + rowcount);
ifeat = ifeatCursor.nextFeature();
... other stuff