## org.opengis.geometry.primitive
Interface Point

All Superinterfaces:
  Geometry, Position, Primitive, TransfiniteSet

    @UML(identifier="GM_Point",
         specification=ISO_19107)
    public interface Point

extends Primitive, Position

Basic data type for a geometric object consisting of one and only one point. In most cases, the state of a `Point` is fully determined by its position attribute. The only exception to this is if the `Point` has been subclassed to provide additional non-geometric information such as symbology.

Since:
  GeoAPI 1.0
Version:
  ISO 19107
See Also:
  `PrimitiveFactory.createPoint(double[])`
TODO:
  Some associations are commented out for now.

Method Summary
`Bearing` `getBearing(Position toPoint)` Returns the bearing, as a unit vector, of the tangent (at this `Point`) to the curve between this `Point` and a passed position.
`DirectPosition` `getPosition()` Returns the direct position of this point.
`OrientablePrimitive[]` `getProxy()` Returns always `null`, since points have no proxy.
`void` `setPosition(DirectPosition position)` Sets the direct position of this point.

Methods inherited from interface Primitive
`getComplexes, getComposite, getContainedPrimitives, getContainingPrimitives`

Methods inherited from interface Geometry
`clone, distance, getBoundary, getBuffer, getCentroid, getClosure, getConvexHull, getCoordinateDimension, getCoordinateReferenceSystem, getDimension, getDistance, getEnvelope, getMaximalComplex, getMbRegion, getPrecision, getRepresentativePoint, isCycle, isMutable, isSimple, toImmutable, transform, transform`

Methods inherited from interface TransfiniteSet
`contains, contains, difference, equals, intersection, intersects, symmetricDifference, union`

Method Detail

### getPosition

    @UML(identifier="position",
         obligation=MANDATORY,
         specification=ISO_19107)
    DirectPosition getPosition()

  Returns the direct position of this point. `Point` is the only subclass of primitive that cannot use positions to represent its defining geometry. A position is either a direct position or a reference to a `Point` (from which a direct position may be obtained). By not allowing `Point` to use this technique, infinitely recursive references are prevented.

  Specified by:
    `getPosition` in interface `Position`
  Returns:
    The direct position.

### setPosition

    @UML(identifier="position",
         obligation=MANDATORY,
         specification=ISO_19107)
    void setPosition(DirectPosition position)
                     throws UnmodifiableGeometryException

  Sets the direct position of this point. `Point` is the only subclass of primitive that cannot use positions to represent its defining geometry. A position is either a direct position or a reference to a `Point` (from which a direct position may be obtained). By not allowing `Point` to use this technique, infinitely recursive references are prevented.

  Parameters:
    `position` - The direct position.
  Throws:
    `UnmodifiableGeometryException` - if this geometry is not modifiable.

### getBearing

    @UML(identifier="bearing",
         obligation=MANDATORY,
         specification=ISO_19107)
    Bearing getBearing(Position toPoint)

  Returns the bearing, as a unit vector, of the tangent (at this `Point`) to the curve between this `Point` and a passed position. The choice of the curve type for defining the bearing is dependent on the coordinate reference system in which this `Point` is defined. For example, in the Mercator projection, the curve is the rhumb line. In 3D, geocentric coordinate system, the curve may be the geodesic joining the two points along the surface of the geoid or ellipsoid in use. Implementations that support this function shall specify the nature of the curve to be used.

  Parameters:
    `toPoint` - the destination point.
  Returns:
    The tangent to the curve between this point and the passed position.

### getProxy

    @Association(value="Oriented")
    @UML(identifier="proxy",
         obligation=FORBIDDEN,
         specification=ISO_19107)
    OrientablePrimitive[] getProxy()

  Returns always `null`, since points have no proxy.

  Specified by:
    `getProxy` in interface `Primitive`
  Returns:
    The orientable primitives as an array of length 2, or `null` if none.
  See Also:
    `OrientablePrimitive.getPrimitive()`

Copyright © 1994-2008 Open Geospatial Consortium. All Rights Reserved.