Skip to content

base module

This is the base module.

This subpackage contains geographic metadata structures regarding data acquisition that are derived from theISO 19115-1:2014 and ISO 19115-2:2019 international standards.

Metadata

Bases: ABC

Root entity which defines metadata about a resource or resources.

Source code in opengis/metadata/base.py
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
class Metadata(ABC):
    """Root entity which defines metadata about a resource or resources."""

    @property
    @abstractmethod
    def metadata_identifier(self) -> Optional[Identifier]:
        """Unique identifier for this metadata record."""

    @property
    @abstractmethod
    def default_locale(self) -> Optional[str]:
        """
        Language and character set used for documenting metadata.
        A string conforming to IETF BCP 47.

        MANDATORY: if UTF-8 not used and not defined in encoding.
        """

    @property
    @abstractmethod
    def parent_metadata(self) -> Optional[Citation]:
        """
        Identification of the parent metadata record.

        MANDATORY: if there is an upper level object.
        """

    @property
    @abstractmethod
    def contact(self) -> Sequence[Responsibility]:
        """Party responsible for the metadata information."""

    @property
    @abstractmethod
    def date_info(self) -> Sequence[Date]:
        """
        Date(s) associated with the metadata.

        NOTE: 'Creation' date must be provided, others can also be provided.
        """

    @property
    @abstractmethod
    def metadata_standard(self) -> Optional[Sequence[Citation]]:
        """
        Citation for the standards to which the metadata conforms.

        NOTE: Metadata standard citations should include an identifier.
        """

    @property
    @abstractmethod
    def metadata_profile(self) -> Optional[Sequence[Citation]]:
        """
        Citation(s) for the profile(s) of the metadata standard to which the
        metadata conform.

        NOTE: Metadata citations should include an identifier.
        """

    @property
    @abstractmethod
    def alternative_metadata_reference(self) -> Optional[Sequence[Citation]]:
        """
        Reference to alternative metadata,e.g., Dublin Core, FGDC, or metadata
        in a non-ISO standard for the same resource.
        """

    @property
    @abstractmethod
    def other_locale(self) -> Optional[Sequence[str]]:
        """
        Provides information about an alternatively used localized character
        strings. A string conforming to IETF BCP 47.
        """

    @property
    @abstractmethod
    def metadata_linkage(self) -> Optional[Sequence[OnlineResource]]:
        """Online location where the metadata is available."""

    @property
    @abstractmethod
    def spatial_representation_info(self) -> Optional[Sequence[
        SpatialRepresentation
    ]]:
        """Digital representation of spatial information in the dataset."""

    @property
    @abstractmethod
    def reference_system_info(self) -> Optional[Sequence[ReferenceSystem]]:
        """
        Description of the spatial and temporal reference systems used in
        the dataset.

        The reference system may be:
        - An ISO 19111 object such as `CoordinateReferenceSystem`.
        - A `ReferenceSystem` with the `identifier` property (from
            ISO 19111) sets to a list of `Identifier` values such as
            `["EPSG::4326"]`.
        - An object with the `referenceSystemIdentifier` property (from
            ISO 19115) sets to a single `Identifier` value such as
                `"EPSG::4326"`,
        The ReferenceSystem object may optionally have a
            `reference_system_type_code` property set to a value such as
            `geodeticGeographic2D` or `compoundProjectedTemporal`.
        """

    @property
    @abstractmethod
    def metadata_extension_info(self) -> Optional[Sequence[
        MetadataExtensionInformation
    ]]:
        """Information describing metadata extensions."""

    @property
    @abstractmethod
    def identification_info(self) -> Sequence[Identification]:
        """
        Basic information about the resource(s) to which the metadata applies.
        """

    @property
    @abstractmethod
    def content_info(self) -> Optional[Sequence[ContentInformation]]:
        """Information about the feature and coverage characteristics."""

    @property
    @abstractmethod
    def distribution_info(self) -> Optional[Sequence[Distribution]]:
        """
        Information about the distributor of and options for obtaining the
        resource(s).
        """

    @property
    @abstractmethod
    def data_quality_info(self) -> Optional[Sequence[DataQuality]]:
        """Overall assessment of quality of a resource(s)."""

    @property
    @abstractmethod
    def portrayal_catalogue_info(self) -> Optional[Sequence[
        PortrayalCatalogueReference
    ]]:
        """
        Information about the catalogue of rules defined for the portrayal of
        a resource(s).
        """

    @property
    @abstractmethod
    def metadata_constraints(self) -> Optional[Sequence[Constraints]]:
        """Restrictions on the access and use of metadata."""

    @property
    @abstractmethod
    def application_schema_info(self) -> Optional[Sequence[
        ApplicationSchemaInformation
    ]]:
        """Information about the conceptual schema of a dataset."""

    @property
    @abstractmethod
    def metadata_maintenance(self) -> Optional[MaintenanceInformation]:
        """
        Information about the frequency of metadata updates, and the scope of
        those updates.
        """

    @property
    @abstractmethod
    def resource_lineage(self) -> Optional[Sequence[Lineage]]:
        """
        Information about the provenance, sources and/or the production
        processes applied to the resource.
        """

    @property
    @abstractmethod
    def metadata_scope(self) -> Optional[Sequence[MetadataScope]]:
        """
        The scope or type of resource for which metadata is provided.

        MANDATORY: if `Metadata` is about a resource other than a dataset.
        """

    @property
    @abstractmethod
    def acquisition_information(self) -> Optional[
        Sequence[AcquisitionInformation]
    ]:
        """Information about the acquisition of the data."""

