|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.vividsolutions.jts.geom.IntersectionMatrix
A Dimensionally Extended Nine-Intersection Model (DE-9IM) matrix. This class can used to represent both computed DE-9IM's (like 212FF1FF2) as well as patterns for matching them (like T*T******).
Methods are provided to:
For a description of the DE-9IM, see the OpenGIS Simple Features Specification for SQL .
| Constructor Summary | |
IntersectionMatrix()
Creates an IntersectionMatrix with FALSE
dimension values. |
|
IntersectionMatrix(IntersectionMatrix other)
Creates an IntersectionMatrix with the same elements as
other. |
|
IntersectionMatrix(java.lang.String elements)
Creates an IntersectionMatrix with the given dimension
symbols. |
|
| Method Summary | |
void |
add(IntersectionMatrix im)
Adds one matrix to another. |
int |
get(int row,
int column)
Returns the value of one of this IntersectionMatrixs
elements. |
boolean |
isContains()
Returns true if this IntersectionMatrix is
T*****FF*. |
boolean |
isCoveredBy()
Returns true if this IntersectionMatrix is
T*F**F***
or *TF**F***
or **FT*F***
or **F*TF*** |
boolean |
isCovers()
Returns true if this IntersectionMatrix is
T*****FF*
or *T****FF*
or ***T**FF*
or ****T*FF* |
boolean |
isCrosses(int dimensionOfGeometryA,
int dimensionOfGeometryB)
Returns true if this geometry crosses the
specified geometry. |
boolean |
isDisjoint()
Returns true if this IntersectionMatrix is
FF*FF****. |
boolean |
isEquals(int dimensionOfGeometryA,
int dimensionOfGeometryB)
Returns true if this IntersectionMatrix is
T*F**FFF*. |
boolean |
isIntersects()
Returns true if isDisjoint returns false. |
boolean |
isOverlaps(int dimensionOfGeometryA,
int dimensionOfGeometryB)
Returns true if this IntersectionMatrix is
T*T***T** (for two points or two surfaces)
1*T***T** (for two curves)
. |
boolean |
isTouches(int dimensionOfGeometryA,
int dimensionOfGeometryB)
Returns true if this IntersectionMatrix is
FT*******, F**T***** or F***T****. |
boolean |
isWithin()
Returns true if this IntersectionMatrix is
T*F**F***. |
static boolean |
matches(int actualDimensionValue,
char requiredDimensionSymbol)
Returns true if the dimension value satisfies the dimension symbol. |
boolean |
matches(java.lang.String requiredDimensionSymbols)
Returns whether the elements of this IntersectionMatrix
satisfies the required dimension symbols. |
static boolean |
matches(java.lang.String actualDimensionSymbols,
java.lang.String requiredDimensionSymbols)
Returns true if each of the actual dimension symbols satisfies the corresponding required dimension symbol. |
void |
set(int row,
int column,
int dimensionValue)
Changes the value of one of this IntersectionMatrixs
elements. |
void |
set(java.lang.String dimensionSymbols)
Changes the elements of this IntersectionMatrix to the
dimension symbols in dimensionSymbols. |
void |
setAll(int dimensionValue)
Changes the elements of this IntersectionMatrix to dimensionValue
. |
void |
setAtLeast(int row,
int column,
int minimumDimensionValue)
Changes the specified element to minimumDimensionValue if the
element is less. |
void |
setAtLeast(java.lang.String minimumDimensionSymbols)
For each element in this IntersectionMatrix, changes the
element to the corresponding minimum dimension symbol if the element is
less. |
void |
setAtLeastIfValid(int row,
int column,
int minimumDimensionValue)
If row >= 0 and column >= 0, changes the specified element to minimumDimensionValue
if the element is less. |
java.lang.String |
toString()
Returns a nine-character String representation of this IntersectionMatrix
. |
IntersectionMatrix |
transpose()
Transposes this IntersectionMatrix. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
public IntersectionMatrix()
IntersectionMatrix with FALSE
dimension values.
public IntersectionMatrix(java.lang.String elements)
IntersectionMatrix with the given dimension
symbols.
elements - a String of nine dimension symbols in row major orderpublic IntersectionMatrix(IntersectionMatrix other)
IntersectionMatrix with the same elements as
other.
other - an IntersectionMatrix to copy| Method Detail |
public void add(IntersectionMatrix im)
im - the matrix to add
public static boolean matches(int actualDimensionValue,
char requiredDimensionSymbol)
actualDimensionValue - a number that can be stored in the IntersectionMatrix
. Possible values are {TRUE, FALSE, DONTCARE, 0, 1, 2}.requiredDimensionSymbol - a character used in the string
representation of an IntersectionMatrix. Possible values
are {T, F, * , 0, 1, 2}.
public static boolean matches(java.lang.String actualDimensionSymbols,
java.lang.String requiredDimensionSymbols)
actualDimensionSymbols - nine dimension symbols to validate.
Possible values are {T, F, * , 0, 1, 2}.requiredDimensionSymbols - nine dimension symbols to validate
against. Possible values are {T, F, * , 0, 1, 2}.
public void set(int row,
int column,
int dimensionValue)
IntersectionMatrixs
elements.
row - the row of this IntersectionMatrix,
indicating the interior, boundary or exterior of the first Geometrycolumn - the column of this IntersectionMatrix,
indicating the interior, boundary or exterior of the second GeometrydimensionValue - the new value of the elementpublic void set(java.lang.String dimensionSymbols)
IntersectionMatrix to the
dimension symbols in dimensionSymbols.
dimensionSymbols - nine dimension symbols to which to set this IntersectionMatrix
s elements. Possible values are {T, F, * , 0, 1, 2}
public void setAtLeast(int row,
int column,
int minimumDimensionValue)
minimumDimensionValue if the
element is less.
row - the row of this IntersectionMatrix
, indicating the interior, boundary or exterior of the first Geometrycolumn - the column of this IntersectionMatrix
, indicating the interior, boundary or exterior of the second GeometryminimumDimensionValue - the dimension value with which to compare the
element. The order of dimension values from least to greatest is
{DONTCARE, TRUE, FALSE, 0, 1, 2}.
public void setAtLeastIfValid(int row,
int column,
int minimumDimensionValue)
minimumDimensionValue
if the element is less. Does nothing if row <0 or column < 0.
row - the row of this IntersectionMatrix
, indicating the interior, boundary or exterior of the first Geometrycolumn - the column of this IntersectionMatrix
, indicating the interior, boundary or exterior of the second GeometryminimumDimensionValue - the dimension value with which to compare the
element. The order of dimension values from least to greatest is
{DONTCARE, TRUE, FALSE, 0, 1, 2}.public void setAtLeast(java.lang.String minimumDimensionSymbols)
IntersectionMatrix, changes the
element to the corresponding minimum dimension symbol if the element is
less.
minimumDimensionSymbols - nine dimension symbols with which to
compare the elements of this IntersectionMatrix. The
order of dimension values from least to greatest is {DONTCARE, TRUE, FALSE, 0, 1, 2}
.public void setAll(int dimensionValue)
IntersectionMatrix to dimensionValue
.
dimensionValue - the dimension value to which to set this IntersectionMatrix
s elements. Possible values {TRUE, FALSE, DONTCARE, 0, 1, 2}
.
public int get(int row,
int column)
IntersectionMatrixs
elements.
row - the row of this IntersectionMatrix, indicating
the interior, boundary or exterior of the first Geometrycolumn - the column of this IntersectionMatrix,
indicating the interior, boundary or exterior of the second Geometry
public boolean isDisjoint()
true if this IntersectionMatrix is
FF*FF****.
true if the two Geometrys related by
this IntersectionMatrix are disjointpublic boolean isIntersects()
true if isDisjoint returns false.
true if the two Geometrys related by
this IntersectionMatrix intersect
public boolean isTouches(int dimensionOfGeometryA,
int dimensionOfGeometryB)
true if this IntersectionMatrix is
FT*******, F**T***** or F***T****.
dimensionOfGeometryA - the dimension of the first GeometrydimensionOfGeometryB - the dimension of the second Geometry
true if the two Geometry
s related by this IntersectionMatrix touch; Returns false
if both Geometrys are points.
public boolean isCrosses(int dimensionOfGeometryA,
int dimensionOfGeometryB)
true if this geometry crosses the
specified geometry.
The crosses predicate has the following equivalent definitions:
false.
The SFS defined this predicate only for P/L, P/A, L/L, and L/A situations. JTS extends the definition to apply to L/P, A/P and A/L situations as well. This makes the relation symmetric.
dimensionOfGeometryA - the dimension of the first GeometrydimensionOfGeometryB - the dimension of the second Geometry
true if the two Geometrys
related by this IntersectionMatrix cross.public boolean isWithin()
true if this IntersectionMatrix is
T*F**F***.
true if the first Geometry is within
the secondpublic boolean isContains()
true if this IntersectionMatrix is
T*****FF*.
true if the first Geometry contains the
secondpublic boolean isCovers()
true if this IntersectionMatrix is
T*****FF*
or *T****FF*
or ***T**FF*
or ****T*FF*
true if the first Geometry covers the
secondpublic boolean isCoveredBy()
true if this IntersectionMatrix is
T*F**F***
or *TF**F***
or **FT*F***
or **F*TF***
true if the first Geometry
is covered by the second
public boolean isEquals(int dimensionOfGeometryA,
int dimensionOfGeometryB)
true if this IntersectionMatrix is
T*F**FFF*.
dimensionOfGeometryA - the dimension of the first GeometrydimensionOfGeometryB - the dimension of the second Geometry
true if the two Geometry
s related by this IntersectionMatrix are equal; the
Geometrys must have the same dimension for this function
to return true
public boolean isOverlaps(int dimensionOfGeometryA,
int dimensionOfGeometryB)
true if this IntersectionMatrix is
dimensionOfGeometryA - the dimension of the first GeometrydimensionOfGeometryB - the dimension of the second Geometry
true if the two Geometry
s related by this IntersectionMatrix overlap. For this
function to return true, the Geometrys must
be two points, two curves or two surfaces.public boolean matches(java.lang.String requiredDimensionSymbols)
IntersectionMatrix
satisfies the required dimension symbols.
requiredDimensionSymbols - nine dimension symbols with which to
compare the elements of this IntersectionMatrix. Possible
values are {T, F, * , 0, 1, 2}.
true if this IntersectionMatrix
matches the required dimension symbolspublic IntersectionMatrix transpose()
IntersectionMatrix as a conveniencepublic java.lang.String toString()
String representation of this IntersectionMatrix
.
IntersectionMatrix
in row-major order.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||