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.acquisition; 019 020import java.util.Collection; 021import java.util.Collections; 022 023import org.opengis.annotation.UML; 024 025import static org.opengis.annotation.Obligation.*; 026import static org.opengis.annotation.Specification.*; 027 028 029/** 030 * Designations for the measuring instruments, the platform carrying them, and the mission to 031 * which the data contributes. 032 * 033 * @author Cédric Briançon (Geomatys) 034 * @version 3.1 035 * @since 2.3 036 */ 037@UML(identifier="MI_AcquisitionInformation", specification=ISO_19115_2) 038public interface AcquisitionInformation { 039 /** 040 * Identifies the plan as implemented by the acquisition. 041 * 042 * @return plan as implemented by the acquisition. 043 */ 044 @UML(identifier="acquisitionPlan", obligation=OPTIONAL, specification=ISO_19115_2) 045 default Collection<? extends Plan> getAcquisitionPlans() { 046 return Collections.emptyList(); 047 } 048 049 /** 050 * Identifies the requirement the data acquisition intends to satisfy. 051 * 052 * @return requirement the data acquisition intends to satisfy. 053 */ 054 @UML(identifier="acquisitionRequirement", obligation=OPTIONAL, specification=ISO_19115_2) 055 default Collection<? extends Requirement> getAcquisitionRequirements() { 056 return Collections.emptyList(); 057 } 058 059 /** 060 * A record of the environmental circumstances during the data acquisition. 061 * 062 * @return record of the environmental circumstances, or {@code null}. 063 */ 064 @UML(identifier="environmentalConditions", obligation=OPTIONAL, specification=ISO_19115_2) 065 default EnvironmentalRecord getEnvironmentalConditions() { 066 return null; 067 } 068 069 /** 070 * General information about the instrument used in data acquisition. 071 * 072 * @return instrument used in data acquisition. 073 */ 074 @UML(identifier="instrument", obligation=OPTIONAL, specification=ISO_19115_2) 075 default Collection<? extends Instrument> getInstruments() { 076 return Collections.emptyList(); 077 } 078 079 /** 080 * Identification of the area or object to be sensed. 081 * 082 * @return area or object to be sensed. 083 */ 084 @UML(identifier="objective", obligation=OPTIONAL, specification=ISO_19115_2) 085 default Collection<? extends Objective> getObjectives() { 086 return Collections.emptyList(); 087 } 088 089 /** 090 * General information about an identifiable activity which provided the data. 091 * 092 * @return identifiable activity which provided the data. 093 */ 094 @UML(identifier="operation", obligation=OPTIONAL, specification=ISO_19115_2) 095 default Collection<? extends Operation> getOperations() { 096 return Collections.emptyList(); 097 } 098 099 /** 100 * General information about the platform from which the data were taken. 101 * 102 * @return platform from which the data were taken. 103 */ 104 @UML(identifier="platform", obligation=OPTIONAL, specification=ISO_19115_2) 105 default Collection<? extends Platform> getPlatforms() { 106 return Collections.emptyList(); 107 } 108}