acquisition_information: Optional[Sequence[AcquisitionInformation]] abstractmethod property

Information about the acquisition of the data.

alternative_metadata_reference: Optional[Sequence[Citation]] abstractmethod property

Reference to alternative metadata,e.g., Dublin Core, FGDC, or metadata in a non-ISO standard for the same resource.

application_schema_info: Optional[Sequence[ApplicationSchemaInformation]] abstractmethod property

Information about the conceptual schema of a dataset.

contact: Sequence[Responsibility] abstractmethod property

Party responsible for the metadata information.

content_info: Optional[Sequence[ContentInformation]] abstractmethod property

Information about the feature and coverage characteristics.

data_quality_info: Optional[Sequence[DataQuality]] abstractmethod property

Overall assessment of quality of a resource(s).

date_info: Sequence[Date] abstractmethod property

Date(s) associated with the metadata.

NOTE: 'Creation' date must be provided, others can also be provided.

default_locale: Optional[str] abstractmethod property

Language and character set used for documenting metadata. A string conforming to IETF BCP 47.

MANDATORY: if UTF-8 not used and not defined in encoding.

distribution_info: Optional[Sequence[Distribution]] abstractmethod property

Information about the distributor of and options for obtaining the resource(s).

identification_info: Sequence[Identification] abstractmethod property

Basic information about the resource(s) to which the metadata applies.

metadata_constraints: Optional[Sequence[Constraints]] abstractmethod property

Restrictions on the access and use of metadata.

metadata_extension_info: Optional[Sequence[MetadataExtensionInformation]] abstractmethod property

Information describing metadata extensions.

metadata_identifier: Optional[Identifier] abstractmethod property

Unique identifier for this metadata record.

metadata_linkage: Optional[Sequence[OnlineResource]] abstractmethod property

Online location where the metadata is available.

metadata_maintenance: Optional[MaintenanceInformation] abstractmethod property

Information about the frequency of metadata updates, and the scope of those updates.

metadata_profile: Optional[Sequence[Citation]] abstractmethod property

Citation(s) for the profile(s) of the metadata standard to which the metadata conform.

NOTE: Metadata citations should include an identifier.

metadata_scope: Optional[Sequence[MetadataScope]] abstractmethod property

The scope or type of resource for which metadata is provided.

MANDATORY: if Metadata is about a resource other than a dataset.

metadata_standard: Optional[Sequence[Citation]] abstractmethod property

Citation for the standards to which the metadata conforms.

NOTE: Metadata standard citations should include an identifier.

other_locale: Optional[Sequence[str]] abstractmethod property

Provides information about an alternatively used localized character strings. A string conforming to IETF BCP 47.

parent_metadata: Optional[Citation] abstractmethod property

Identification of the parent metadata record.

MANDATORY: if there is an upper level object.

portrayal_catalogue_info: Optional[Sequence[PortrayalCatalogueReference]] abstractmethod property

Information about the catalogue of rules defined for the portrayal of a resource(s).

reference_system_info: Optional[Sequence[ReferenceSystem]] abstractmethod property

Description of the spatial and temporal reference systems used in the dataset.

The reference system may be: - An ISO 19111 object such as CoordinateReferenceSystem. - A ReferenceSystem with the identifier property (from ISO 19111) sets to a list of Identifier values such as ["EPSG::4326"]. - An object with the referenceSystemIdentifier property (from ISO 19115) sets to a single Identifier value such as "EPSG::4326", The ReferenceSystem object may optionally have a reference_system_type_code property set to a value such as geodeticGeographic2D or compoundProjectedTemporal.

resource_lineage: Optional[Sequence[Lineage]] abstractmethod property

Information about the provenance, sources and/or the production processes applied to the resource.

spatial_representation_info: Optional[Sequence[SpatialRepresentation]] abstractmethod property

Digital representation of spatial information in the dataset.

MetadataScope

Bases: ABC

Information about the scope of the resource.

Source code in opengis/metadata/base.py
64
65
66
67
68
69
70
71
72
73
74
75
class MetadataScope(ABC):
    """Information about the scope of the resource."""

    @property
    @abstractmethod
    def resource_scope(self) -> ScopeCode:
        """Code for the scope. Default = 'dataset'."""

    @property
    @abstractmethod
    def name(self) -> Optional[str]:
        """Description of the scope."""

name: Optional[str] abstractmethod property

Description of the scope.

resource_scope: ScopeCode abstractmethod property

Code for the scope. Default = 'dataset'.

PortrayalCatalogueReference

Bases: ABC

Information identifying the portrayal catalogue used.

Source code in opengis/metadata/base.py
55
56
57
58
59
60
61
class PortrayalCatalogueReference(ABC):
    """Information identifying the portrayal catalogue used."""

    @property
    @abstractmethod
    def portrayal_catalogue_citation(self) -> Sequence[Citation]:
        """Bibliographic reference to the portrayal catalogue cited."""

portrayal_catalogue_citation: Sequence[Citation] abstractmethod property

Bibliographic reference to the portrayal catalogue cited.