001/* 002 * GeoAPI - Java interfaces for OGC/ISO standards 003 * Copyright © 2003-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; 022import static org.opengis.annotation.Specification.*; 023 024 025/** 026 * A 1-dimensional coordinate system that consists of the points that lie on the single axis described. 027 * The associated coordinate is the distance – with or without offset – from the origin point, specified 028 * through the datum definition, to the point along the axis. 029 * 030 * <div class="note"><b>Example:</b> 031 * usage of the line feature representing a road to describe points on or along that road. 032 * </div> 033 * 034 * <p>This type of <abbr>CS</abbr> can be used by coordinate reference systems of type 035 * {@link org.opengis.referencing.crs.EngineeringCRS}, potentially in combination with 036 * {@link org.opengis.referencing.crs.DerivedCRS}.</p> 037 * 038 * @author OGC Topic 2 (for abstract model and documentation) 039 * @author Martin Desruisseaux (IRD, Geomatys) 040 * @version 3.1 041 * @since 1.0 042 * 043 * @see CSFactory#createLinearCS(Map, CoordinateSystemAxis) 044 */ 045@UML(identifier="LinearCS", specification=ISO_19111) 046public interface LinearCS extends CoordinateSystem { 047 /** 048 * Returns the number of dimensions, which is 1 for this type of coordinate system. 049 * 050 * @return always 1. 051 */ 052 @Override 053 default int getDimension() { 054 return 1; 055 } 056}