public abstract class IlvDBFeatureIterator extends IlvMapDelegateFeatureIterator implements IlvMapRegionOfInterestIterator, IlvPersistentObject
Constructor and Description |
---|
IlvDBFeatureIterator(IlvDBDataSource dataSource)
Creates a new
IlvDBFeatureIterator . |
IlvDBFeatureIterator(IlvInputStream stream)
Reads an iterator from an
IlvInputStream . |
Modifier and Type | Method and Description |
---|---|
void |
dispose()
Releases the resources allocated by the feature iterator
(files, connections, and so on).
|
protected abstract String |
getAsBinaryFunctionName()
Returns the name of the function that transforms a blob column into binary.
|
protected String |
getAttrColumnList()
Get a comma separated list of column names for the non-geometry attributes.
|
protected abstract String |
getBoundsQuery()
Returns the SELECT statement that returns the bounds of the geometric data contained in the table.
|
IlvCoordinateSystem |
getCoordinateSystem()
Returns the spatial reference system that describes the coordinate
system of geometric coordinates of the map features.
|
String |
getCoordinateSystemWKTDefinition()
Returns the WKT definition of the coordinate system.
|
String |
getGeometryColumnName()
Returns the name of the table column where geometry is defined.
|
Rectangle2D |
getLatLonBounds()
Returns the bounds of all objects returned by this feature iterator.
|
IlvThreadedActivityMonitor |
getMonitor()
Gets the activity monitor attached to the iterator.
|
IlvMapFeature |
getNextFeature()
Returns the next map feature of the iterator or
null if the iteration is finished. |
protected abstract String |
getRegionPredicate()
Returns the WHERE clause that limits the selection to within the region of interest.
|
protected Double |
getRegionXMax()
Returns one of the four projected coordinates which this iterator should take into account.
|
protected Double |
getRegionXMin()
Returns one of the four projected coordinates which this iterator should take into account.
|
protected Double |
getRegionYMax()
Returns one of the four projected coordinates which this iterator should take into account.
|
protected Double |
getRegionYMin()
Returns one of the four projected coordinates which this iterator should take into account.
|
String |
getSchemaTableName()
Returns the database table name to iterate through.
|
Integer |
getSrsId()
Returns the id of the coordinate system for the geometry.
|
boolean |
isGeoreferenced()
Returns
true if the map reader can provide the
source projection of its map features. |
void |
restart()
Rewinds the iterator for a new use.
|
void |
setMonitor(IlvThreadedActivityMonitor monitor)
Changes the activity monitor that displays progress for that iterator.
|
void |
setRegionOfInterest(double minX,
double minY,
double maxX,
double maxY)
Sets the region of interest to return features for.
|
void |
write(IlvOutputStream stream)
Writes the attributes of a persistent object.
|
getDefaultFeatureRenderer, getDelegate, getLowerRightCorner, getUpperLeftCorner, setDelegate
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getDefaultFeatureRenderer, getLowerRightCorner, getUpperLeftCorner
public IlvDBFeatureIterator(IlvInputStream stream) throws IlvReadFileException, SQLException, IOException
IlvInputStream
.stream
- The stream to read from.IlvReadFileException
- if there is a problem reading from
stream
.SQLException
IOException
public IlvDBFeatureIterator(IlvDBDataSource dataSource) throws IOException, SQLException
IlvDBFeatureIterator
.
We will always assume that a feature iterator has an open and valid database connection.dataSource
- the data source to iterate through.IOException
SQLException
public void write(IlvOutputStream stream) throws IOException
write
in interface IlvPersistentObject
stream
- the output streamIOException
- thrown when an exception occurs during
the write operation for this object.public IlvThreadedActivityMonitor getMonitor()
public void setMonitor(IlvThreadedActivityMonitor monitor)
monitor
- the activity monitorprotected Double getRegionXMax()
protected Double getRegionXMin()
protected Double getRegionYMax()
protected Double getRegionYMin()
public void dispose()
dispose
in interface IlvMapFeatureIterator
dispose
in class IlvMapDelegateFeatureIterator
IlvMapFeatureIterator.dispose()
protected String getAttrColumnList()
public IlvCoordinateSystem getCoordinateSystem()
getCoordinateSystem
in interface IlvMapFeatureIterator
getCoordinateSystem
in class IlvMapDelegateFeatureIterator
null
if the coordinate system is unknown.IlvMapFeatureIterator.getCoordinateSystem()
public Rectangle2D getLatLonBounds()
getLatLonBounds
in interface IlvMapRegionOfInterestIterator
public IlvMapFeature getNextFeature()
null
if the iteration is finished.
The returned map feature must be considered as volatile and
can be modified by the reader during the next call to its
getNextFeature
function.getNextFeature
in interface IlvMapFeatureIterator
getNextFeature
in class IlvMapDelegateFeatureIterator
IlvMapFeatureIterator.getNextFeature()
protected abstract String getBoundsQuery()
protected abstract String getRegionPredicate()
protected abstract String getAsBinaryFunctionName()
public boolean isGeoreferenced()
true
if the map reader can provide the
source projection of its map features.isGeoreferenced
in interface IlvMapFeatureIterator
isGeoreferenced
in class IlvMapDelegateFeatureIterator
IlvMapFeatureIterator.isGeoreferenced()
public void restart()
restart
in interface IlvMapReusableFeatureIterator
restart
in class IlvMapDelegateFeatureIterator
IlvMapReusableFeatureIterator.restart()
public void setRegionOfInterest(double minX, double minY, double maxX, double maxY)
IlvMapFeatureIterator.getNextFeature()
method should not return any feature which geometry is outside this area.setRegionOfInterest
in interface IlvMapRegionOfInterestIterator
minX
- longitude min in radians.minY
- latitude min in radians.maxX
- longitude max in radians.maxY
- latitude max in radians.public String getSchemaTableName()
public String getGeometryColumnName()
public Integer getSrsId()
public String getCoordinateSystemWKTDefinition()
© Copyright Rogue Wave Software, Inc. 1997, 2018. All Rights Reserved.