org.geotools.geometry.jts.coordinatesequence
Class CoordinateSequences

Object
  extended by CoordinateSequences
      extended by CoordinateSequences

public class CoordinateSequences
extends CoordinateSequences

Utility functions for coordinate sequences (extends the same named JTS class)

Author:
Andrea Aime - OpenGeo, Martin Davis - OpenGeo

Constructor Summary
CoordinateSequences()
           
 
Method Summary
static int computeOrientation(CoordinateSequence cs, int p1, int p2, int q)
           
static int coordinateDimension(CoordinateSequence seq)
          Gets the effective dimension of a CoordinateSequence.
static int coordinateDimension(Geometry g)
          Gets the dimension of the coordinates in a Geometry, by reading it from a component CoordinateSequence.
static boolean isCCW(CoordinateSequence ring)
          Computes whether a ring defined by an array of Coordinates is oriented counter-clockwise.
 
Methods inherited from class CoordinateSequences
copy, copyCoord, ensureValidRing, extend, isRing, reverse, swap
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CoordinateSequences

public CoordinateSequences()
Method Detail

isCCW

public static boolean isCCW(CoordinateSequence ring)
Computes whether a ring defined by an array of Coordinates is oriented counter-clockwise. This algorithm is only guaranteed to work with valid rings. If the ring is invalid (e.g. self-crosses or touches), the computed result may not be correct.

Parameters:
ring - an array of Coordinates forming a ring
Returns:
true if the ring is oriented counter-clockwise.

computeOrientation

public static int computeOrientation(CoordinateSequence cs,
                                     int p1,
                                     int p2,
                                     int q)

coordinateDimension

public static int coordinateDimension(Geometry g)
Gets the dimension of the coordinates in a Geometry, by reading it from a component CoordinateSequence. This will be usually either 2 or 3.

Parameters:
g - a Geometry
Returns:
the dimension of the coordinates in the Geometry

coordinateDimension

public static int coordinateDimension(CoordinateSequence seq)
Gets the effective dimension of a CoordinateSequence. This is a workaround for the issue that CoordinateArraySequence does not keep an accurate dimension - it always reports dim=3, even if there is no Z ordinate (ie they are NaN). This method checks for that case and reports dim=2. Only the first coordinate is checked.

There is one small hole: if a CoordinateArraySequence is empty, the dimension will be reported as 3.

Parameters:
seq - a CoordinateSequence
Returns:
the effective dimension of the coordinate sequence


Copyright © 1996-2014 Geotools. All Rights Reserved.