org.opengis.temporal.TemporalCoordinateSystem Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gt-opengis Show documentation
Show all versions of gt-opengis Show documentation
Standard interfaces implemented throughout the library.
/*
* GeoTools - The Open Source Java GIS Toolkit
* http://geotools.org
*
* (C) 2011, Open Source Geospatial Foundation (OSGeo)
* (C) 2005, Open Geospatial Consortium Inc.
*
* All Rights Reserved. http://www.opengis.org/legal/
*/
package org.opengis.temporal;
import static org.opengis.annotation.Obligation.*;
import static org.opengis.annotation.Specification.*;
import java.util.Date;
import org.opengis.annotation.UML;
import org.opengis.util.InternationalString;
/**
* A temporal coordinate system to simplify the computation of temporal distances between points and
* the functional description of temporal operations.
*
* @author Stephane Fellah (Image Matters)
* @author Alexander Petkov
* @todo Retrofit in {@link org.opengis.referencing.cs.TimeCS}.
*/
@UML(identifier = "TM_CoordinateSystem", specification = ISO_19108)
public interface TemporalCoordinateSystem extends TemporalReferenceSystem {
/**
* Position of the origin of the scale on which the temporal coordinate system is based
* expressed as a date in the Gregorian calendar and time of day in UTC.
*/
@UML(identifier = "origin", obligation = MANDATORY, specification = ISO_19108)
Date getOrigin();
/**
* Identifies the base interval for this temporal coordinate system as a unit of measure
* specified by ISO 31-1, or a multiple of one of those units, as specified by ISO 1000.
*/
@UML(identifier = "interval", obligation = MANDATORY, specification = ISO_19108)
InternationalString getInterval();
/**
* Transforms a value of a {@linkplain TemporalCoordinate coordinate} within this temporal
* coordinate system and returns the equivalent {@linkplain DateAndTime date and time} in the
* Gregorian Calendar and UTC
*/
@UML(identifier = "transformCoord", obligation = MANDATORY, specification = ISO_19108)
Date transformCoord(TemporalCoordinate coordinates);
/**
* Transforms a {@linkplain DateAndTime date and time} in the Gregorian Calendar and UTC to an
* equivalent {@linkplain TemporalCoordinate coordinate} within this temporal coordinate system.
*/
@UML(identifier = "transformDateTime", obligation = MANDATORY, specification = ISO_19108)
TemporalCoordinate transformDateTime(Date datetime);
}