All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.opengis.temporal.TemporalCoordinateSystem Maven / Gradle / Ivy

There is a newer version: 24.2-oss84-1
Show newest version
/*
 *    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);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy