001/* 002 * GeoAPI - Java interfaces for OGC/ISO standards 003 * Copyright © 2009-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.metadata.lineage; 019 020import org.opengis.annotation.UML; 021import org.opengis.annotation.Classifier; 022import org.opengis.annotation.Stereotype; 023 024import static org.opengis.annotation.Obligation.*; 025import static org.opengis.annotation.Specification.*; 026 027 028/** 029 * Distance between consistent parts of (centre, left side, right side) adjacent pixels. 030 * Exactly one of {@linkplain #getScanningResolution() scanning resolution} and 031 * {@linkplain #getGroundResolution() ground resolution} properties shall be provided. 032 * 033 * @author Cédric Briançon (Geomatys) 034 * @version 3.1 035 * @since 2.3 036 */ 037@Classifier(Stereotype.UNION) 038@UML(identifier="LE_NominalResolution", specification=ISO_19115_2) 039public interface NominalResolution { 040 /** 041 * Distance between consistent parts of (centre, left side, right side) adjacent pixels 042 * in the scan plane. 043 * 044 * <div class="warning"><b>Upcoming API change — units of measurement</b><br> 045 * The return type of this method may change in GeoAPI 4.0. It may be replaced by the 046 * {@link javax.measure.quantity.Length} type in order to provide unit of measurement 047 * together with the value. 048 * </div> 049 * 050 * @return distance between consistent parts of adjacent pixels in the scan plane. 051 * @unitof Distance 052 */ 053 @UML(identifier="scanningResolution", obligation=CONDITIONAL, specification=ISO_19115_2) 054 default Double getScanningResolution() { 055 return null; 056 } 057 058 /** 059 * Distance between consistent parts of (centre, left side, right side) adjacent pixels 060 * in the object space. 061 * 062 * <div class="warning"><b>Upcoming API change — units of measurement</b><br> 063 * The return type of this method may change in GeoAPI 4.0. It may be replaced by the 064 * {@link javax.measure.quantity.Length} type in order to provide unit of measurement 065 * together with the value. 066 * </div> 067 * 068 * @return distance between consistent parts of adjacent pixels in the object space. 069 * @unitof Distance 070 */ 071 @UML(identifier="groundResolution", obligation=CONDITIONAL, specification=ISO_19115_2) 072 default Double getGroundResolution() { 073 return null; 074 } 075}