001/* 002 * GeoAPI - Java interfaces for OGC/ISO standards 003 * Copyright © 2016-2023 Open Geospatial Consortium, Inc. 004 * http://www.geoapi.org 005 * 006 * Licensed under the Apache License, Version 2.0 (the "License"); 007 * you may not use this file except in compliance with the License. 008 * You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, software 013 * distributed under the License is distributed on an "AS IS" BASIS, 014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 015 * See the License for the specific language governing permissions and 016 * limitations under the License. 017 */ 018package org.opengis.referencing.cs; 019 020import java.util.Map; 021import org.opengis.annotation.UML; 022 023import static org.opengis.annotation.Specification.ISO_19111; 024 025 026/** 027 * A 1-dimensional coordinate system in which a physical property or function is used as the dimension. 028 * This coordinate system uses parameter values or functions to describe the position of a point. 029 * That parameter is not inherently spatial. It may be for example the atmospheric pressure. 030 * 031 * <p>This type of <abbr>CS</abbr> can be used by coordinate reference systems of type 032 * {@link org.opengis.referencing.crs.ParametricCRS}, potentially in combination with 033 * {@link org.opengis.referencing.crs.DerivedCRS}.</p> 034 * 035 * @author OGC Topic 2 (for abstract model and documentation) 036 * @author Johann Sorel (Geomatys) 037 * @author Martin Desruisseaux (IRD, Geomatys) 038 * @version 3.1 039 * @since 3.1 040 * 041 * @see CSAuthorityFactory#createParametricCS(String) 042 * @see CSFactory#createParametricCS(Map, CoordinateSystemAxis) 043 */ 044@UML(identifier="ParametricCS", specification=ISO_19111) 045public interface ParametricCS extends CoordinateSystem { 046 /** 047 * Returns the number of dimensions, which is 1 for this type of coordinate system. 048 * 049 * @return always 1. 050 */ 051 @Override 052 default int getDimension() { 053 return 1; 054 } 055}