geopackage-sdk/src/main/java/mil/nga/geopackage/db/FeatureIndexer.java
private int indexTable() {

        int count = 0;

        // Get or create the table metadata
        TableMetadataDataSource tableDs = new TableMetadataDataSource(db);
        TableMetadata metadata = tableDs.getOrCreate(featureDao.getDatabase(), featureDao.getTableName());

        // Delete existing index rows
        geometryMetadataDataSource.delete(featureDao.getDatabase(), featureDao.getTableName());

        long offset = 0;
        int chunkCount = 0;

        // Index all features
        while (chunkCount >= 0) {

            FeatureCursor cursor = featureDao.queryForChunk(chunkLimit, offset);
            chunkCount = indexRows(metadata.getGeoPackageId(), cursor);

            if (chunkCount > 0) {
                count += chunkCount;
            }

            offset += chunkLimit;
        }

        // Update the last indexed time
        if (progress == null || progress.isActive()) {
            updateLastIndexed(db, metadata.getGeoPackageId());
        }

        return count;
    }
private int indexTable() {

        int count = 0;

        // Get or create the table metadata
        TableMetadataDataSource tableDs = new TableMetadataDataSource(db);
        TableMetadata metadata = tableDs.getOrCreate(featureDao.getDatabase(), featureDao.getTableName());

        // Delete existing index rows
        geometryMetadataDataSource.delete(featureDao.getDatabase(), featureDao.getTableName());

        long offset = 0;
        int chunkCount = 0;

        // Index all features
        while (chunkCount >= 0) {

            FeatureCursor cursor = featureDao.queryForChunk(chunkLimit, offset);
            chunkCount = indexRows(metadata.getGeoPackageId(), cursor);

            if (chunkCount > 0) {
                count += chunkCount;
            }

            offset += chunkLimit;
        }

        // Update the last indexed time
        if (progress == null || progress.isActive()) {
            updateLastIndexed(db, metadata.getGeoPackageId());
        }

        return count;
    }
private int indexTable ( ) { int count = 0 ; // Get or create the table metadata TableMetadataDataSource tableDs = new TableMetadataDataSource ( db ) ; TableMetadata metadata = tableDs . getOrCreate ( featureDao . getDatabase ( ) , featureDao . getTableName ( ) ) ; // Delete existing index rows geometryMetadataDataSource . delete ( featureDao . getDatabase ( ) , featureDao . getTableName ( ) ) ; long offset = 0 ; int chunkCount = 0 ; // Index all features while ( chunkCount >= 0 ) { FeatureCursor cursor = featureDao . queryForChunk ( chunkLimit , offset ) ; chunkCount = indexRows ( metadata . getGeoPackageId ( ) , cursor ) ; if ( chunkCount > 0 ) { count += chunkCount ; } offset += chunkLimit ; } // Update the last indexed time if ( progress == null || progress . isActive ( ) ) { updateLastIndexed ( db , metadata . getGeoPackageId ( ) ) ; } return count ; }
Index the feature table

@return count
Index the feature table