/* * GeoTools - The Open Source Java GIS Toolkit * http://geotools.org * * (C) 2011, Open Source Geospatial Foundation (OSGeo) * (C) 2004-2005, Open Geospatial Consortium Inc. * * All Rights Reserved. http://www.opengis.org/legal/ */ package org.opengis.metadata.identification; import java.util.Collection; import java.util.Locale; import org.opengis.metadata.extent.Extent; import org.opengis.metadata.spatial.SpatialRepresentationType; import org.opengis.util.InternationalString; import org.opengis.annotation.UML; import org.opengis.annotation.Profile; import static org.opengis.annotation.Obligation.*; import static org.opengis.annotation.Specification.*; import static org.opengis.annotation.ComplianceLevel.*; /** * Information required to identify a dataset. * * * @source $URL: http://svn.osgeo.org/geotools/trunk/modules/library/opengis/src/main/java/org/opengis/metadata/identification/DataIdentification.java $ * @version <A HREF="http://www.opengeospatial.org/standards/as#01-111">ISO 19115</A> * @author Martin Desruisseaux (IRD) * @since GeoAPI 2.0 */ @Profile (level=CORE) @UML(identifier="MD_DataIdentification", specification=ISO_19115) public interface DataIdentification extends Identification { /** * Method used to spatially represent geographic information. * * @return Method(s) used to spatially represent geographic information. */ @Profile (level=CORE) @UML(identifier="spatialRepresentationType", obligation=OPTIONAL, specification=ISO_19115) Collection<SpatialRepresentationType> getSpatialRepresentationTypes(); /** * Factor which provides a general understanding of the density of spatial data * in the dataset. * * @return Factor which provides a general understanding of the density of spatial data. */ @Profile (level=CORE) @UML(identifier="spatialResolution", obligation=OPTIONAL, specification=ISO_19115) Collection<? extends Resolution> getSpatialResolutions(); /** * Language(s) used within the dataset. * * @return Language(s) used. */ @Profile (level=CORE) @UML(identifier="language", obligation=MANDATORY, specification=ISO_19115) Collection<Locale> getLanguage(); /** * Full name of the character coding standard(s) used for the dataset. * * @return Name(s) of the character coding standard(s) used. */ @Profile (level=CORE) @UML(identifier="characterSet", obligation=CONDITIONAL, specification=ISO_19115) Collection<CharacterSet> getCharacterSets(); /** * Main theme(s) of the dataset. * * @return Main theme(s). */ @Profile (level=CORE) @UML(identifier="topicCategory", obligation=MANDATORY, specification=ISO_19115) Collection<TopicCategory> getTopicCategories(); /** * Description of the dataset in the producer's processing environment, including items * such as the software, the computer operating system, file name, and the dataset size. * * @return Description of the dataset in the producer's processing environment, or {@code null}. */ @UML(identifier="environmentDescription", obligation=OPTIONAL, specification=ISO_19115) InternationalString getEnvironmentDescription(); /** * Additional extent information including the bounding polygon, vertical, and temporal * extent of the dataset. * * @return Additional extent information. */ @Profile (level=CORE) @UML(identifier="extent", obligation=OPTIONAL, specification=ISO_19115) Collection<? extends Extent> getExtent(); /** * Any other descriptive information about the dataset. * * @return Other descriptive information, or {@code null}. */ @UML(identifier="supplementalInformation", obligation=OPTIONAL, specification=ISO_19115) InternationalString getSupplementalInformation(); }