|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Geometry is an interface that represents an OGC-specified geometry. This interface is the root of the geometric interface hierarchy.
Interfaces in this hierarchy is a superset of OGC-specified hierarchy. It contains all OGC-specified geometric types (linear geometric types) on which one can build an OGC-compliant geometric class hierarchy, and additional geometric types (like curvestring, curvepolygon, etc.) that extend the OGC simple feature geometric object model.
Geo-relationship methods like 'relate()', 'overlaps()', etc., are defined in interface oracle.sdoapi.geosp.SpatialRelation, and geo-operations are defined in interface oracle.sdoapi.geosp.SpatialOperator. Users may extend these two interfaces to add more geoprocessing capability.
An additional set of convenient geometric data accessors is added to benefit simple visualizers. Once a client-side geometry object is formed (either by querying the database or by invoking the constructor), it should be ready for geoprocessing and visualization. While a set of geoprocessing accessors has been defined in OGC, there are no standard methods yet to conveniently visualize OGC-compliant geometry objects. For example, given an OGC geometry, users have to first determine if this geometry is a subtype of 'Curve' before invoking its 'getStartPoint()' method. For geoanalysis, this is probably fine, since advanced users could be very clear on what they are working on. On the other hand, simple visualizers just do not care that much. They might simply want a set of interfaces to draw a geometry object without knowing if this geometry is a point or a polygon.
Thus, in addition to OGC-specified data accessing methods, new methods like 'getIsolatedPoints()' and 'getAllSegments()' are provided to satisfy simple visualizers. A visulaizer can simply get all standalone points and all line segments in this geometry object and paint them, regardless of the geometry type. However, user-implemented geoprocessing functions should to use OGC standard data accessing methods, for compatibility reasons.
Method Summary | |
java.lang.Object |
clone()
Clones this geometry to generate another geometric object. |
java.util.Enumeration |
getAllIsolatedPoints()
Gets all isolated points in this geometry. |
java.util.Enumeration |
getAllSegments()
Gets all segments in this geometry. |
int |
getCoordinateDimension()
Gets the dimension of the coordinates that define this geometry, which must be the same as the coodinate dimension of the spatial reference system for this geometry. |
int |
getDimensionality()
Gets the dimensionality of this geometry, which might be different from the coodinate dimension of the spatial reference system for this geometry. |
Envelope |
getEnvelope()
Gets the envelope for this geometry. |
java.lang.Class |
getGeometryType()
Gets the geometry type as defined in this interface package. |
CoordPoint |
getLabelPoint()
Gets the label point for this geometry. |
void |
getLabelPoint(CoordPoint point)
Gets the label point for this geometry. |
SpatialReference |
getSpatialReference()
Gets the spatial reference system object. |
boolean |
isEmpty()
Determines if this geometric object is empty, that is, containing no coordinate points. |
boolean |
isSimple()
Determines if this geometric object is simple, that is, containing no anomalous points such as self insersection or self tangency. |
boolean |
isValid()
Determines if this geometric object is valid. |
Geometry |
linearize(double tolerance)
Linearizes this geometry into a linear OGC geometry. |
Method Detail |
public int getCoordinateDimension()
public int getDimensionality()
getCoordinateDimension()
public SpatialReference getSpatialReference()
public java.lang.Class getGeometryType()
public CoordPoint getLabelPoint()
public void getLabelPoint(CoordPoint point)
point
- a preallocated coordinate point that is to be filled with
the ordinates of the label point for this geometrypublic Envelope getEnvelope()
public boolean isEmpty()
true
if this geometric object is empty;
false
otherwisepublic boolean isSimple()
true
if this geometric object is simple;
false
otherwisepublic boolean isValid()
true
if this geometric object is valid;
false
otherwisepublic Geometry linearize(double tolerance) throws InvalidGeometryException
tolerance
- the maximum tolarable distance between the orginal
geometry and the result linear geometrypublic java.util.Enumeration getAllIsolatedPoints()
public java.util.Enumeration getAllSegments()
public java.lang.Object clone() throws java.lang.CloneNotSupportedException
clone
in class java.lang.Object
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |