Interface GlobeCoordinatesValue

All Superinterfaces:
Value
All Known Implementing Classes:
GlobeCoordinatesValueImpl

public interface GlobeCoordinatesValue extends Value
Globe coordinates specify a position on some globe (usually Earth, but possibly also another celestial body, such as Mars).

Altitude is not supported in this value.

All numeric data in coordinates is represented by floating point numbers. The one general problem with any underlying number format is the conversion between degrees (with fraction) and a degrees-minute-second view, which will always lead to a loss in arithmetic precision that one has to live with.

Precision is measured in degrees, but must be a positive (non-zero) number.

Author:
Markus Kroetzsch
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    IRI of the Earth.
    static final String
    IRI of the the Earth's Moon.
    static final double
    Precision constant for globe coordinates that are precise to the arcminute.
    static final double
    Precision constant for globe coordinates that are precise to the arcsecond.
    static final double
    Precision constant for globe coordinates that are precise to the hundredth of an arcsecond.
    static final double
    Precision constant for globe coordinates that are precise to the hundredth of a degree.
    static final double
    Precision constant for globe coordinates that are precise to the tenth of an arcsecond.
    static final double
    Precision constant for globe coordinates that are precise to the tenth of a degree.
    static final double
    Precision constant for globe coordinates that are precise to the degree.
    static final double
    Precision constant for globe coordinates that are precise to the ten-thousandth of a degree.
    static final double
    Precision constant for globe coordinates that are precise to the millionth of a degree.
    static final double
    Precision constant for globe coordinates that are precise to the thousandth of an arcsecond.
    static final double
    Precision constant for globe coordinates that are precise to the thousandth of a degree.
    static final double
    Precision constant for globe coordinates that are precise to ten degrees.
    static final double
    Precision constant for globe coordinates that are precise to the hundred-thousandth of a degree.
  • Method Summary

    Modifier and Type
    Method
    Description
    Get the IRI of the globe that these coordinates refer to.
    Get the ItemIdValue of the globe that these coordinates refer to.
    double
    Get the latitude of this value in degrees.
    double
    Get the longitude of this value in degrees.
    double
    Get the precision of the value in degrees.

    Methods inherited from interface org.wikidata.wdtk.datamodel.interfaces.Value

    accept
  • Field Details

    • PREC_TEN_DEGREE

      static final double PREC_TEN_DEGREE
      Precision constant for globe coordinates that are precise to ten degrees.
      See Also:
    • PREC_DEGREE

      static final double PREC_DEGREE
      Precision constant for globe coordinates that are precise to the degree.
      See Also:
    • PREC_DECI_DEGREE

      static final double PREC_DECI_DEGREE
      Precision constant for globe coordinates that are precise to the tenth of a degree.
      See Also:
    • PREC_ARCMINUTE

      static final double PREC_ARCMINUTE
      Precision constant for globe coordinates that are precise to the arcminute.
      See Also:
    • PREC_CENTI_DEGREE

      static final double PREC_CENTI_DEGREE
      Precision constant for globe coordinates that are precise to the hundredth of a degree.
      See Also:
    • PREC_MILLI_DEGREE

      static final double PREC_MILLI_DEGREE
      Precision constant for globe coordinates that are precise to the thousandth of a degree.
      See Also:
    • PREC_ARCSECOND

      static final double PREC_ARCSECOND
      Precision constant for globe coordinates that are precise to the arcsecond.
      See Also:
    • PREC_HUNDRED_MICRO_DEGREE

      static final double PREC_HUNDRED_MICRO_DEGREE
      Precision constant for globe coordinates that are precise to the ten-thousandth of a degree.
      See Also:
    • PREC_DECI_ARCSECOND

      static final double PREC_DECI_ARCSECOND
      Precision constant for globe coordinates that are precise to the tenth of an arcsecond.
      See Also:
    • PREC_TEN_MICRO_DEGREE

      static final double PREC_TEN_MICRO_DEGREE
      Precision constant for globe coordinates that are precise to the hundred-thousandth of a degree.
      See Also:
    • PREC_CENTI_ARCSECOND

      static final double PREC_CENTI_ARCSECOND
      Precision constant for globe coordinates that are precise to the hundredth of an arcsecond.
      See Also:
    • PREC_MICRO_DEGREE

      static final double PREC_MICRO_DEGREE
      Precision constant for globe coordinates that are precise to the millionth of a degree.
      See Also:
    • PREC_MILLI_ARCSECOND

      static final double PREC_MILLI_ARCSECOND
      Precision constant for globe coordinates that are precise to the thousandth of an arcsecond.
      See Also:
    • GLOBE_EARTH

      static final String GLOBE_EARTH
      IRI of the Earth. Used frequently to specify the globe.
      See Also:
    • GLOBE_MOON

      static final String GLOBE_MOON
      IRI of the the Earth's Moon.
      See Also:
  • Method Details

    • getLatitude

      double getLatitude()
      Get the latitude of this value in degrees. For Earth, the latitude value is generally the geographic latitude (as opposed to the geocentric latitude etc.). For other celestial bodies, the meaning of the latitude can vary. It is part of the semantics of the property to specify which coordinate system should be assumed for each globe (possibly depending on further information, such as qualifiers).
      Returns:
      latitude in degrees
    • getLongitude

      double getLongitude()
      Get the longitude of this value in degrees. For celestial bodies other than Earth, the meaning of the longitude can vary. It is part of the semantics of the property to specify which coordinate system should be assumed for each globe (possibly depending on further information, such as qualifiers).
      Returns:
      longitude in degrees
    • getPrecision

      double getPrecision()
      Get the precision of the value in degrees. This value indicates that both latitude and longitude might be off by that precision. Obviously, since the absolute distance of one degree may vary depending on the coordinates, this leads to a non-uniform notion of precision. For example, precision of one whole degree at coordinates 80N, 145E is a much smaller distance from the spot than the same precision at 10N, 145E.
      Returns:
      precision in degrees
    • getGlobe

      String getGlobe()
      Get the IRI of the globe that these coordinates refer to. In most cases this is GLOBE_EARTH.
      Returns:
      IRI of a globe.
    • getGlobeItemId

      ItemIdValue getGlobeItemId()
      Get the ItemIdValue of the globe that these coordinates refer to.
      Throws:
      IllegalArgumentException - if the globe is not a valid item IRI