public enum SpatialQueryMode extends java.lang.Enum<SpatialQueryMode>
Spatial query mode enumerations, define spatial query operation mode constants.
Spatial query is a kind of query method to construct the filter condition through spatial position relation between geometric objects. For example, spatial query can be used to find space objects that are contained in the surface, separate or adjacent spatial objects and so on.
Note: the current version supports spatial query for point, line, surface, network and text types of data, of which text type only supports Intersects and Contain two kinds of spatial query mode, and is only as a searched object not a search object.
Enum Constant and Description |
---|
CONTAIN
Contain spatial query mode.
|
CROSS
Cross spatial query mode.
|
DISJOINT
Separate spatial query mode
|
IDENTITY
Overlapping spatial query mode.
|
INTERSECT
Intersection spatial query mode.
|
NONE
No spatial query.
|
OVERLAP
Overlay spatial query mode.
|
TOUCH
Adjacent spatial query mode.
|
WITHIN
Contained spatial query mode.
|
Modifier and Type | Method and Description |
---|---|
static SpatialQueryMode |
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.
|
static SpatialQueryMode[] |
values()
Returns an array containing the constants of this enum type, in the order they are declared.
|
public static final SpatialQueryMode NONE
No spatial query.
public static final SpatialQueryMode IDENTITY
Overlapping spatial query mode.
Returns an object that completely overlaps with the search object in the searched layer. Includes object types and coordinates.
Note: the search object must be the same type as the searched object; The intersection of two objects is not empty, the intersection of the boundary and internal of the search object and the external of the searched object is empty.
This relationship is suitable for object types: point, line, surface; The searched objects: point, line, surface.
An example of overlapping query is shown in the figure below:
The search object is in green, and the object on the searched layer is represented in black, and the result recordset geometry object is represented in red.
Note:
public static final SpatialQueryMode DISJOINT
Separate spatial query mode
This relationship is suitable for object types: point, line, surface; The searched objects: point, line, surface.
As shown in the figure, example of separate spatial query:
The search object is in green, and the object on the searched layer is represented in black, and the result recordset geometry object is represented in red.
public static final SpatialQueryMode INTERSECT
Intersection spatial query mode.
Returns all objects that intersect with the search object.
Note: if the search object is a surface, returns all or part of the object contained by the search object and all or part of the object containing the search object; If the search object is not a surface, returns all or part of the object containing the search object.
This relationship is suitable for object types: point, line, surface; The searched objects: point, line, surface.
As shown in the figure, example of intersection spatial query:
The search object is in green, and the object on the searched layer is represented in black, and the result recordset geometry object is represented in red.
public static final SpatialQueryMode TOUCH
Adjacent spatial query mode.
Returns the object whose boundary is touched by the boundary of the search object in the searched layer.
Note: the inside intersection of the search object and the searched object is empty.
The object type that the relationship is not suitable for is: the spatial relationship of point query point.
As shown in the figure, example of adjacent spatial query:
The search object is in green, and the object on the searched layer is represented in black, and the result recordset geometry object is represented in red.
public static final SpatialQueryMode OVERLAP
Overlay spatial query mode.
Returns an object that partly overlays with the search object in the searched layer.
This relationship is suitable for object types: line/line, surface/surface. In which, the dimensions of the two geometric objects must be consistent, and the dimension of their intersection should be the same as the dimension of the geometric object.
Note: there is no overlay between the points and any kind of the geometry objects.
Graphical representation of the overlay query is shown below:
The search object is in green, and the object on the searched layer is represented in black, and the result recordset geometry object is represented in red.
public static final SpatialQueryMode CROSS
Cross spatial query mode.
Returns all objects (lines or surfaces) that intersect with the search object (line) in the searched layer.
Note: the intersection of the search object and the internal of the searched object cannot be empty; Two objects involved in Cross - relationship operations must have a line object.
This relationship is suitable for object types: point, line, surface; The searched objects: point, line, surface.
The example shown in the figure is the cross-query example.
The search object is in green, and the object on the searched layer is represented in black, and the result recordset geometry object is represented in red.
public static final SpatialQueryMode WITHIN
Contained spatial query mode.
Returns an object that completely contains the search object in the searched layer. If the returned object is a surface, it must entirely contain (including the edge contact) search objects; If the returned object is a line, it must entirely contain the search object; If the returned object is a point, it must overlap with the search object. This type is opposite to the Contain query mode.
This relationship is suitable for object types: point, line, surface; The searched objects: point, line, surface.
Note: the line query point, the surface query line or the surface query point do not exist contained condition.
The example shown in the figure below is the point query surface:
The search object is in green, and the object on the searched layer is represented in black, and the result recordset geometry object is represented in red.
public static final SpatialQueryMode CONTAIN
Contain spatial query mode.
Returns an object that completely contained by the search object in the searched layer.
Note: the edge intersection of the search object and the searched object can be not empty; Point check line/point check surface/line check surface, there is no inclusion situation.
This relationship is suitable for object types: point, line, surface; The searched objects: point, line, surface.
As shown in the figure, includes the graphical representation of the spatial query:
The search object is in green, and the object on the searched layer is represented in black, and the result recordset geometry object is represented in red.
public static SpatialQueryMode[] values()
for (SpatialQueryMode c : SpatialQueryMode.values()) System.out.println(c);
public static SpatialQueryMode valueOf(java.lang.String name)
name
- the name of the enum constant to be returned.java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is null