 Object

 CodeList<SequenceType>

 SequenceType

 All Implemented Interfaces:
Serializable
,Comparable<SequenceType>
,ControlledVocabulary
@UML(identifier="CV_SequenceType", specification=ISO_19123) public class SequenceType extends CodeList<SequenceType>
Specifies the order in which attribute value records are assigned to grid points. There are several sequencing rules based on incrementing  or decrementing  grid coordinate values in a simple fashion. More complex space filling curves can also be used. Space filling curves are generated by progressively subdividing a space in a regular way and connecting the elements resulting from each subdivision according to some rule. They can be used to generate a grid, but they can also be used to assign an ordering to the grid points or grid cells in a separately defined grid. They lend themselves more readily than simple incrementing methods to sequencing in grids that have irregular shapes or cells of variable size.In every case, ordering of the grid cells starts by incrementing coordinates along one grid axis. At some point in the process, it begins to increment coordinates along a second grid axis, then a third, and so on until it has progressed in the direction of each of the grid axes. The attribute scan direction provides a list of signed axis names that identifies the order in which scanning takes place. The list may include an additional element to support interleaving of feature attribute values.
Ordering is continuous if consecutive pairs of grid cells in the sequence are maximally connected. It is semicontinuous if consecutive pairs of grid cells are connected, but less than maximally connected, and discontinuous if consecutive pairs of cells are not connected.
Example: In the two dimensional case, a cell is connected to the 8 cells with which it shares at least one corner. It is maximally connected to the 4 cells with which it shares an edge and two corners. In the three dimensional case, a cell is maximally connected to those cells with which it shares a face.
 Since:
 GeoAPI 2.1
 See Also:
 Serialized Form


Nested Class Summary

Nested classes/interfaces inherited from class CodeList
CodeList.Filter


Field Summary
Fields Modifier and Type Field Description static SequenceType
BOUSTROPHEDONIC
A variant of linear scanning, in which the direction of the scan is reversed on alternate grid lines.static SequenceType
CANTOR_DIAGONAL
Cantordiagonal scanning, also called zigzag scanning, orders the grid points in alternating directions along parallel diagonals of the grid.static SequenceType
HILBERT
Ordering based on a spacefilling curve generated by progressively subdividing a space into quadrants.static SequenceType
LINEAR
Feature attribute value records are assigned to consecutive grid points along a single grid line parallel to the first grid axis listed in scan direction.static SequenceType
MORTON
Ordering based on a spacefilling curve generated by progressively subdividing a space into quadrants and ordering the quadrants in a Z pattern.static SequenceType
SPIRAL
Spiral scanning can begin either at the centre of the grid (outward spiral), or at a corner (inward spiral).

Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description SequenceType[]
family()
Returns the list of codes of the same kind than this code list element.static SequenceType
valueOf(String code)
Returns the sequence type that matches the given string, or returns a new one if none match it.static SequenceType[]
values()
Returns the list ofSequenceType
s.
Methods inherited from class CodeList
compareTo, identifier, name, names, ordinal, readResolve, toString, valueOf, valueOf




Field Detail

LINEAR
@UML(identifier="Linear scanning", obligation=CONDITIONAL, specification=ISO_19123) public static final SequenceType LINEAR
Feature attribute value records are assigned to consecutive grid points along a single grid line parallel to the first grid axis listed in scan direction. Once scanning of that row is complete, assignment of feature attribute value records steps to another grid line parallel to the first, and continues to step from grid line to grid line in a direction parallel to the second axis. If the grid is 3dimensional, the sequencing process completes the assignment of feature attribute value records to all grid points in one plane, then steps to another plane, then continues stepping from plane to plane in a direction parallel to the third axis of the grid. The process can be extended to any number of axes. Linear scanning is continuous only along a single grid line.

