1 /*
2  *    GeoAPI - Java interfaces for OGC/ISO standards
3  *    http://www.geoapi.org
4  *
5  *    Copyright (C) 2009-2011 Open Geospatial Consortium, Inc.
6  *    All Rights Reserved. http://www.opengeospatial.org/ogc/legal
7  *
8  *    Permission to use, copy, and modify this software and its documentation, with
9  *    or without modification, for any purpose and without fee or royalty is hereby
10  *    granted, provided that you include the following on ALL copies of the software
11  *    and documentation or portions thereof, including modifications, that you make:
12  *
13  *    1. The full text of this NOTICE in a location viewable to users of the
14  *       redistributed or derivative work.
15  *    2. Notice of any changes or modifications to the OGC files, including the
16  *       date changes were made.
17  *
18  *    THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE
19  *    NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
20  *    TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT
21  *    THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY
22  *    PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
23  *
24  *    COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
25  *    CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
26  *
27  *    The name and trademarks of copyright holders may NOT be used in advertising or
28  *    publicity pertaining to the software without specific, written prior permission.
29  *    Title to copyright in this software and any associated documentation will at all
30  *    times remain with copyright holders.
31  */
32 package org.opengis.metadata.spatial;
33 
34 import java.util.Collection;
35 
36 import org.opengis.annotation.UML;
37 import org.opengis.referencing.ReferenceSystem;
38 import org.opengis.util.InternationalString;
39 
40 import static org.opengis.annotation.Obligation.*;
41 import static org.opengis.annotation.Specification.*;
42 
43 
44 /**
45  * Information about a control point collection.
46  *
47  * @author  Cédric Briançon (Geomatys)
48  * @version 3.0
49  * @since   2.3
50  *
51  * @navassoc 1 - - ReferenceSystem
52  * @navassoc - - - GCP
53  */
54 @UML(identifier="MI_GCPCollection", specification=ISO_19115_2)
55 public interface GCPCollection extends GeolocationInformation {
56     /**
57      * Identifier of the GCP collection.
58      *
59      * @return The identifier.
60      */
61     @UML(identifier="collectionIdentification", obligation=MANDATORY, specification=ISO_19115_2)
getCollectionIdentification()62     Integer getCollectionIdentification();
63 
64     /**
65      * Name of the GCP collection.
66      *
67      * @return Name of the GCP collection.
68      */
69     @UML(identifier="collectionName", obligation=MANDATORY, specification=ISO_19115_2)
getCollectionName()70     InternationalString getCollectionName();
71 
72     /**
73      * Coordinate system in which the ground control points are defined.
74      *
75      * @return Coordinate system in which the ground control points are defined.
76      */
77     @UML(identifier="coordinateReferenceSystem", obligation=MANDATORY, specification=ISO_19115_2)
getCoordinateReferenceSystem()78     ReferenceSystem getCoordinateReferenceSystem();
79 
80     /**
81      * Ground control point(s) used in the collection.
82      *
83      * @return Ground control point(s).
84      */
85     @UML(identifier="gcp", obligation=MANDATORY, specification=ISO_19115_2)
getGCPs()86     Collection<? extends GCP> getGCPs();
87 }
88