public abstract class FeatureTableCoreIndex extends BaseExtension
| Modifier and Type | Field and Description |
|---|---|
protected int |
chunkLimit
Query single chunk limit
|
static String |
EXTENSION_AUTHOR
Extension author
|
static String |
EXTENSION_DEFINITION
Extension definition URL
|
static String |
EXTENSION_NAME
Extension, with author and name
|
static String |
EXTENSION_NAME_NO_AUTHOR
Extension name without the author
|
protected GeoPackageProgress |
progress
Progress
|
protected double |
tolerance
Query range tolerance
|
extensionsDao, geoPackage| Modifier | Constructor and Description |
|---|---|
protected |
FeatureTableCoreIndex(GeoPackageCore geoPackage,
String tableName,
String columnName)
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
long |
count()
Query for all Geometry Index count
|
long |
count(BoundingBox boundingBox)
Query for Geometry Index count within the bounding box, projected
correctly
|
long |
count(BoundingBox boundingBox,
Projection projection)
Query for Geometry Index count within the bounding box, projected
correctly
|
long |
count(GeometryEnvelope envelope)
Query for Geometry Index count within the Geometry Envelope
|
boolean |
deleteIndex()
Delete the feature table index
|
int |
deleteIndex(long geomId)
Delete the index for the geometry id
|
BoundingBox |
getBoundingBox()
Query for the bounds of the feature table index
|
BoundingBox |
getBoundingBox(Projection projection)
Query for the feature index bounds and return in the provided projection
|
int |
getChunkLimit()
Get the SQL query chunk limit
|
String |
getColumnName()
Get the column name
|
Extensions |
getExtension()
Get the extension
|
protected BoundingBox |
getFeatureBoundingBox(BoundingBox boundingBox,
Projection projection)
Get the bounding box in the feature projection from the bounding box in
the provided projection
|
GeoPackageCore |
getGeoPackage()
Get the GeoPackage
|
Date |
getLastIndexed()
Get the date last indexed
|
abstract Projection |
getProjection()
Get the feature projection
|
TableIndex |
getTableIndex()
Get the table index
|
String |
getTableName()
Get the table name
|
double |
getTolerance()
Get the query range tolerance
|
int |
index()
Index the feature table if needed
|
int |
index(boolean force)
Index the feature table
|
protected boolean |
index(TableIndex tableIndex,
long geomId,
GeoPackageGeometryData geomData)
Index the geometry id and geometry data
|
protected abstract int |
indexTable(TableIndex tableIndex)
Index the feature table
|
boolean |
isIndexed()
Determine if the feature table is indexed
|
CloseableIterator<GeometryIndex> |
query()
Query for all Geometry Index objects
|
CloseableIterator<GeometryIndex> |
query(BoundingBox boundingBox)
Query for Geometry Index objects within the bounding box, projected
correctly
|
CloseableIterator<GeometryIndex> |
query(BoundingBox boundingBox,
Projection projection)
Query for Geometry Index objects within the bounding box, projected
correctly
|
CloseableIterator<GeometryIndex> |
query(GeometryEnvelope envelope)
Query for Geometry Index objects within the Geometry Envelope
|
QueryBuilder<GeometryIndex,GeometryIndexKey> |
queryBuilder()
Build a query builder to query for all Geometry Index objects
|
QueryBuilder<GeometryIndex,GeometryIndexKey> |
queryBuilder(GeometryEnvelope envelope)
Build a query builder to query for Geometry Index objects within the
Geometry Envelope
|
String |
queryIdsSQL()
Query SQL for all row ids
|
String |
queryIdsSQL(GeometryEnvelope envelope)
Query SQL for all row ids
|
void |
setChunkLimit(int chunkLimit)
Set the SQL query chunk limit
|
void |
setProgress(GeoPackageProgress progress)
Set the progress tracker
|
void |
setTolerance(double tolerance)
Set the query range tolerance
|
protected void |
updateLastIndexed()
Update the last indexed time
|
get, getExtensions, getExtensions, getExtensionsDao, getOrCreate, has, has, haspublic static final String EXTENSION_AUTHOR
public static final String EXTENSION_NAME_NO_AUTHOR
public static final String EXTENSION_NAME
public static final String EXTENSION_DEFINITION
protected GeoPackageProgress progress
protected int chunkLimit
protected double tolerance
protected FeatureTableCoreIndex(GeoPackageCore geoPackage, String tableName, String columnName)
geoPackage - GeoPackagetableName - table namecolumnName - column namepublic abstract Projection getProjection()
public GeoPackageCore getGeoPackage()
getGeoPackage in class BaseExtensionpublic String getTableName()
public String getColumnName()
public void setProgress(GeoPackageProgress progress)
progress - progress trackerpublic int getChunkLimit()
public void setChunkLimit(int chunkLimit)
chunkLimit - chunk limitpublic double getTolerance()
public void setTolerance(double tolerance)
tolerance - query range tolerancepublic int index()
public int index(boolean force)
force - true to force re-indexingprotected abstract int indexTable(TableIndex tableIndex)
tableIndex - table indexprotected boolean index(TableIndex tableIndex, long geomId, GeoPackageGeometryData geomData)
tableIndex - table indexgeomId - geometry idgeomData - geometry dataprotected void updateLastIndexed()
public boolean deleteIndex()
public int deleteIndex(long geomId)
geomId - geometry idpublic boolean isIndexed()
public TableIndex getTableIndex()
public Date getLastIndexed()
public Extensions getExtension()
public CloseableIterator<GeometryIndex> query()
public String queryIdsSQL()
public long count()
public BoundingBox getBoundingBox()
public BoundingBox getBoundingBox(Projection projection)
projection - desired projectionpublic QueryBuilder<GeometryIndex,GeometryIndexKey> queryBuilder()
public CloseableIterator<GeometryIndex> query(BoundingBox boundingBox)
boundingBox - bounding boxpublic CloseableIterator<GeometryIndex> query(BoundingBox boundingBox, Projection projection)
boundingBox - bounding boxprojection - projection of the provided bounding boxpublic long count(BoundingBox boundingBox)
boundingBox - bounding boxpublic long count(BoundingBox boundingBox, Projection projection)
boundingBox - bounding boxprojection - projection of the provided bounding boxpublic CloseableIterator<GeometryIndex> query(GeometryEnvelope envelope)
envelope - geometry envelopepublic String queryIdsSQL(GeometryEnvelope envelope)
envelope - geometry envelopepublic long count(GeometryEnvelope envelope)
envelope - geometry envelopepublic QueryBuilder<GeometryIndex,GeometryIndexKey> queryBuilder(GeometryEnvelope envelope)
envelope - geometry envelopeprotected BoundingBox getFeatureBoundingBox(BoundingBox boundingBox, Projection projection)
boundingBox - bounding boxprojection - projectionCopyright © 2020 National Geospatial-Intelligence Agency. All rights reserved.