BOUSTROPHEDONIC
@UML(identifier="Boustrophedonic scanning", obligation=CONDITIONAL, specification=ISO_19123) public static final SequenceType BOUSTROPHEDONIC
A variant of linear scanning, in which the direction of the scan is reversed on alternate grid lines. In the case of a 3dimensional grid, it will also be reversed in alternate planes. Boustrophedonic scanning is continuous.Note: Boustrophedonic scanning is also known as byteoffset scanning.

CANTOR_DIAGONAL
@UML(identifier="Cantordiagonal scanning", obligation=CONDITIONAL, specification=ISO_19123) public static final SequenceType CANTOR_DIAGONAL
Cantordiagonal scanning, also called zigzag scanning, orders the grid points in alternating directions along parallel diagonals of the grid. The scan pattern is affected by the direction of first step. Like linear scanning, Cantordiagonal scanning can be extended to grids of three or more dimensions by repeating the scan pattern in consecutive planes. Cantordiagonal scanning is semicontinuous within a single plane.

SPIRAL
@UML(identifier="Spiral scanning", obligation=CONDITIONAL, specification=ISO_19123) public static final SequenceType SPIRAL
Spiral scanning can begin either at the centre of the grid (outward spiral), or at a corner (inward spiral). Like linear or Cantordiagonal scanning, spiral scanning can be extended to grids of three or more dimensions by repeating the scan pattern in consecutive planes. Spiral scanning is continuous in any one plane, but continuity in grids of more than two dimensions can only be maintained by reversing the inward/outward direction of the scan in alternate planes.

MORTON
@UML(identifier="Morton order", obligation=CONDITIONAL, specification=ISO_19123) public static final SequenceType MORTON
Ordering based on a spacefilling curve generated by progressively subdividing a space into quadrants and ordering the quadrants in a Z pattern. The ordering index for each grid point is computed by converting the grid coordinates to binary numbers and interleaving the bits of the resulting values. Given the list of the grid axes specified by scan direction, the bits of the coordinate corresponding to an axis are less significant than those of the coordinate corresponding to the next axis in the list. Morton ordering can be extended to any number of dimensions. Morton ordering is discontinuous.Note: Because of the shape of the curve formed by the initial ordering of quadrants, Morton ordering is also known as Z ordering.A grid generated with the Morton ordering technique will be square and its size in each direction will be a multiple of a power of 2. However, the bit interleaving technique for generating an index can be used to order the grid points in any grid, including grids that are irregular in shape or have grid cells of different sizes.

HILBERT
@UML(identifier="Hilbert order", obligation=CONDITIONAL, specification=ISO_19123) public static final SequenceType HILBERT
Ordering based on a spacefilling curve generated by progressively subdividing a space into quadrants. This is similar to Morton scanning, but the initial pattern of subdivision is different for Hilbert curves. Further subdivision involves replacement of parts of the curve by different patterns, unlike the simple replication of a single pattern as in Morton ordering. There are two sets of patterns. The lefthand column of the figure includes those for which the sense of the scan directions is the same  both are positive or both negative. The righthand column of the figure includes those for which the sense of the scan directions is opposite  one is positive and one is negative. A Hilbert curve can only be constructed with patterns from the same set; it uses all the patterns in that set.Note: Because of the shape of the curve formed by the initial ordering of quadrants, Hilbert ordering is also known as pi ordering.


Method Detail

values
public static SequenceType[] values()
Returns the list ofSequenceType
s. Returns:
 the list of codes declared in the current JVM.

family
public SequenceType[] family()
Returns the list of codes of the same kind than this code list element. Invoking this method is equivalent to invokingvalues()
, except that this method can be invoked on an instance of the parentCodeList
class. Specified by:
family
in interfaceControlledVocabulary
 Specified by:
family
in classCodeList<SequenceType>
 Returns:
 all code values for this code list.

valueOf
public static SequenceType valueOf(String code)
Returns the sequence type that matches the given string, or returns a new one if none match it. More specifically, this methods returns the first instance for whichname().equals(code)
returnstrue
. If no existing instance is found, then a new one is created for the given name. Parameters:
code
 the name of the code to fetch or to create. Returns:
 a code matching the given name.

