diff --git a/pycsw/core/config.py b/pycsw/core/config.py index e5648203f..ab8ac7768 100644 --- a/pycsw/core/config.py +++ b/pycsw/core/config.py @@ -82,6 +82,7 @@ def __init__(self, prefix='csw30'): 'gmd': 'http://www.isotc211.org/2005/gmd', 'gml': 'http://www.opengis.net/gml', 'gml32': 'http://www.opengis.net/gml/3.2', + 'mdb': 'http://standards.iso.org/iso/19115/-3/mdb/2.0', 'ogc': 'http://www.opengis.net/ogc', 'os': 'http://a9.com/-/spec/opensearch/1.1/', 'ows': 'http://www.opengis.net/ows', @@ -118,7 +119,7 @@ def __init__(self, prefix='csw30'): 'pycsw:Metadata': 'metadata', # raw metadata payload type, xml as default for now 'pycsw:MetadataType': 'metadata_type', - # bag of metadata element and attributes ONLY, no XML tages + # bag of metadata element and attributes ONLY, no XML tags 'pycsw:AnyText': 'anytext', 'pycsw:Language': 'language', 'pycsw:Title': 'title', @@ -134,6 +135,8 @@ def __init__(self, prefix='csw30'): 'pycsw:Type': 'type', # geometry, specified in OGC WKT 'pycsw:BoundingBox': 'wkt_geometry', + 'pycsw:VertExtentMin': 'vert_extent_min', + 'pycsw:VertExtentMax': 'vert_extent_max', 'pycsw:CRS': 'crs', 'pycsw:AlternateTitle': 'title_alternate', 'pycsw:RevisionDate': 'date_revision', diff --git a/pycsw/core/metadata.py b/pycsw/core/metadata.py index fe1e40e8a..c8838ebf9 100644 --- a/pycsw/core/metadata.py +++ b/pycsw/core/metadata.py @@ -162,6 +162,9 @@ def _parse_metadata(context, repos, record): return [_parse_dc(context, repos, exml)] elif root == '{%s}DIF' % context.namespaces['dif']: # DIF pass # TODO + elif root == '{%s}MD_Metadata' % context.namespaces['mdb']: + # ISO 19115p3 XML + return [_parse_iso(context, repos, exml)] else: raise RuntimeError('Unsupported metadata format') @@ -1364,6 +1367,7 @@ def get_value_by_language(pt_group, language, pt_type='text'): return recobj def _parse_iso(context, repos, exml): + """ Parses ISO 19139, ISO 19115p3 """ from owslib.iso import MD_ImageDescription, MD_Metadata, SV_ServiceIdentification from owslib.iso_che import CHE_MD_Metadata @@ -1371,16 +1375,21 @@ def _parse_iso(context, repos, exml): recobj = repos.dataset() bbox = None links = [] + mdmeta_ns = 'gmd' if exml.tag == '{http://www.geocat.ch/2008/che}CHE_MD_Metadata': md = CHE_MD_Metadata(exml) + elif exml.tag == '{http://standards.iso.org/iso/19115/-3/mdb/2.0}MD_Metadata': + from owslib.iso3 import MD_Metadata + md = MD_Metadata(exml) + mdmeta_ns = 'mdb' else: md = MD_Metadata(exml) md_identification = md.identification[0] _set(context, recobj, 'pycsw:Identifier', md.identifier) - _set(context, recobj, 'pycsw:Typename', 'gmd:MD_Metadata') + _set(context, recobj, 'pycsw:Typename', f'{mdmeta_ns}:MD_Metadata') _set(context, recobj, 'pycsw:Schema', context.namespaces['gmd']) _set(context, recobj, 'pycsw:MdSource', 'local') _set(context, recobj, 'pycsw:InsertDate', util.get_today_and_now()) @@ -1394,7 +1403,7 @@ def _parse_iso(context, repos, exml): _set(context, recobj, 'pycsw:Modified', md.datestamp) _set(context, recobj, 'pycsw:Source', md.dataseturi) - if md.referencesystem is not None: + if md.referencesystem is not None and md.referencesystem.code is not None: try: code_ = 'urn:ogc:def:crs:EPSG::%d' % int(md.referencesystem.code) except ValueError: @@ -1421,11 +1430,21 @@ def _parse_iso(context, repos, exml): elif len(md_identification.resourcelanguagecode) > 0: _set(context, recobj, 'pycsw:ResourceLanguage', md_identification.resourcelanguagecode[0]) + # Geographic bounding box if hasattr(md_identification, 'bbox'): bbox = md_identification.bbox else: bbox = None + # Vertical extent of a bounding box + if hasattr(md_identification, 'extent'): + if hasattr(md_identification.extent, 'vertExtMin') and \ + md_identification.extent.vertExtMin is not None: + _set(context, recobj, 'pycsw:VertExtentMin', md_identification.extent.vertExtMin) + if hasattr(md_identification.extent, 'vertExtMax') and \ + md_identification.extent.vertExtMax is not None: + _set(context, recobj, 'pycsw:VertExtentMax', md_identification.extent.vertExtMax) + if (hasattr(md_identification, 'keywords') and len(md_identification.keywords) > 0): all_keywords = [item for sublist in md_identification.keywords for item in sublist.keywords if item is not None] @@ -1435,14 +1454,17 @@ def _parse_iso(context, repos, exml): json.dumps([t for t in md_identification.keywords if t.thesaurus is not None], default=lambda o: o.__dict__)) + # Creator if (hasattr(md_identification, 'creator') and len(md_identification.creator) > 0): all_orgs = set([item.organization for item in md_identification.creator if hasattr(item, 'organization') and item.organization is not None]) _set(context, recobj, 'pycsw:Creator', ';'.join(all_orgs)) + # Publisher if (hasattr(md_identification, 'publisher') and len(md_identification.publisher) > 0): all_orgs = set([item.organization for item in md_identification.publisher if hasattr(item, 'organization') and item.organization is not None]) _set(context, recobj, 'pycsw:Publisher', ';'.join(all_orgs)) + # Contributor if (hasattr(md_identification, 'contributor') and len(md_identification.contributor) > 0): all_orgs = set([item.organization for item in md_identification.contributor if hasattr(item, 'organization') and item.organization is not None]) @@ -1527,18 +1549,18 @@ def _parse_iso(context, repos, exml): _set(context, recobj, 'pycsw:Keywords', keywords) - bands = [] - for band in ci.bands: - band_info = { - 'id': band.id, - 'units': band.units, - 'min': band.min, - 'max': band.max - } - bands.append(band_info) + bands = [] + for band in ci.bands: + band_info = { + 'id': band.id, + 'units': band.units, + 'min': band.min, + 'max': band.max + } + bands.append(band_info) - if len(bands) > 0: - _set(context, recobj, 'pycsw:Bands', json.dumps(bands)) + if len(bands) > 0: + _set(context, recobj, 'pycsw:Bands', json.dumps(bands)) if hasattr(md, 'acquisition') and md.acquisition is not None: platform = md.acquisition.platforms[0] @@ -1557,10 +1579,10 @@ def _parse_iso(context, repos, exml): if hasattr(md, 'distribution'): dist_links = [] if hasattr(md.distribution, 'online'): - LOGGER.debug('Scanning for gmd:transferOptions element(s)') + LOGGER.debug(f'Scanning for {mdmeta_ns}:transferOptions element(s)') dist_links.extend(md.distribution.online) if hasattr(md.distribution, 'distributor'): - LOGGER.debug('Scanning for gmd:distributorTransferOptions element(s)') + LOGGER.debug(f'Scanning for {mdmeta_ns}:distributorTransferOptions element(s)') for dist_member in md.distribution.distributor: dist_links.extend(dist_member.online) for link in dist_links: diff --git a/pycsw/core/repository.py b/pycsw/core/repository.py index 724aea549..d074d4a94 100644 --- a/pycsw/core/repository.py +++ b/pycsw/core/repository.py @@ -218,7 +218,6 @@ def __init__(self, database, context, app_root=None, table='records', repo_filte LOGGER.info('setting repository queryables') # generate core queryables db and obj bindings self.queryables = {} - for tname in self.context.model['typenames']: for qname in self.context.model['typenames'][tname]['queryables']: self.queryables[qname] = {} @@ -231,7 +230,8 @@ def __init__(self, database, context, app_root=None, table='records', repo_filte # TODO smarter way of doing this self.queryables['_all'] = {} for qbl in self.queryables: - self.queryables['_all'].update(self.queryables[qbl]) + if qbl != '_all': + self.queryables['_all'].update(self.queryables[qbl]) self.queryables['_all'].update(self.context.md_core_model['mappings']) @@ -708,6 +708,7 @@ def setup(database, table, create_sfsql_tables=True, postgis_geometry_column='wk """Setup database tables and indexes""" from sqlalchemy import Column, create_engine, Integer, MetaData, \ Table, Text, Unicode + from sqlalchemy.types import Float from sqlalchemy.orm import create_session LOGGER.info('Creating database %s', database) @@ -840,6 +841,8 @@ def setup(database, table, create_sfsql_tables=True, postgis_geometry_column='wk Column('distancevalue', Text, index=True), Column('distanceuom', Text, index=True), Column('wkt_geometry', Text), + Column('vert_extent_min', Float, index=True), + Column('vert_extent_max', Float, index=True), # service Column('servicetype', Text, index=True), diff --git a/pycsw/plugins/profiles/iso19115p3/__init__.py b/pycsw/plugins/profiles/iso19115p3/__init__.py new file mode 100644 index 000000000..08a4c3d32 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/__init__.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2015 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= diff --git a/pycsw/plugins/profiles/iso19115p3/iso19115p3.py b/pycsw/plugins/profiles/iso19115p3/iso19115p3.py new file mode 100644 index 000000000..2c2de1840 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/iso19115p3.py @@ -0,0 +1,854 @@ +# -*- coding: utf-8 -*- +# ================================================================= +# +# Author: Vincent Fazio +# +# Copyright (c) 2023 CSIRO Australia +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +import os +import json +from pycsw.core import config, util +from pycsw.core.etree import etree +from pycsw.plugins.profiles import profile + +CODELIST = 'http://standards.iso.org/iso/19115/resources/Codelist/cat/codelists.xml' + + +class ISO19115p3(profile.Profile): + """ ISO19115p3 class represents the profile for input and output of ISO 19115 Part 3 XML + """ + def __init__(self, model, namespaces, context): + """ + :param model: model + :param namespaces: namespaces + :param context: context + """ + self.context = context + + self.namespaces = { + "mdb":"http://standards.iso.org/iso/19115/-3/mdb/2.0", + "cat":"http://standards.iso.org/iso/19115/-3/cat/1.0", + "gfc":"http://standards.iso.org/iso/19110/gfc/1.1", + "cit":"http://standards.iso.org/iso/19115/-3/cit/2.0", + "gcx":"http://standards.iso.org/iso/19115/-3/gcx/1.0", + "gex":"http://standards.iso.org/iso/19115/-3/gex/1.0", + "lan":"http://standards.iso.org/iso/19115/-3/lan/1.0", + "srv":"http://standards.iso.org/iso/19115/-3/srv/2.1", + "mas":"http://standards.iso.org/iso/19115/-3/mas/1.0", + "mcc":"http://standards.iso.org/iso/19115/-3/mcc/1.0", + "mco":"http://standards.iso.org/iso/19115/-3/mco/1.0", + "mda":"http://standards.iso.org/iso/19115/-3/mda/1.0", + "mds":"http://standards.iso.org/iso/19115/-3/mds/2.0", + "mdt":"http://standards.iso.org/iso/19115/-3/mdt/2.0", + "mex":"http://standards.iso.org/iso/19115/-3/mex/1.0", + "mmi":"http://standards.iso.org/iso/19115/-3/mmi/1.0", + "mpc":"http://standards.iso.org/iso/19115/-3/mpc/1.0", + "mrc":"http://standards.iso.org/iso/19115/-3/mrc/2.0", + "mrd":"http://standards.iso.org/iso/19115/-3/mrd/1.0", + "mri":"http://standards.iso.org/iso/19115/-3/mri/1.0", + "mrl":"http://standards.iso.org/iso/19115/-3/mrl/2.0", + "mrs":"http://standards.iso.org/iso/19115/-3/mrs/1.0", + "msr":"http://standards.iso.org/iso/19115/-3/msr/2.0", + "mdq":"http://standards.iso.org/iso/19157/-2/mdq/1.0", + "mac":"http://standards.iso.org/iso/19115/-3/mac/2.0", + "gco":"http://standards.iso.org/iso/19115/-3/gco/1.0", + "gml":"http://www.opengis.net/gml", + "xlink":"http://www.w3.org/1999/xlink", + "xsi":"http://www.w3.org/2001/XMLSchema-instance" + } + + self.inspire_namespaces = { + } + + self.repository = { + 'mdb:MD_Metadata': { + 'outputschema': 'http://standards.iso.org/iso/19115/-3/mdb/2.0', + 'queryables': { + 'SupportedISO19115p3Queryables': { + 'mdb:Subject': {'xpath': 'mdb:identificationInfo/mri:MD_DataIdentification/mri:topicCategory/mri:MD_TopicCategoryCode', + 'dbcol': self.context.md_core_model['mappings']['pycsw:Keywords']}, + 'mdb:Title': {'xpath': 'mdb:identificationInfo/mri:MD_DataIdentification/mri:citation/cit:CI_Citation/cit:title/gco:CharacterString', + 'dbcol': self.context.md_core_model['mappings']['pycsw:Title']}, + 'mdb:Abstract': {'xpath': 'mdb:identificationInfo/mri:MD_DataIdentification/mri:abstract/gco:CharacterString', + 'dbcol': self.context.md_core_model['mappings']['pycsw:Abstract']}, + 'mdb:Edition': {'xpath': 'mdb:identificationInfo/mri:MD_DataIdentification/mri:citation/cit:CI_Citation/cit:edition/gco:CharacterString', + 'dbcol': self.context.md_core_model['mappings']['pycsw:Edition']}, + 'mdb:Format': {'xpath': 'mdb:distributionInfo/mrd:MD_Distribution/mrd:distributionFormat/mrd:MD_Format/mrd:formatSpecificationCitation/cit:CI_Citation/cit:title/gcx:Anchor', + 'dbcol': self.context.md_core_model['mappings']['pycsw:Format']}, + 'mdb:Identifier': {'xpath': 'mdb:metadataIdentifier/mcc:MD_Identifier/mcc:code/gco:CharacterString', + 'dbcol': self.context.md_core_model['mappings']['pycsw:Identifier']}, + 'mdb:Modified': {'xpath': 'mdb:MD_Metadata/mdb:dateInfo/cit:CI_Date[cit:dateType/cit:CI_DateTypeCode="lastUpdate"]/cit:date/gco:DateTime', + 'dbcol': self.context.md_core_model['mappings']['pycsw:Modified']}, + 'mdb:Type': {'xpath': 'mdb:metadataScope/mdb:MD_MetadataScope/mdb:resourceScope/mcc:MD_ScopeCode/@codeListValue', + 'dbcol': self.context.md_core_model['mappings']['pycsw:Type']}, + # NB: Placeholder only + 'mdb:BoundingBox': {'xpath': 'mdb:BoundingBox', 'dbcol': self.context.md_core_model['mappings']['pycsw:BoundingBox']}, + 'mdb:VertExtentMin': {'xpath': 'gex:EX_VerticalExtent/gex:minimumValue/gco:Real', 'dbcol': self.context.md_core_model['mappings']['pycsw:VertExtentMin']}, + 'mdb:VertExtentMax': {'xpath': 'gex:EX_VerticalExtent/gex:maximumValue/gco:Real', 'dbcol': self.context.md_core_model['mappings']['pycsw:VertExtentMax']}, + 'mdb:CRS': {'xpath': '''concat("urn:ogc:def:crs:", + "mdb:referenceSystemInfo/mrs:MD_ReferenceSystem/mrs:referenceSystemIdentifier/mcc:MD_Identifier/mcc:codeSpace/gco:CharacterString", + ":", + "mdb:referenceSystemInfo/mrs:MD_ReferenceSystem/mrs:referenceSystemIdentifier/mcc:MD_Identifier/mcc:version/gco:CharacterString", + ":", + "mdb:referenceSystemInfo/mrs:MD_ReferenceSystem/mrs:referenceSystemIdentifier/mcc:MD_Identifier/mcc:code/gco:CharacterString")''', + 'dbcol': self.context.md_core_model['mappings']['pycsw:CRS']}, + 'mdb:AlternateTitle': {'xpath': 'mdb:identificationInfo/mri:MD_DataIdentification/mri:citation/cit:CI_Citation/cit:title/gco:CharacterString', + 'dbcol': self.context.md_core_model['mappings']['pycsw:AlternateTitle']}, + 'mdb:RevisionDate': {'xpath': 'mdb:dateInfo/cit:CI_Date[cit:dateType/cit:CI_DateTypeCode/@codeListValue="revision"]/cit:date/gco:DateTime', + 'dbcol': self.context.md_core_model['mappings']['pycsw:RevisionDate']}, + 'mdb:CreationDate': {'xpath': 'mdb:dateInfo/cit:CI_Date[cit:dateType/cit:CI_DateTypeCode/@codeListValue="creation"]/cit:date/gco:DateTime', + 'dbcol': self.context.md_core_model['mappings']['pycsw:CreationDate']}, + 'mdb:PublicationDate': {'xpath': 'mdb:dateInfo/cit:CI_Date[cit:dateType/cit:CI_DateTypeCode/@codeListValue="publication"]/cit:date/gco:DateTime', + 'dbcol': self.context.md_core_model['mappings']['pycsw:PublicationDate']}, + 'mdb:OrganisationName': {'xpath': 'mdb:identificationInfo/mri:MD_DataIdentification/mri:pointOfContact/cit:CI_Responsibility/cit:party/cit:CI_Organisation/cit:name/gco:CharacterString', + 'dbcol': self.context.md_core_model['mappings']['pycsw:OrganizationName']}, + 'mdb:HasSecurityConstraints': {'xpath': 'mdb:identificationInfo/mri:MD_DataIdentification/mri:resourceConstraints/mco:MD_SecurityConstraints', + 'dbcol': self.context.md_core_model['mappings']['pycsw:SecurityConstraints']}, + 'mdb:Language': {'xpath': 'mdb:defaultLocale/lan:PT_Locale/lan:language/lan:LanguageCode|mdb:defaultLocale/lan:PT_Locale/lan:language/gco:CharacterString', + 'dbcol': self.context.md_core_model['mappings']['pycsw:Language']}, + 'mdb:ParentIdentifier': {'xpath': 'mdb:parentMetadata/cit:CI_Citation/cit:identifier/mcc:MD_Identifier/mcc:code/gco:CharacterString', + 'dbcol': self.context.md_core_model['mappings']['pycsw:ParentIdentifier']}, + 'mdb:KeywordType': {'xpath': 'mdb:identificationInfo/mri:MD_DataIdentification/mri:descriptiveKeywords/mri:MD_Keywords/mri:type/mri:MD_KeywordTypeCode', + 'dbcol': self.context.md_core_model['mappings']['pycsw:KeywordType']}, + 'mdb:TopicCategory': {'xpath': 'mdb:identificationInfo/mri:MD_DataIdentification/mri:topicCategory/mri:MD_TopicCategoryCode', + 'dbcol': self.context.md_core_model['mappings']['pycsw:TopicCategory']}, + 'mdb:ResourceLanguage': {'xpath': 'mdb:defaultLocale/lan:PT_Locale/lan:language/lan:LanguageCode/@codeListValue', + 'dbcol': self.context.md_core_model['mappings']['pycsw:ResourceLanguage']}, + 'mdb:GeographicDescriptionCode': {'xpath': 'mdb:identificationInfo/mri:MD_DataIdentification/mri:extent/gex:EX_Extent/gex:geographicElement/gex:EX_GeographicDescription/gex:geographicIdentifier/mcc:MD_Identifier/mcc:code/gco:CharacterString', + 'dbcol': self.context.md_core_model['mappings']['pycsw:GeographicDescriptionCode']}, + 'mdb:Denominator': {'xpath': 'mdb:identificationInfo/mri:MD_DataIdentification/mri:spatialResolution/mri:MD_Resolution/mri:equivalentScale/mri:MD_RepresentativeFraction/mri:denominator/gco:Integer', + 'dbcol': self.context.md_core_model['mappings']['pycsw:Denominator']}, + 'mdb:DistanceValue': {'xpath': 'mdb:identificationInfo/mri:MD_DataIdentification/mri:spatialResolution/mri:MD_Resolution/mri:distance/gco:Distance', + 'dbcol': self.context.md_core_model['mappings']['pycsw:DistanceValue']}, + 'mdb:DistanceUOM': {'xpath': 'mdb:identificationInfo/mri:MD_DataIdentification/mri:spatialResolution/mri:MD_Resolution/mri:distance/gco:Distance/@uom', + 'dbcol': self.context.md_core_model['mappings']['pycsw:DistanceUOM']}, + 'mdb:TempExtent_begin': {'xpath': 'mdb:identificationInfo/mri:MD_DataIdentification/mri:extent/gex:EX_Extent/gex:temporalElement/gex:EX_TemporalExtent/mri:extent/gml:TimePeriod/gml:beginPosition', + 'dbcol': self.context.md_core_model['mappings']['pycsw:TempExtent_begin']}, + 'mdb:TempExtent_end': {'xpath': 'mdb:identificationInfo/mri:MD_DataIdentification/mri:extent/gex:EX_Extent/gex:temporalElement/gex:EX_TemporalExtent/mri:extent/gml:TimePeriod/gml:endPosition', + 'dbcol': self.context.md_core_model['mappings']['pycsw:TempExtent_end']}, + 'mdb:AnyText': {'xpath': '//', + 'dbcol': self.context.md_core_model['mappings']['pycsw:AnyText']}, + 'mdb:ServiceType': {'xpath': 'mdb:identificationInfo/srv:SV_ServiceIdentification/srv:serviceType/gco:LocalName', + 'dbcol': self.context.md_core_model['mappings']['pycsw:ServiceType']}, + 'mdb:ServiceTypeVersion': {'xpath': 'mdb:identificationInfo/srv:SV_ServiceIdentification/srv:serviceTypeVersion/gco:CharacterString', + 'dbcol': self.context.md_core_model['mappings']['pycsw:ServiceTypeVersion']}, + 'mdb:Operation': {'xpath': 'mdb:identificationInfo/srv:SV_ServiceIdentification/srv:containsOperations/srv:SV_OperationMetadata/srv:operationName/gco:CharacterString', + 'dbcol': self.context.md_core_model['mappings']['pycsw:Operation']}, + 'mdb:CouplingType': {'xpath': 'mdb:identificationInfo/srv:SV_ServiceIdentification/srv:couplingType/srv:SV_CouplingType', + 'dbcol': self.context.md_core_model['mappings']['pycsw:CouplingType']}, + 'mdb:OperatesOn': {'xpath': 'mdb:identificationInfo/srv:SV_ServiceIdentification/srv:operatesOn/mri:MD_DataIdentification/mri:citation/cit:CI_Citation/cit:identifier/mcc:MD_Identifier/mcc:code/gco:CharacterString', + 'dbcol': self.context.md_core_model['mappings']['pycsw:OperatesOn']}, + 'mdb:OperatesOnIdentifier': {'xpath': 'mdb:identificationInfo/srv:SV_ServiceIdentification/srv:coupledResource/srv:SV_CoupledResource/srv:identifier/gco:CharacterString', + 'dbcol': self.context.md_core_model['mappings']['pycsw:OperatesOnIdentifier']}, + 'mdb:OperatesOnName': {'xpath': 'mdb:identificationInfo/srv:SV_ServiceIdentification/srv:coupledResource/srv:SV_CoupledResource/srv:operationName/gco:CharacterString', + 'dbcol': self.context.md_core_model['mappings']['pycsw:OperatesOnName']}, + }, + 'AdditionalISO19115p3Queryables': { + 'mdb:Degree': {'xpath': 'mdb:dataQualityInfo/mdq:DQ_DataQuality/mdq:report/mdq:DQ_DomainConsistency/mdq:result/mdq:DQ_ConformanceResult/mdq:pass/gco:Boolean', + 'dbcol': self.context.md_core_model['mappings']['pycsw:Degree']}, + 'mdb:AccessConstraints': {'xpath': 'mdb:identificationInfo/mri:MD_DataIdentification/mri:resourceConstraints/mco:MD_LegalConstraints/mco:accessConstraints/mco:MD_RestrictionCode', + 'dbcol': self.context.md_core_model['mappings']['pycsw:AccessConstraints']}, + 'mdb:OtherConstraints': {'xpath': 'mdb:identificationInfo/mri:MD_DataIdentification/mri:resourceConstraints/mco:MD_LegalConstraints/mco:otherConstraints/gco:CharacterString', + 'dbcol': self.context.md_core_model['mappings']['pycsw:OtherConstraints']}, + 'mdb:Classification': {'xpath': 'mdb:identificationInfo/mri:MD_DataIdentification/mri:resourceConstraints/mco:MD_LegalConstraints/mco:accessConstraints/mco:MD_ClassificationCode/@codeListValue', + 'dbcol': self.context.md_core_model['mappings']['pycsw:Classification']}, + 'mdb:ConditionApplyingToAccessAndUse': {'xpath': 'mdb:metadataConstraints/mco:MD_LegalConstraints/mco:useLimitation/gco:CharacterString|mdb:identificationInfo/mri:MD_DataIdentification/mri:resourceConstraints/mco:MD_LegalConstraints/mco:useLimitation/gco:CharacterString', + 'dbcol': self.context.md_core_model['mappings']['pycsw:ConditionApplyingToAccessAndUse']}, + 'mdb:Lineage': {'xpath': 'mdb:dataQualityInfo/mdq:DQ_DataQuality/mrl:lineage/mrl:LI_Lineage/mrl:statement/gco:CharacterString', + 'dbcol': self.context.md_core_model['mappings']['pycsw:Lineage']}, + 'mdb:ResponsiblePartyRole': {'xpath': 'mdb:contact/cit:CI_Responsiblility/cit:role/cit:CI_RoleCode', + 'dbcol': self.context.md_core_model['mappings']['pycsw:ResponsiblePartyRole']}, + 'mdb:SpecificationTitle': {'xpath': 'mdb:dataQualityInfo/mdq:DQ_DataQuality/mdq:report/mdq:DQ_DomainConsistency/mdq:result/mdq:DQ_ConformanceResult/mdq:specification/cit:CI_Citation/cit:title/gco:CharacterString', + 'dbcol': self.context.md_core_model['mappings']['pycsw:SpecificationTitle']}, + 'mdb:SpecificationDate': {'xpath': 'mdb:dataQualityInfo/mdq:DQ_DataQuality/mdq:report/mdq:DQ_DomainConsistency/mdq:result/mdq:DQ_ConformanceResult/mdq:secification/cit:CI_Citation/cit:date/cit:CI_Date/cit:date/gco:Date', + 'dbcol': self.context.md_core_model['mappings']['pycsw:SpecificationDate']}, + 'mdb:SpecificationDateType': {'xpath': 'mdb:dataQualityInfo/mdq:DQ_DataQuality/mdq:report/mdq:DQ_DomainConsistency/mdq:result/mdq:DQ_ConformanceResult/mdq:specification/cit:CI_Citation/cit:date/cit:CI_Date/cit:dateType/cit:CI_DateTypeCode/@codeListValue', + 'dbcol': self.context.md_core_model['mappings']['pycsw:SpecificationDateType']}, + + 'mdb:Creator': {'xpath': 'mdb:identificationInfo/mri:MD_DataIdentification/mri:citation/cit:CI_Citation/cit:citedResponsibleParty/cit:CI_Responsibility/cit:role/cit:CI_RoleCode[text()="creator"]', + 'dbcol': self.context.md_core_model['mappings']['pycsw:Creator']}, + 'mdb:Publisher': {'xpath': 'mdb:identificationInfo/mri:MD_DataIdentification/mri:citation/cit:CI_Citation/cit:citedResponsibleParty/cit:CI_Responsibility/cit:role/cit:CI_RoleCode[text()="publisher"]', + 'dbcol': self.context.md_core_model['mappings']['pycsw:Publisher']}, + 'mdb:Contributor': {'xpath': 'mdb:identificationInfo/mri:MD_DataIdentification/mri:citation/cit:CI_Citation/cit:citedResponsibleParty/cit:CI_Responsibility/cit:role/cit:CI_RoleCode[text()="contributor"]', + 'dbcol': self.context.md_core_model['mappings']['pycsw:Contributor']}, + 'mdb:Relation': {'xpath': 'mdb:identificationInfo/mri:MD_DataIdentification/mri:aggregationInfo', + 'dbcol': self.context.md_core_model['mappings']['pycsw:Relation']}, + # 19115-2 + 'mdb:Platform': {'xpath': 'mdb:acquisitionInfo/mac:MI_AcquisitionInformation/mac:platform/mac:MI_Platform/mac:identifier', + 'dbcol': self.context.md_core_model['mappings']['pycsw:Platform']}, + 'mdb:Instrument': {'xpath': 'mdb:acquisitionInfo/mac:MI_AcquisitionInformation/mac:platform/mac:MI_Platform/mac:instrument/mac:MI_Instrument/mac:identifier', + 'dbcol': self.context.md_core_model['mappings']['pycsw:Instrument']}, + 'mdb:SensorType': {'xpath': 'mdb:acquisitionInfo/mac:MI_AcquisitionInformation/mac:platform/mac:MI_Platform/mac:instrument/mac:MI_Instrument/mac:type', + 'dbcol': self.context.md_core_model['mappings']['pycsw:SensorType']}, + 'mdb:CloudCover': {'xpath': 'mdb:contentInfo/mrc:MD_ImageDescription/mrc:cloudCoverPercentage', + 'dbcol': self.context.md_core_model['mappings']['pycsw:CloudCover']}, + 'mdb:Bands': {'xpath': 'mdb:contentInfo/mrc:MD_ImageDescription/mrc:attributeGroup/mrc:MD_AttributeGroup/mrc:attribute/mrc:MD_Band/mrc:sequenceIdentifier/gco:MemberName/gco:aName/gco:CharacterString', + 'dbcol': self.context.md_core_model['mappings']['pycsw:Bands']}, + } + }, + 'mappings': { + 'csw:Record': { + # map MDB queryables to DC queryables + 'mdb:Title': 'dc:title', + 'mdb:Creator': 'dc:creator', + 'mdb:Subject': 'dc:subject', + 'mdb:Abstract': 'dct:abstract', + 'mdb:Publisher': 'dc:publisher', + 'mdb:Contributor': 'dc:contributor', + 'mdb:Modified': 'dct:modified', + 'mdb:PublicationDate': 'dc:date', + 'mdb:Type': 'dc:type', + 'mdb:Format': 'dc:format', + 'mdb:Language': 'dc:language', + 'mdb:Relation': 'dc:relation', + 'mdb:AccessConstraints': 'dc:rights', + } + } + } + } + + profile.Profile.__init__(self, + name='mdb', + version='1.0.0', + title='ISO 19115-3 XML Metadata', + url='https://www.iso.org/standard/32579.html', + namespace=self.namespaces['mdb'], + typename='mdb:MD_Metadata', + outputschema=self.namespaces['mdb'], + prefixes=['mdb'], + model=model, + core_namespaces=namespaces, + added_namespaces=self.namespaces, + repository=self.repository['mdb:MD_Metadata']) + + def extend_core(self, model, namespaces, config): + """ Extend core configuration + + :param model: + """ + + # update harvest resource types with WMS, since WMS is not a typename, + if 'Harvest' in model['operations']: + model['operations']['Harvest']['parameters']['ResourceType']['values'].append('https://schemas.isotc211.org/19115/-3/mdb/2.0/') + + self.inspire_config = None + + server_cfg = config.get('server', {}) + self.ogc_schemas_base = server_cfg.get('ogc_schemas_base', 'http://schemas.opengis.net') + self.url = server_cfg.get('url', 'http://localhost/pycsw/csw.py') + + def check_parameters(self, kvp): + """ Check for Language parameter in GetCapabilities request + Kept for backwards compatibility + """ + return None + + def get_extendedcapabilities(self): + """ Get extended capabilities + Kept for backwards compatibility + """ + return None + + def get_schemacomponents(self): + """ Return schema components as lxml.etree.Element list + """ + + node1 = etree.Element( + util.nspath_eval('csw:SchemaComponent', self.context.namespaces), + schemaLanguage='XMLSCHEMA', targetNamespace=self.namespace, + parentSchema='mdb.xsd') + + # Copied from: https://github.com/geonetwork/core-geonetwork/tree/main/schemas/iso19115-3.2018/src/main/plugin/iso19115-3.2018/schema/standards.iso.org/19115/-3/mdb/2.0 + schema_file = os.path.join(self.context.pycsw_home, 'plugins', + 'profiles', 'iso19115p3', 'schemas', 'ogc', + 'iso', 'iso19115-3', 'mdb', '2.0', 'mdb.xsd') + + schema = etree.parse(schema_file, self.context.parser).getroot() + + node1.append(schema) + + node2 = etree.Element( + util.nspath_eval('csw:SchemaComponent', self.context.namespaces), + schemaLanguage='XMLSCHEMA', targetNamespace=self.namespace, + parentSchema='mdb.xsd') + + schema_file = os.path.join(self.context.pycsw_home, 'plugins', + 'profiles', 'iso19115p3', 'schemas', 'ogc', + 'iso', 'iso19115-3', 'srv', '2.1', + 'serviceInformation.xsd') + + schema = etree.parse(schema_file, self.context.parser).getroot() + + node2.append(schema) + + return [node1, node2] + + def check_getdomain(self, kvp): + """ Perform extra profile specific checks in the GetDomain request + Kept for backwards compatibility + """ + return None + + def write_record(self, result, esn, outputschema, queryables, caps=None): + """ Return csw:SearchResults child as etree.Element + + :param result: results from repository query (to be written out) + :param esn: CSW element set name parameter + :param outputschema: CSW outputschema + :param queryables: database column mapping for our 'mdb:XXXX' + :param caps: optional information object gathered from GetCapabilities response + """ + typename = util.getqattr(result, self.context.md_core_model['mappings']['pycsw:Typename']) + is_mdb_anyway = False + + xml_blob = util.getqattr(result, self.context.md_core_model['mappings']['pycsw:XML']) + + #xml_blob_decoded = bytes.fromhex(xml_blob[2:]).decode('utf-8') + + if isinstance(xml_blob, bytes): + iso_string = b'' + else: + iso_string = '' + + if caps is None and xml_blob is not None and xml_blob.startswith(iso_string): + is_mdb_anyway = True + + if (esn == 'full' and (typename == 'mdb:MD_Metadata' or is_mdb_anyway)): + # dump record as is and exit + return etree.fromstring(xml_blob, self.context.parser) + + node = etree.Element(util.nspath_eval('mdb:MD_Metadata', self.namespaces), nsmap=self.namespaces) + node.attrib[util.nspath_eval('xsi:schemaLocation', self.context.namespaces)] = \ + f"{self.namespace} {self.ogc_schemas_base}/csw/2.0.2/csw.xsd" + + # identifier + idval = util.getqattr(result, self.context.md_core_model['mappings']['pycsw:Identifier']) + + meta_identifier = etree.SubElement(node, util.nspath_eval('mdb:metadataIdentifier', self.namespaces)) + md_identifier = etree.SubElement(meta_identifier, util.nspath_eval('mcc:MD_Identifier', self.namespaces)) + code = etree.SubElement(md_identifier, util.nspath_eval('mcc:code', self.namespaces)) + etree.SubElement(code, util.nspath_eval('gco:CharacterString', self.namespaces)).text = idval + + if esn in ['summary', 'full']: + # Language must use a code, so preferentially prefer to use 'mdb:ResourceLanguage' which maps to 'gmd:MD_LanguageTypeCode' in older ISO XML standard + try: + val = util.getqattr(result, queryables['mdb:ResourceLanguage']['dbcol']) + except Exception as e: + print(f"{queryables=}") + print("exc=", e) + if val is None: + val = util.getqattr(result, queryables['mdb:Language']['dbcol']) + lang_code = build_path(node,['mdb:defaultLocale', 'lan:PT_Locale', 'lan:language', 'lan:LanguageCode'], self.namespaces) + lang_code.set('codeListValue', val) + lang_code.set('codeList', 'http://www.loc.gov/standards/iso639-2/') + + # hierarchyLevel + mtype = util.getqattr(result, queryables['mdb:Type']['dbcol']) or None + + if mtype is not None: + if mtype == 'http://purl.org/dc/dcmitype/Dataset': + mtype = 'dataset' + md_scope = etree.SubElement(node, util.nspath_eval('mdb:metadataScope', self.namespaces)) + md_metascope = etree.SubElement(md_scope, util.nspath_eval('mdb:MD_MetadataScope', self.namespaces)) + res_scope = etree.SubElement(md_metascope, util.nspath_eval('mdb:resourceScope', self.namespaces)) + res_scope.append(write_codelist_element('mcc:MD_ScopeCode', mtype, self.namespaces)) + + if esn in ['summary', 'full']: + # Contact + ci_resp = build_path(node, ['mdb:contact', 'cit:CI_Responsibility'], self.namespaces) + ci_org = build_path(ci_resp, ['cit:party', 'cit:CI_Organisation'], self.namespaces) + + # If 'GetCapability' information is supplied + if caps is not None: + ci_contact = build_path(ci_resp, ['cit:contactInfo', 'cit:CI_Contact'], self.namespaces) + # Name of individual within an organisation + if hasattr(caps.provider.contact, 'name'): + path = ['cit:individual', 'cit:CI_Individual', 'cit:name', 'gco:CharacterString'] + ind_name = build_path(ci_org, path, self.namespaces) + ind_name.text = caps.provider.contact.name + # Name of organisation + if hasattr(caps.provider.contact, 'organization'): + if caps.provider.contact.organization is not None: + org_val = caps.provider.contact.organization + else: + org_val = caps.provider.name + path = ['cit:name', 'gco:CharacterString'] + org_name = build_path(ci_org, path, self.namespaces) + org_name.text = org_val + # Position of individual within organisation + if hasattr(caps.provider.contact, 'position'): + path = ['cit:party', 'cit:CI_Organisation', 'cit:positionName', 'cit:CI_Individual', 'cit:individual', 'gco:characterString'] + pos_name = build_path(ci_resp, path, self.namespaces) + pos_name.text = caps.provider.contact.position + + # Phone number and fax of individual within an organisation + if hasattr(caps.provider.contact, 'phone'): + self._write_contact_phone(ci_contact, caps.provider.contact.phone) + if hasattr(caps.provider.contact, 'fax'): + self._write_contact_fax(ci_contact, caps.provider.contact.fax) + + # Address of organisation + self._write_contact_address(ci_resp, ci_contact, **vars(caps.provider.contact)) + + # URL of organisation or individual + contact_url = None + if hasattr(caps.provider, 'url'): + contact_url = caps.provider.url + if hasattr(caps.provider.contact, 'url') and caps.provider.contact.url is not None: + contact_url = caps.provider.contact.url + if contact_url is not None: + path = ['cit:onlineResource', 'cit:CI_OnlineResource', 'cit:linkage', 'gco:characterString'] + url = build_path(ci_contact, path, self.namespaces) + url.text = contact_url + # Role + if hasattr(caps.provider.contact, 'role'): + role = build_path(ci_resp, ['cit:role', 'cit:CI_RoleCode'], self.namespaces) + role_val = caps.provider.contact.role + if role_val is None: + role_val = 'pointOfContact' + role.set("codeList", f'{CODELIST}#CI_RoleCode') + role.set("codeListValue", role_val) + else: + # If 'GetCapability' information is not supplied ... + + # Name of organisation + org_val = util.getqattr(result, queryables['mdb:OrganisationName']['dbcol']) + if org_val: + path = ['cit:name', 'gco:CharacterString'] + org_name = build_path(ci_org, path, self.namespaces) + org_name.text = org_val + + # Get address, phone etc. from contacts + cjson = util.getqattr(result,self.context.md_core_model['mappings']['pycsw:Contacts']) + if cjson not in [None, '', 'null']: + try: + for contact in json.loads(cjson): + path = ['cit:individual', 'cit:CI_Individual'] + ci_individ = build_path(ci_org, path, self.namespaces) + # Name and position of individual within organisation + if contact.get('name', None) != None: + path = ['cit:name', 'gco:CharacterString'] + name = build_path(ci_individ, path, self.namespaces) + name.text = contact.get('name') + if contact.get('position', None) != None: + path = ['cit:positionName', 'gco:CharacterString'] + position = build_path(ci_individ, path, self.namespaces) + position.text = contact.get('position') + # Contact information + ci_contact = build_path(ci_individ, ['cit:contactInfo', 'cit:CI_Contact'], self.namespaces) + if contact.get('phone', None) != None: + self._write_contact_phone(ci_contact, contact.get('phone')) + if contact.get('fax', None) != None: + self._write_contact_fax(ci_contact, contact.get('fax')) + # Organisation address + self._write_contact_address(ci_resp, ci_contact, **contact) + except Exception as err: + print(f"failed to parse contacts json of {cjson}: {err}") + + # Creation date for record + val = util.getqattr(result, queryables['mdb:Modified']['dbcol']) + date = build_path(node, ['mdb:dateInfo'], self.namespaces) + ci_date = self._write_date(val, 'creation') + date.append(ci_date) + + metadatastandardname = 'ISO 19115-1:2014' + if mtype == 'service': + metadatastandardname = 'ISO19119:2016' + + # Metadata standard name and version + path = ['mdb:metadataStandard', 'cit:CI_Citation', 'cit:title', 'gco:CharacterString'] + standard_name = build_path(node, path, self.namespaces) + standard_name.text = metadatastandardname + + # Title + title_val = util.getqattr(result, queryables['mdb:Title']['dbcol']) or '' + identification = etree.SubElement(node, util.nspath_eval('mdb:identificationInfo', self.namespaces)) + if mtype == 'service': + res_tagname = 'srv:SV_ServiceIdentification' + else: + res_tagname = 'mri:MD_DataIdentification' + resident = etree.SubElement(identification, util.nspath_eval(res_tagname, self.namespaces), id=idval) + ci_citation = build_path(resident, ['mri:citation', 'cit:CI_Citation'], self.namespaces) + title = build_path(ci_citation, ['cit:title', 'gco:CharacterString'], self.namespaces) + title.text = title_val + + # Edition + edition_val = util.getqattr(result, queryables['mdb:Edition']['dbcol']) + if edition_val is not None: + edition = build_path(ci_citation, ['cit:edition', 'gco:CharacterString'], self.namespaces) + edition.text = edition_val + + date_info = build_path(node, ['mdb:dateInfo'], self.namespaces) + # Creation date + val = util.getqattr(result, queryables['mdb:CreationDate']['dbcol']) + if val is not None: + date_info.append(self._write_date(val, 'creation')) + # Publication date + val = util.getqattr(result, queryables['mdb:PublicationDate']['dbcol']) + if val is not None: + date_info.append(self._write_date(val, 'publication')) + # Revision date + val = util.getqattr(result, queryables['mdb:RevisionDate']['dbcol']) + if val is not None: + date_info.append(self._write_date(val, 'revision')) + + if esn in ['summary', 'full']: + # Abstract + val = util.getqattr(result, queryables['mdb:Abstract']['dbcol']) or '' + abstract = build_path(resident, ['mri:abstract', 'gco:characterString'], self.namespaces) + abstract.text = val + + # Keywords + kw = util.getqattr(result, queryables['mdb:Subject']['dbcol']) + if kw is not None: + md_keywords = build_path(resident, ['mri:descriptiveKeywords'], self.namespaces) + md_keywords.append(self._write_keywords(kw)) + + # Spatial resolution + val = util.getqattr(result, queryables['mdb:Denominator']['dbcol']) + if val: + path = ['mri:spatialResolution', 'mri:MD_Resolution', 'mri:equivalentScale', + 'mri:MD_RepresentativeFraction', 'mri:denominator', 'gco:Integer'] + int_elem = build_path(resident, path, self.namespaces) + int_elem.text = str(val) + + # Topic category + val = util.getqattr(result, queryables['mdb:TopicCategory']['dbcol']) + topic_cat = build_path(resident, ['mri:topicCategory'], self.namespaces) + if val: + for v in val.split(','): + etree.SubElement(topic_cat, util.nspath_eval('mri:MD_TopicCategoryCode', self.namespaces)).text = val + + # Bbox and vertical extent + bbox = util.getqattr(result, queryables['mdb:BoundingBox']['dbcol']) + vert_ext_min = util.getqattr(result, queryables['mdb:VertExtentMin']['dbcol']) + vert_ext_max = util.getqattr(result, queryables['mdb:VertExtentMax']['dbcol']) + # Convert float to string + if vert_ext_min is not None: + vert_ext_min = f"{vert_ext_min}" + if vert_ext_max is not None: + vert_ext_max = f"{vert_ext_max}" + bboxel = self._write_extent(bbox, vert_ext_min, vert_ext_max) + if bboxel is not None and mtype != 'service': + # Add element etc. + resident.append(bboxel) + + # Service identification + if mtype == 'service': + # Service type & service type version + val = util.getqattr(result, queryables['mdb:ServiceType']['dbcol']) + val2 = util.getqattr(result, queryables['mdb:ServiceTypeVersion']['dbcol']) + if val is not None: + tmp = etree.SubElement(resident, util.nspath_eval('srv:serviceType', self.namespaces)) + etree.SubElement(tmp, util.nspath_eval('gco:LocalName', self.namespaces)).text = val + tmp = etree.SubElement(resident, util.nspath_eval('srv:serviceTypeVersion', self.namespaces)) + etree.SubElement(tmp, util.nspath_eval('gco:CharacterString', self.namespaces)).text = val2 + + # Keywords + kw = util.getqattr(result, queryables['mdb:Subject']['dbcol']) + if kw is not None: + srv_keywords = etree.SubElement(resident, util.nspath_eval('srv:descriptiveKeywords', self.namespaces)) + srv_keywords.append(self._write_keywords(kw)) + + # Extent and bounding box + if bboxel is not None: + # Change element to and append + bboxel.tag = util.nspath_eval('srv:extent', self.namespaces) + resident.append(bboxel) + + val = util.getqattr(result, queryables['mdb:CouplingType']['dbcol']) + if val is not None: + couplingtype = etree.SubElement(resident, util.nspath_eval('srv:couplingType', self.namespaces)) + etree.SubElement(couplingtype, util.nspath_eval('srv:SV_CouplingType', self.namespaces), codeListValue=val, codeList=f'{CODELIST}#SV_CouplingType').text = val + + if esn in ['summary', 'full']: + # all service resources as coupled resources + coupledresources = util.getqattr(result, queryables['mdb:OperatesOn']['dbcol']) + operations = util.getqattr(result, queryables['mdb:Operation']['dbcol']) + + if coupledresources: + for val2 in coupledresources.split(','): + coupledres = etree.SubElement(resident, util.nspath_eval('srv:coupledResource', self.namespaces)) + svcoupledres = etree.SubElement(coupledres, util.nspath_eval('srv:SV_CoupledResource', self.namespaces)) + opname = etree.SubElement(svcoupledres, util.nspath_eval('srv:coupledName', self.namespaces)) + etree.SubElement(opname, util.nspath_eval('gco:ScopedName', self.namespaces)).text = get_resource_opname(operations) + sid = etree.SubElement(svcoupledres, util.nspath_eval('srv:resourceReference', self.namespaces)) + # Unfortunately only have one field to apply + # has a + ci_citation = etree.SubElement(sid, util.nspath_eval('cit:CI_Citation', self.namespaces)) + # must have a title, insert reference + title = build_path(cit_citation, ['cit:title', 'gco:CharacterString'], self.namespaces) + title.text = val2 + # Insert reference as a identifier code + code = build_path(cit_citation, ['cit:identifer', 'mcc:MD_Identifier', 'mcc:code', 'gco:CharacterString'], self.namespaces) + code.text = val2 + + # Service operations + if operations: + for i in operations.split(','): + oper = etree.SubElement(resident, util.nspath_eval('srv:containsOperations', self.namespaces)) + sv_opermetadata = etree.SubElement(oper, util.nspath_eval('srv:SV_OperationMetadata', self.namespaces)) + + oper_name = etree.SubElement(sv_opermetadata, util.nspath_eval('srv:operationName', self.namespaces)) + etree.SubElement(oper_name, util.nspath_eval('gco:CharacterString', self.namespaces)).text = i + + dcp = etree.SubElement(sv_opermetadata, util.nspath_eval('srv:distributedComputingPlatform', self.namespaces)) + dcp_list1 = etree.SubElement(dcp, util.nspath_eval('srv:DCPList', self.namespaces)) + etree.SubElement(dcp_list1, util.nspath_eval('srv:DCPList', self.namespaces), codeList=f'{CODELIST}#DCPList', codeListValue='HTTPGet').text = 'HTTPGet' + + dcp_list2 = etree.SubElement(dcp, util.nspath_eval('srv:DCPList', self.namespaces)) + etree.SubElement(dcp_list2, util.nspath_eval('srv:DCPList', self.namespaces), codeList=f'{CODELIST}#DCPList', codeListValue='HTTPPost').text = 'HTTPPost' + + connectpoint = etree.SubElement(sv_opermetadata, util.nspath_eval('srv:connectPoint', self.namespaces)) + onlineres = etree.SubElement(connectpoint, util.nspath_eval('cit:CI_OnlineResource', self.namespaces)) + linkage = etree.SubElement(onlineres, util.nspath_eval('cit:linkage', self.namespaces)) + etree.SubElement(linkage, util.nspath_eval('gco:CharacterString', self.namespaces)).text = util.getqattr(result, self.context.md_core_model['mappings']['pycsw:Source']) + + # operates on resource(s) + if coupledresources: + for i in coupledresources.split(','): + operates_on = etree.SubElement(resident, util.nspath_eval('srv:operatesOn', self.namespaces)) + code = build_path(operates_on, ['mri:MD_DataIdentification','mri:citation','cit:CI_Citation','cit:identifier','mcc:MD_Identifier','mcc:code','gcx:Anchor'], self.namespaces) + code.text = f"{util.bind_url(self.url)}service=CSW&version=2.0.2&request=GetRecordById&outputschema={self.repository['mdb:MD_Metadata']['outputschema']}&id={idval}-{i}" + + rlinks = util.getqattr(result, self.context.md_core_model['mappings']['pycsw:Links']) + if rlinks: + distinfo = etree.SubElement(node, util.nspath_eval('mdb:distributionInfo', self.namespaces)) + distinfo2 = etree.SubElement(distinfo, util.nspath_eval('mrd:MD_Distribution', self.namespaces)) + transopts = etree.SubElement(distinfo2, util.nspath_eval('mrd:transferOptions', self.namespaces)) + dtransopts = etree.SubElement(transopts, util.nspath_eval('mrd:MD_DigitalTransferOptions', self.namespaces)) + + for link in util.jsonify_links(rlinks): + online = etree.SubElement(dtransopts, util.nspath_eval('mrd:onLine', self.namespaces)) + online2 = etree.SubElement(online, util.nspath_eval('cit:CI_OnlineResource', self.namespaces)) + + linkage = etree.SubElement(online2, util.nspath_eval('cit:linkage', self.namespaces)) + etree.SubElement(linkage, util.nspath_eval('gco:CharacterString', self.namespaces)).text = link['url'] + + protocol = etree.SubElement(online2, util.nspath_eval('cit:protocol', self.namespaces)) + etree.SubElement(protocol, util.nspath_eval('gco:CharacterString', self.namespaces)).text = link.get('protocol', 'WWW:LINK') + + name = etree.SubElement(online2, util.nspath_eval('cit:name', self.namespaces)) + etree.SubElement(name, util.nspath_eval('gco:CharacterString', self.namespaces)).text = link.get('name') + + desc = etree.SubElement(online2, util.nspath_eval('cit:description', self.namespaces)) + etree.SubElement(desc, util.nspath_eval('gco:CharacterString', self.namespaces)).text = link.get('description') + return node + + def _write_contact_phone(self, ci_contact, phone_num_str): + """ + Write out a telephone number of a contact within an organisation + + :param ci_contact: 'cit:CI_Contact' XML etree.Element + :param phone_num_str: phone number string + :returns: XML contact phone etree.Element + """ + phone = build_path(ci_contact, ['cit:phone', 'cit:CI_Telephone'], self.namespaces) + ph_number = build_path(phone, ['cit:number', 'gco:characterString'], self.namespaces) + ph_number.text = phone_num_str + ph_type = build_path(phone, ['cit:numberType', 'cit:CI_TelephoneTypeCode'], self.namespaces) + ph_type.text = "voice" + + def _write_contact_fax(self, ci_contact, fax_num_str): + """ + Write out a fax number of a contact within an organisation + + :param ci_contact: 'cit:CI_Contact' XML etree.Element + :param fax_num_str: fax number string + :returns: XML contact fax etree.Element + """ + phone = build_path(ci_contact, ['cit:phone', 'cit:CI_Telephone'], self.namespaces, reuse=False) + ph_number = build_path(phone, ['cit:number', 'gco:characterString'], self.namespaces) + ph_number.text = fax_num_str + ph_type = build_path(phone, ['cit:numberType', 'cit:CI_TelephoneTypeCode'], self.namespaces) + ph_type.text = "facsimile" + + def _write_contact_address(self, ci_resp, ci_contact, **contact): + """ + Write out an address of a contact within an organisation + + :param ci_resp: 'cit:CI_Responsibility' XML etree.Element + :param ci_contact: 'cit:CI_Contact' XML etree.Element + :param contact: dict of contact details, keys are 'address' 'city' 'region' 'postcode' 'country' 'email' + :returns: XML contact address etree.Element + """ + ci_address = build_path(ci_contact, ['cit:address', 'cit:CI_Address'], self.namespaces) + if contact.get('address', None) is not None: + delivery_point = etree.SubElement(ci_address, util.nspath_eval('cit:deliveryPoint', self.namespaces)) + etree.SubElement(delivery_point, util.nspath_eval('gco:CharacterString', self.namespaces)).text = contact['address'] + if contact.get('city', None) is not None: + city = etree.SubElement(ci_address, util.nspath_eval('cit:city', self.namespaces)) + etree.SubElement(city, util.nspath_eval('gco:CharacterString', self.namespaces)).text = contact['city'] + if contact.get('region', None) is not None: + admin_area = etree.SubElement(ci_address, util.nspath_eval('cit:administrativeArea', self.namespaces)) + etree.SubElement(admin_area, util.nspath_eval('gco:CharacterString', self.namespaces)).text = contact['region'] + if contact.get('postcode', None) is not None: + postal_code = etree.SubElement(ci_address, util.nspath_eval('cit:postalCode', self.namespaces)) + etree.SubElement(postal_code, util.nspath_eval('gco:CharacterString', self.namespaces)).text = contact['postcode'] + if contact.get('country', None) is not None: + country = etree.SubElement(ci_address, util.nspath_eval('cit:country', self.namespaces)) + etree.SubElement(country, util.nspath_eval('gco:CharacterString', self.namespaces)).text = contact['country'] + if contact.get('email', None) is not None: + email = etree.SubElement(ci_address, util.nspath_eval('cit:electronicMailAddress', self.namespaces)) + etree.SubElement(email, util.nspath_eval('gco:CharacterString', self.namespaces)).text = contact['email'] + + # URL of organisation or individual + if contact.get('url', None) is not None: + path = ['cit:onlineResource', 'cit:CI_OnlineResource', 'cit:linkage', 'gco:characterString'] + url = build_path(ci_contact, path, self.namespaces) + url.text = contact['url'] + # Role + role = build_path(ci_resp, ['cit:role', 'cit:CI_RoleCode'], self.namespaces) + role.set("codeList", f'{CODELIST}#CI_RoleCode') + role_str = 'pointOfContact' + if contact.get('role', None) is not None: + role_str = contact.get('role') + role.set("codeListValue", role_str) + + def _write_keywords(self, keywords): + """ + Generate XML mri:MD_Keywords construct + + :param keywords: keywords CSV string + :returns: XML as etree.Element + """ + md_keywords = etree.Element(util.nspath_eval('mri:MD_Keywords', self.namespaces)) + for kw in keywords.split(','): + keyword = etree.SubElement(md_keywords, util.nspath_eval('mri:keyword', self.namespaces)) + etree.SubElement(keyword, util.nspath_eval('gco:CharacterString', self.namespaces)).text = kw + return md_keywords + + def _write_extent(self, bbox, vert_ext_min, vert_ext_max): + """ + Generate XML for a bounding box in 2 dimensions + or a bounding box and vertical extent in 3 dimensions + + :param bbox: bounding box in EWKT (Extended Well Known Text) format + :param vert_ext_min: vertical extent minimum, pass in None for 2D + :param vert_extent_max: vertical extent maximum, pass in None for 2D + :returns: XML as etree.Element + """ + if bbox is not None: + try: + bbox2 = util.wkt2geom(bbox) + except: + return None + extent = etree.Element(util.nspath_eval('mri:extent', self.namespaces)) + ex_extent = etree.SubElement(extent, util.nspath_eval('gex:EX_Extent', self.namespaces)) + gbb = build_path(ex_extent, ['gex:geographicElement', 'gex:EX_GeographicBoundingBox'], self.namespaces) + west = etree.SubElement(gbb, util.nspath_eval('gex:westBoundLongitude', self.namespaces)) + east = etree.SubElement(gbb, util.nspath_eval('gex:eastBoundLongitude', self.namespaces)) + south = etree.SubElement(gbb, util.nspath_eval('gex:southBoundLatitude', self.namespaces)) + north = etree.SubElement(gbb, util.nspath_eval('gex:northBoundLatitude', self.namespaces)) + + etree.SubElement(west, util.nspath_eval('gco:Decimal', self.namespaces)).text = str(bbox2[0]) + etree.SubElement(south, util.nspath_eval('gco:Decimal', self.namespaces)).text = str(bbox2[1]) + etree.SubElement(east, util.nspath_eval('gco:Decimal', self.namespaces)).text = str(bbox2[2]) + etree.SubElement(north, util.nspath_eval('gco:Decimal', self.namespaces)).text = str(bbox2[3]) + + # If there is a vertical extent + if vert_ext_min is not None and vert_ext_max is not None: + vert_ext = build_path(ex_extent, ['gex:verticalElement', 'gex:EX_VerticalExtent'], self.namespaces) + min_val = build_path(vert_ext, ['gex:minimumValue', 'gco:Real'], self.namespaces) + min_val.text = vert_ext_min + max_val = build_path(vert_ext, ['gex:maximumValue', 'gco:Real'], self.namespaces) + max_val.text = vert_ext_max + + return extent + return None + + def _write_date(self, dateval, datetypeval): + """ + Generate XML date elements + + :param dateval: date string + :param datetypeval: date type code string + :returns: date XML etree.Element + """ + date1 = etree.Element(util.nspath_eval('cit:CI_Date', self.namespaces)) + date2 = etree.SubElement(date1, util.nspath_eval('cit:date', self.namespaces)) + if dateval.find('T') != -1: + dateel = 'gco:DateTime' + else: + dateel = 'gco:Date' + etree.SubElement(date2, util.nspath_eval(dateel, self.namespaces)).text = dateval + datetype = etree.SubElement(date1, util.nspath_eval('cit:dateType', self.namespaces)) + datetype.append(write_codelist_element('cit:CI_DateTypeCode', datetypeval, self.namespaces)) + return date1 + +# END of class + + + +def get_resource_opname(operations): + """ + Looks for resource opename in a CSV string + + :param operations: CSV string of operations + :returns: operation name + """ + for op in operations.split(','): + if op in ['GetMap', 'GetFeature', 'GetCoverage', 'GetObservation']: + return op + return None + +def write_codelist_element(codelist_element, codelist_value, nsmap): + """ + Generic routine to write codelist artributes into an element + + :param codelist_element: codelist element + :param codelist_value: codelist values + :param nsmap: namespace map, namepace str -> namespace URI + :returns: lxml.etree.Element + """ + # Get tag name without namespace + namespace, no_ns_tag = codelist_element.split(':') + element = etree.Element(util.nspath_eval(codelist_element, nsmap), + codeSpace='http://standards.iso.org/iso/19115', codeList=f'{CODELIST}#{no_ns_tag}', codeListValue=codelist_value) + element.text = codelist_value + return element + + +def build_path(node, path_list, nsmap, reuse=True): + """ + Generic routine to build an etree.Element path + Set reuse=False if you want to create duplicates + + :param node: add elements to this Element + :param path_list: list of xml tags of new path to create, list of strings + :param reuse: if False will always create new Elements along this path + :return: returns the last etree.Element in the new Element path + """ + tail = node + for elem_name in path_list: + # Does the next node in the path exist? + next_node = node.find(elem_name, namespaces=nsmap) + # If next node does not exist or reuse flag is False then create it + if next_node is None or not reuse: + tail = etree.SubElement(tail, util.nspath_eval(elem_name, nsmap)) + else: + tail = next_node + return tail diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cat/1.0/cat.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cat/1.0/cat.xsd new file mode 100644 index 000000000..0bf1b2cb4 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cat/1.0/cat.xsd @@ -0,0 +1,13 @@ + + + + catalogue is a collection of information items (CT_Items) that are managed using a registry (CT_Catalogue). The abstract concept of catalogue was defined in ISO19139 to harmonise the different ISO 19100 series catalogue concepts, such as PF_PortrayalCatalogue (ISO 19117) and FC_FeatureCatalogue (ISO 19110). + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cat/1.0/catalogues.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cat/1.0/catalogues.xsd new file mode 100644 index 000000000..e88a80263 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cat/1.0/catalogues.xsd @@ -0,0 +1,53 @@ + + + Handcrafted + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cat/1.0/codelistItem.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cat/1.0/codelistItem.xsd new file mode 100644 index 000000000..9cdaf789d --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cat/1.0/codelistItem.xsd @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cat/1.0/crsItem.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cat/1.0/crsItem.xsd new file mode 100644 index 000000000..1e08ea705 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cat/1.0/crsItem.xsd @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cat/1.0/uomItem.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cat/1.0/uomItem.xsd new file mode 100644 index 000000000..0a97cde00 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cat/1.0/uomItem.xsd @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cit/1.0/cit.sch b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cit/1.0/cit.sch new file mode 100644 index 000000000..97e17eaaa --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cit/1.0/cit.sch @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + The individual does not have a name or a position. + Une personne n'a pas de nom ou de fonction. + + Individual name is + "" + and position + "" + . + Le nom de la personne est + "" + ,sa fonction + "" + . + + + + Individual MUST have a name or a position + Une personne DOIT avoir un nom ou une fonction + + + + + + + + + + + + + + + + + + + + The organisation does not have a name or a logo. + Une organisation n'a pas de nom ou de logo. + + Organisation name is + "" + and logo filename is + "" + . + Le nom de l'organisation est + "" + , son logo + "" + . + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cit/1.0/cit.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cit/1.0/cit.xsd new file mode 100644 index 000000000..27c306104 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cit/1.0/cit.xsd @@ -0,0 +1,7 @@ + + + Namespace for XML elements <font color="#1f497d">for constructing citations to resources</font>. + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cit/1.0/citation.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cit/1.0/citation.xsd new file mode 100644 index 000000000..0a70d6d9a --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cit/1.0/citation.xsd @@ -0,0 +1,514 @@ + + + + + + + + location of the responsible individual or organisation + + + + + + + + + address line for the location (as described in ISO 11180, Annex A) + + + + + city of the location + + + + + state, province of the location + + + + + ZIP or other postal code + + + + + country of the physical address + + + + + address of the electronic mailbox of the responsible organisation or individual + + + + + + + + + + + + + + + + standardized resource reference + + + + + + + + + name by which the cited resource is known + + + + + short name or other language name by which the cited information is known. Example: DCW as an alternative title for Digital Chart of the World + + + + + reference date for the cited resource + + + + + version of the cited resource + + + + + date of the edition + + + + + value uniquely identifying an object within a namespace + + + + + name and position information for an individual or organisation that is responsible for the resource + + + + + mode in which the resource is represented + + + + + information about the series, or aggregate resource, of which the resource is a part + + + + + other information required to complete the citation that is not recorded elsewhere + + + + + international Standard Book Number + + + + + international Standard Serial Number + + + + + online reference to the cited resource + + + + + citation graphic or logo for cited party + + + + + + + + + + + + + + + + information required to enable contact with the responsible person and/or organisation + + + + + + + + + telephone numbers at which the organisation or individual may be contacted + + + + + physical and email address at which the organisation or individual may be contacted + + + + + on-line information that can be used to contact the individual or organisation + + + + + time period (including time zone) when individuals can contact the organisation or individual + + + + + supplemental instructions on how or when to contact the individual or organisation + + + + + + + + + + + + + + + + + reference date and event used to describe it + + + + + + + + + + + reference date for the cited resource + + + + + event used for reference date + + + + + + + + + + + + + + + + identification of when a given event occurred + + + + + + + + + + + information about the party if the party is an individual + + + + + + + + + position of the individual in an organisation + + + + + + + + + + + + + + + + function performed by the resource + + + + + + + + + + + information about on-line sources from which the resource, specification, or community profile name and extended metadata elements can be obtained + + + + + + + + + location (address) for on-line access using a Uniform Resource Locator/Uniform Resource Identifier address or similar addressing scheme such as http://www.statkart.no/isotc211 + + + + + connection protocol to be used e.g. http, ftp, file + + + + + name of an application profile that can be used with the online resource + + + + + name of the online resource + + + + + detailed text description of what the online resource is/does + + + + + code for function performed by the online resource + + + + + protocol used by the accessed resource + + + + + + + + + + + + + + + + information about the party if the party is an organisation + + + + + + + + + Graphic identifying organization + + + + + + + + + + + + + + + + + information about the individual and/or organisation of the party + + + + + + + + + name of the party + + + + + contact information for the party + + + + + + + + + + + + + + + + mode in which the data is represented + + + + + + + + + + + information about the party and their role + + + + + + + + + function performed by the responsible party + + + + + spatial or temporal extent of the role + + + + + + + + + + + + + + + + + function performed by the responsible party + + + + + + + + + + + information about the series, or aggregate resource, to which a resource belongs + + + + + + + + + name of the series, or aggregate resource, of which the resource is a part + + + + + information identifying the issue of the series + + + + + details on which pages of the publication the article was published + + + + + + + + + + + + + + + + telephone numbers for contacting the responsible individual or organisation + + + + + + + + + telephone number by which individuals can contact responsible organisation or individual + + + + + type of telephone responsible organisation or individual + + + + + + + + + + + + + + + + type of telephone + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cit/2.0/cit.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cit/2.0/cit.xsd new file mode 100644 index 000000000..2e8e46a8d --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cit/2.0/cit.xsd @@ -0,0 +1,10 @@ + + + + Namespace for XML elements for constructing citations to resources. + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cit/2.0/citation.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cit/2.0/citation.xsd new file mode 100644 index 000000000..8e56555a1 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cit/2.0/citation.xsd @@ -0,0 +1,523 @@ + + + + + + + + + location of the responsible individual or organisation + + + + + + + + + address line for the location (as described in ISO 11180, Annex A) + + + + + city of the location + + + + + state, province of the location + + + + + ZIP or other postal code + + + + + country of the physical address + + + + + address of the electronic mailbox of the responsible organisation or individual + + + + + + + + + + + + + + + + standardized resource reference + + + + + + + + + name by which the cited resource is known + + + + + short name or other language name by which the cited information is known. Example: DCW as an alternative title for Digital Chart of the World + + + + + reference date for the cited resource + + + + + version of the cited resource + + + + + date of the edition + + + + + value uniquely identifying an object within a namespace + + + + + name and position information for an individual or organisation that is responsible for the resource + + + + + mode in which the resource is represented + + + + + information about the series, or aggregate resource, of which the resource is a part + + + + + other information required to complete the citation that is not recorded elsewhere + + + + + international Standard Book Number + + + + + international Standard Serial Number + + + + + online reference to the cited resource + + + + + citation graphic or logo for cited party + + + + + + + + + + + + + + + + information required to enable contact with the responsible person and/or organisation + + + + + + + + + telephone numbers at which the organisation or individual may be contacted + + + + + physical and email address at which the organisation or individual may be contacted + + + + + on-line information that can be used to contact the individual or organisation + + + + + time period (including time zone) when individuals can contact the organisation or individual + + + + + supplemental instructions on how or when to contact the individual or organisation + + + + + + + + + + + + + + + + + reference date and event used to describe it + + + + + + + + + + + reference date for the cited resource + + + + + event used for reference date + + + + + + + + + + + + + + + + identification of when a given event occurred + + + + + + + + + + + information about the party if the party is an individual + + + + + + + + + position of the individual in an organisation + + + + + + + + + + + + + + + + function performed by the resource + + + + + + + + + + + information about on-line sources from which the resource, specification, or community profile name and extended metadata elements can be obtained + + + + + + + + + location (address) for on-line access using a Uniform Resource Locator/Uniform Resource Identifier address or similar addressing scheme such as http://www.statkart.no/isotc211 + + + + + connection protocol to be used e.g. http, ftp, file + + + + + name of an application profile that can be used with the online resource + + + + + name of the online resource + + + + + detailed text description of what the online resource is/does + + + + + code for function performed by the online resource + + + + + protocol used by the accessed resource + + + + + + + + + + + + + + + + information about the party if the party is an organisation + + + + + + + + + Graphic identifying organization + + + + + + + + + + + + + + + + + information about the individual and/or organisation of the party + + + + + + + + + name of the party + + + + + contact information for the party + + + + + value uniquely identifying a party (individual or organization) + + + + + + + + + + + + + + + mode in which the data is represented + + + + + + + + + + + information about the party and their role + + + + + + + + + function performed by the responsible party + + + + + spatial or temporal extent of the role + + + + + + + + + + + + + + + + + function performed by the responsible party + + + + + + + + + + + information about the series, or aggregate resource, to which a resource belongs + + + + + + + + + name of the series, or aggregate resource, of which the resource is a part + + + + + information identifying the issue of the series + + + + + details on which pages of the publication the article was published + + + + + + + + + + + + + + + + telephone numbers for contacting the responsible individual or organisation + + + + + + + + + telephone number by which individuals can contact responsible organisation or individual + + + + + type of telephone responsible organisation or individual + + + + + + + + + + + + + + + + type of telephone + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gco/1.0/baseTypes2014.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gco/1.0/baseTypes2014.xsd new file mode 100644 index 000000000..6285a307e --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gco/1.0/baseTypes2014.xsd @@ -0,0 +1,530 @@ + + + + + Geographic COmmon (GCO) extensible markup language is a component of the XML Schema Implementation of Geographic +Information Metadata documented in ISO/TS 19115-3, based on the implementation patterns defined and utilized in ISO19139. +This gcoBase.xsd schema provides: + 1. tools to handle specific objects like "code lists" and "record"; + 2. Some XML types that do not follow the general encoding rules specified in ISO19139. + *** SMR 2014-12-22. Refactor gco, gts, gsr, gss to separate gml dependencies. + All element or attribute types in this schema are either types defined by this schema, or are datatypes defined by + the XML schema namespace (http://www.w3.org/2001/XMLSchema) + To remove the dependency between gml and the base datatypes in ISO19115-3: + 1. The nilReason attribute is defined here instead of extending the gml type. + 2. The definition of MeasureType is copied here from gml 3.2 basic Types. The only + difference this will introduce in instance documents is that the uom attribute on a measure value + (or one of its substitutions) will be gco:uom, not gml:uom. + + + + + + + + + + + + + + + + + + + + + + + + + + + + copied from gml32:NilReasonType. This Type defines a content model that allows recording of an + explanation for a void value or other exception. + gml:NilReasonType is a union of the following enumerated values: + - inapplicable- there is no value + - missing- the correct value is not readily available to the sender of this data. Furthermore, a correct value may not exist + - template- the value will be available later + - unknown- the correct value is not known to, and not computable by, the sender of this data. However, a correct value probably exists + - withheld- the value is not divulged + - other:text - other brief explanation, where text is a string of two or more characters with no included spaces + and + - xs:anyURI which should refer to a resource which describes the reason for the exception + A particular community may choose to assign more detailed semantics to the standard values provided. Alternatively, the URI method enables a specific or more complete explanation for the absence of a value to be provided elsewhere and indicated by-reference in an instance document. + gml:NilReasonType is used as a member of a union in a number of simple content types where it is necessary to permit a value from the NilReasonType union as an alternative to the primary type. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A TypeName is a LocalName that references either a recordType or object type in some form of schema. The stored value "aName" is the returned value for the "aName()" operation. This is the types name. - For parsing from types (or objects) the parsible name normally uses a "." navigation separator, so that it is of the form [class].[member].[memberOfMember]. ...) + + + + + + + + + + + + + + + + + + + + + + + A MemberName is a LocalName that references either an attribute slot in a record or recordType or an attribute, operation, or association role in an object instance or type description in some form of schema. The stored value "aName" is the returned value for the "aName()" operation. + + + + + + + + + + + + + + + + + + + + + + + + Use to represent the possible cardinality of a relation. Represented by a set of simple multiplicity ranges. + + + + + + + + + + + + + + + + + + + + + + + A component of a multiplicity, consisting of an non-negative lower bound, and a potentially infinite upper bound. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Copied from gml32:MeasureType, which supports recording an amount encoded as a value of XML Schema double, together with a units of measure indicated by an attribute uom, short for "units Of measure". The value of the uom attribute identifies a reference system for the amount, usually a ratio or interval scale. Namespace changed to gco + + + + + + + + + + + + + + The simple type gml:UomIdentifer defines the syntax and value space of the unit of measure identifier. + + + + + + This type specifies a character string of length at least one, and restricted such that it must not contain any of the following characters: ":" (colon), " " (space), (newline), (carriage return), (tab). This allows values corresponding to familiar abbreviations, such as "kg", "m/s", etc. + It is recommended that the symbol be an identifier for a unit of measure as specified in the "Unified Code of Units of Measure" (UCUM) (http://aurora.regenstrief.org/UCUM). This provides a set of symbols and a grammar for constructing identifiers for units of measure that are unique, and may be easily entered with a keyboard supporting the limited character set known as 7-bit ASCII. ISO 2955 formerly provided a specification with this scope, but was withdrawn in 2001. UCUM largely follows ISO 2955 with modifications to remove ambiguities and other problems. + + + + + + + + This type specifies a URI, restricted such that it must start with one of the following sequences: "#", "./", "../", or a string of characters followed by a ":". These patterns ensure that the most common URI forms are supported, including absolute and relative URIs and URIs that are simple fragment identifiers, but prohibits certain forms of relative URI that could be mistaken for unit of measure symbol . + NOTE It is possible to re-write such a relative URI to conform to the restriction (e.g. "./m/s"). + In an instance document, on elements of type gml:MeasureType the mandatory uom attribute shall carry a value corresponding to either + - a conventional unit of measure symbol, + - a link to a definition of a unit of measure that does not have a conventional symbol, or when it is desired to indicate a precise or variant definition. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + gml:CodeType is a generalized type to be used for a term, keyword or name. It adds a XML attribute codeSpace to a term, where the value of the codeSpace attribute (if present) shall indicate a dictionary, thesaurus, classification scheme, authority, or pattern for the term. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gco/1.0/gco.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gco/1.0/gco.xsd new file mode 100644 index 000000000..7db0f2145 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gco/1.0/gco.xsd @@ -0,0 +1,16 @@ + + + + + This is the root document of the The Geographic COmmon (GCO) http://standards.iso.org/iso/19115/-3/gco/1.0 namespace, a component of the XML Schema Implementation of Geographic Information Metadata (ISO19115-1). Original implementation documented in ISO/TS 19139:2007 is refactored in this implementation for ISO19115-3 to remove dependency of base data types on GML (the only gml element used was the enumeration of nilReasons). GCO includes all the definitions of http://standards.iso.org/iso/19115/-3/gco/1.0 namespace. Elements that are extensions of GML elements are defined in the gmw namespace in ISO19115-3. + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gcx/1.0/extendedTypes.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gcx/1.0/extendedTypes.xsd new file mode 100644 index 000000000..0065598c5 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gcx/1.0/extendedTypes.xsd @@ -0,0 +1,92 @@ + + + + + This file was generated from ISO TC/211 UML class diagrams == 03-14-2005 12:00:20 ====== Handcrafted + 20130614 SMR updates: + 1. schema locations for gco and xlink. + 2. change namespace prefix from gmx to gcx, to use for ISO19115-3. + 3. change attribute group for gcx:anchor from xlink:simpleLink (old) to xlink:simpleAttrs (new). + + 20130327 - Ted changed targetNamespace and gcx namespace to http://www.isotc211.org/2005/gcx/1.0/2013-03-28 + 20130624 SMR update namespace version date + 20140729 SMR update namespace for 07-11 build. The schema generated by ShapeChange from the UML does not work for gcx namespace. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gcx/1.0/extendedTypes_autoFromShapeChange.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gcx/1.0/extendedTypes_autoFromShapeChange.xsd new file mode 100644 index 000000000..1430497b3 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gcx/1.0/extendedTypes_autoFromShapeChange.xsd @@ -0,0 +1,60 @@ + + + Handcrafted + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gcx/1.0/gcx.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gcx/1.0/gcx.xsd new file mode 100644 index 000000000..6fa5787d8 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gcx/1.0/gcx.xsd @@ -0,0 +1,8 @@ + + + Elements for xml implementation, from ISO 19139 updated for compatibility with new schema. Anchor, FileName, MimeFileType; all in substitution group for CharacterString to support Web environments. + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gex/1.0/extent.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gex/1.0/extent.xsd new file mode 100644 index 000000000..8d5bff2c0 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gex/1.0/extent.xsd @@ -0,0 +1,241 @@ + + + + + + + + + + + + enclosing geometric object which locates the resource, expressed as a set of (x,y) coordinate (s) NOTE: If a polygon is used it should be closed (last point replicates first point) + + + + + + + + + sets of points defining the bounding polygon or any other GM_Object geometry (point, line or polygon) + + + + + + + + + + + + + + + + extent of the resource + + + + + + + + + sets of points defining the bounding polygon or any other GM_Object geometry (point, line or polygon) + + + + + + + + + + + + + + + + + + + geographic position of the resource NOTE: This is only an approximate reference so specifying the coordinate reference system is unnecessary and need only be provided with a precision of up to two decimal places + + + + + + + + + western-most coordinate of the limit of the resource extent, expressed in longitude in decimal degrees (positive east) + + + + + eastern-most coordinate of the limit of the resource extent, expressed in longitude in decimal degrees (positive east) + + + + + southern-most coordinate of the limit of the resource extent, expressed in latitude in decimal degrees (positive north) + + + + + northern-most, coordinate of the limit of the resource extent expressed in latitude in decimal degrees (positive north) + + + + + + + + + + + + + + + + description of the geographic area using identifiers + + + + + + + + + identifier used to represent a geographic area e.g. a geographic identifier as described in ISO 19112 + + + + + + + + + + + + + + + + spatial area of the resource + + + + + + + + + indication of whether the geographic element encompasses an area covered by the data or an area where data is not present + + + + + + + + + + + + + + + + extent with respect to date/time and spatial boundaries + + + + + + + + + vertical extent component + + + + + + + + + + + + + + + + + time period covered by the content of the resource + + + + + + + + + period for the content of the resource + + + + + + + + + + + + + + + + vertical domain of resource + + + + + + + + + lowest vertical extent contained in the resource + + + + + highest vertical extent contained in the resource + + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gex/1.0/gex.sch b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gex/1.0/gex.sch new file mode 100644 index 000000000..55d22b432 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gex/1.0/gex.sch @@ -0,0 +1,163 @@ + + + + + + + + + + The extent does not contain a description or a geographicElement. + L'étendue ne contient aucun élement. + + The extent contains a description. + L'étendue contient une description. + + The extent contains a geographic identifier. + L'étendue contient un identifiant géographique. + + The extent contains a bounding box element. + L'étendue contient une emprise géographique. + + The extent contains a bounding polygon. + L'étendue contient un polygone englobant. + + The extent contains a vertical element. + L'étendue contient une étendue verticale. + + The extent contains a temporal element. + L'étendue contient une étendue temporelle. + + + + + Extent MUST have one description or one geographic, temporal or vertical element + Une étendue DOIT avoir une description ou un élément géographique, temporel ou vertical + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The vertical extent does not contains CRS or CRS identifier. + L'étendue verticale ne contient pas de CRS ou d'identifiant de CRS. + + The vertical extent contains CRS information. + L'étendue verticale contient les informations sur le CRS. + + + + Vertical element MUST contains a CRS or CRS identifier + Une étendue verticale DOIT contenir un CRS ou un identifiant de CRS + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gex/1.0/gex.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gex/1.0/gex.xsd new file mode 100644 index 000000000..034f42df4 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gex/1.0/gex.xsd @@ -0,0 +1,9 @@ + + + Namespace for XML elements used to specify spatial and temporal extents. + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gmw/1.0/gmlWrapperTypes2014.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gmw/1.0/gmlWrapperTypes2014.xsd new file mode 100644 index 000000000..22915b640 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gmw/1.0/gmlWrapperTypes2014.xsd @@ -0,0 +1,159 @@ + + + + + + + Geographic COmmon (GCO) extensible markup language is a component of the XML Schema Implementation of Geographic +Information Metadata documented in ISO/TS 19139:2007. GCO includes all the definitions of http://standards.iso.org/iso/19115/-3/gco/1.0" namespace. The root document of this namespace is the file gco.xsd. This basicTypes.xsd schema implements concepts from the "basic types" package of ISO/TS 19103. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gmw/1.0/gmw.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gmw/1.0/gmw.xsd new file mode 100644 index 000000000..9cb459762 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gmw/1.0/gmw.xsd @@ -0,0 +1,14 @@ + + + + + This is the root document of the The GMl Wrapper type (GMW) http://standards.iso.org/iso/19115/-3/gmw/1.0 namespace, a component of the XML Schema Implementation of Geographic Information Metadata (ISO19115-1). Original implementation documented in ISO/TS 19139:2007 is refactored in this implementation for ISO19115-3 to put type definitions that wrap GML elements in property types with optional gco:ObjectProperties and gco:nilReason attributes as originally specified in ISO19139 in the gco, gss, gsr and gts namespaces. Elements from the ISO19139 gco namespace that do not have dependencies on gml are specified in the http://standards.iso.org/iso/19115/-3/gco/1.0 namespace in the ISO19115-3 implementation + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/lan/1.0/lan.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/lan/1.0/lan.xsd new file mode 100644 index 000000000..1238f5a38 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/lan/1.0/lan.xsd @@ -0,0 +1,8 @@ + + + Namespace for XML elements used to implement cultural and linguistic adaptability, i.e. different character set and language encoding of metadata content. Originally defined in ISO 19139. + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/lan/1.0/language.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/lan/1.0/language.xsd new file mode 100644 index 000000000..9757375ae --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/lan/1.0/language.xsd @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mac/1.0/acquisitionInformationImagery.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mac/1.0/acquisitionInformationImagery.xsd new file mode 100644 index 000000000..0b0f740dd --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mac/1.0/acquisitionInformationImagery.xsd @@ -0,0 +1,622 @@ + + + + + + + + + Description: Designations for the measuring instruments and their bands, the platform carrying them, and the mission to which the data contributes +FGDC: Platform_and_Instrument_Identification, Mission_Information +shortName: PltfrmInstId + + + + + + + + + + + + + + + + + + + + + + + + + + + Description: context of activation +shortName: CntxtCode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Description: identification of a significant collection point within an operation +shortName: Event + + + + + + + + + Description: Event name or number +shortName: evtId + + + + + Description: Initiator of the event +shortName: evtTrig + + + + + Description: Meaning of the event +shortName: evtCntxt + + + + + Description: Relative time ordering of the event +shortName: evtSeq + + + + + Description: Time the event occured +shortName: evtTime + + + + + + + + + + + + + + + + + + + Description: geometric description of collection +shortName: GeoTypeCode + + + + + + + + + + + Description: Designations for the measuring instruments +FGDC: Platform_and_Instrument_Identification +shortName: PltfrmInstId + + + + + + + + + Description: complete citation of the instrument +FGDC: Instrument_Full_Name +Position: 1 +shortName: instNam +Conditional: if shortName not specified + + + + + Description: complete citation of the instrument +FGDC: Instrument_Full_Name +Position: 1 +shortName: instNam +Conditional: if shortName not specified + + + + + Description: Code describing the type of instrument +shortName: instType + + + + + Description: Textual description of the instrument +shortName: instDesc + + + + + + + + + + + + + + + + + Description: Describes the characteristics, spatial and temportal extent of the intended object to be observed +shortName: TargetId + + + + + + + + + Description: Registered code used to identify the objective +Postion: 1 +shortName: targetId + + + + + Description: priority applied to the target +Position: 3 +shortName: trgtPriority + + + + + Description: collection technique for the objective +Position: 4 +shortName: trgtType + + + + + Description: function performed by or at the objective +Position: 5 +shortName: trgtFunct + + + + + Description: extent information including the bounding box, bounding polygon, vertical and temporal extent of the objective +Position: 6 +shortName: trgtExtent + + + + + + + + + + + + + + + + + + + Description: temporal persistence of collection objective +shortName: ObjTypeCode + + + + + + + + + + + Description: Designations for the operation used to acquire the dataset +shortName: MssnId + + + + + + + + + Description: Description of the mission on which the platform observations are part and the objectives of that mission +FGDC: Mission_Description +Position: 3 +shortName: mssnDesc + + + + + Description: character string by which the mission is known +FGDC: Mission_Name +Position: 1 +shortName: pltMssnNam +NITF_ACFTA:AC_MSN_ID + + + + + Description: character string by which the mission is known +FGDC: Mission_Name +Position: 1 +shortName: pltMssnNam +NITF_ACFTA:AC_MSN_ID + + + + + Description: status of the data acquisition +FGDC: Mission_Start_Date +Position: 4 +shortName: mssnStatus + + + + + Description: status of the data acquisition +FGDC: Mission_Start_Date +Position: 4 +shortName: mssnStatus + + + + + + + Description: Platform (or platforms) used in the operation. + + + + + + + + + + + + + + + + + + + + + + + + + + Description: Designations for the planning information related to meeting requirements +shortName: PlanId + + + + + + + + + Description: manner of sampling geometry the planner expects for collection of the objective data +Postion: 2 +shortName: planType + + + + + Description: current status of the plan (pending, completed, etc.) +shortName: planStatus + + + + + Description: Identification of authority requesting target collection +Postion: 1 +shortName: planReqId + + + + + + + + + + + + + + + + + + Description: Designations for the platform used to acquire the dataset +shortName: PltfrmId + + + + + + + + + Description: complete citation of the platform +FGDC: Platform_Full_Name +Position: 3 +shortName: pltNam +Conditional: if shortName not specified + + + + + Description: Unique identification of the platform +shortName: pltId + + + + + Description: Narrative description of the platform supporting the instrument +FGDC: Platform_Description +Position: 2 +shortName: pltfrmDesc + + + + + Description: organization responsible for building, launch, or operation of the platform +FGDC: Platform_Sponsor +Position: 6 +shortName: pltfrmSpnsr + + + + + + + + + + + + + + + + + Description: identification of collection coverage +shortName: PlatformPass + + + + + + + + + Description: unique name of the pass +shortName: passId + + + + + Description: Area covered by the pass +shortName: passExt + + + + + + + + + + + + + + + + + Description: ordered list of priorities +shortName: PriCode + + + + + + + + + + + Description: range of date validity +shortName: ReqstDate + + + + + + + + + Description: preferred date and time of collection +shortName: collectDate + + + + + Description: latest date and time collection must be completed +shortName: latestDate + + + + + + + + + + + + + + + + Description: requirement to be satisfied by the planned data acquisition +shortName: Requirement + + + + + + + + + Description: identification of reference or guidance material for the requirement +shortName: reqRef + + + + + Description: unique name, or code, for the requirement +shortName: reqId + + + + + Description: origin of requirement +shortName: requestor + + + + + Description: person(s), or body(ies), to recieve results of requirement +shortName: recipient + + + + + Description: relative ordered importance, or urgency, of the requirement +shortName: reqPri + + + + + Description: required or preferred acquisition date and time +shortName: reqDate + + + + + Description: date and time after which collection is no longer valid +shortName: reqExpire + + + + + + + + + + + + + + + + + <UsedBy> +<NameSpace>ISO 19115-2 Metadata - Imagery</NameSpace> +<Class>MI_Instrument</Class> +<Package>Acquisition information - Imagery</Package> +<Attribute>type</Attribute> +<Type>MI_SensorTypeCode</Type> +<UsedBy> + + + + + + + + + + + Description: temporal relation of activation +shortName: SeqCode + + + + + + + + + + + Description: mechanism of activation +shortName: TriggerCode + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mac/1.0/mac.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mac/1.0/mac.xsd new file mode 100644 index 000000000..16ba2f199 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mac/1.0/mac.xsd @@ -0,0 +1,11 @@ + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mac/2.0/acquisitionInformationImagery.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mac/2.0/acquisitionInformationImagery.xsd new file mode 100644 index 000000000..ad0eee64d --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mac/2.0/acquisitionInformationImagery.xsd @@ -0,0 +1,590 @@ + + + + + + + + + Description: Designations for the measuring instruments and their bands, the platform carrying them, and the mission to which the data contributes FGDC: Platform_and_Instrument_Identification, Mission_Information shortName: PltfrmInstId + + + + + + + + + the specific data to which the acquisition information applies + + + + + + + + + + + + + + + + + + + + + + + Description: context of activation shortName: CntxtCode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Description: identification of a significant collection point within an operation shortName: Event + + + + + + + + + Description: Event name or number shortName: evtId + + + + + Description: Initiator of the event shortName: evtTrig + + + + + Description: Meaning of the event shortName: evtCntxt + + + + + Description: Relative time ordering of the event shortName: evtSeq + + + + + Description: Time the event occured shortName: evtTime + + + + + + + + + + + + + + + + + + + Description: geometric description of collection shortName: GeoTypeCode + + + + + + + + + + + Description: Designations for the measuring instruments FGDC: Platform_and_Instrument_Identification shortName: PltfrmInstId + + + + + + + + + Description: complete citation of the instrument FGDC: Instrument_Full_Name Position: 1 shortName: instNam Conditional: if shortName not specified + + + + + Description: complete citation of the instrument FGDC: Instrument_Full_Name Position: 1 shortName: instNam Conditional: if shortName not specified + + + + + Description: Code describing the type of instrument shortName: instType + + + + + Description: Textual description of the instrument shortName: instDesc + + + + + + type of other property description (i.e. netcdf/variable in ncml.xsd or AdditionalAttribute in ECHO) + + + + + instance of otherPropertyType that defines attributes not explicitly included in MI_Platform + + + + + + + + + + + + + + + + + + + + Sensor Description + + + + + + + + + + + + + + + + + + + + + + Description: Describes the characteristics, spatial and temportal extent of the intended object to be observed shortName: TargetId + + + + + + + + + Description: Registered code used to identify the objective Postion: 1 shortName: targetId + + + + + Description: priority applied to the target Position: 3 shortName: trgtPriority + + + + + Description: collection technique for the objective Position: 4 shortName: trgtType + + + + + Description: function performed by or at the objective Position: 5 shortName: trgtFunct + + + + + Description: extent information including the bounding box, bounding polygon, vertical and temporal extent of the objective Position: 6 shortName: trgtExtent + + + + + + + + + + + + + + + + + + + Description: temporal persistence of collection objective shortName: ObjTypeCode + + + + + + + + + + + Description: Designations for the operation used to acquire the dataset shortName: MssnId + + + + + + + + + Description: Description of the mission on which the platform observations are part and the objectives of that mission FGDC: Mission_Description Position: 3 shortName: mssnDesc + + + + + Description: character string by which the mission is known FGDC: Mission_Name Position: 1 shortName: pltMssnNam NITF_ACFTA:AC_MSN_ID + + + + + Description: character string by which the mission is known FGDC: Mission_Name Position: 1 shortName: pltMssnNam NITF_ACFTA:AC_MSN_ID + + + + + Description: status of the data acquisition FGDC: Mission_Start_Date Position: 4 shortName: mssnStatus + + + + + Description: status of the data acquisition FGDC: Mission_Start_Date Position: 4 shortName: mssnStatus + + + + + + + Description: Platform (or platforms) used in the operation. + + + + + + + + type of other property description (i.e. netcdf/variable in ncml.xsd or AdditionalAttribute in ECHO) + + + + + instance of otherPropertyType that defines attributes not explicitly included in MI_Operation + + + + + + + + + + + + + + + + + + + + + + + + Description: Designations for the planning information related to meeting requirements shortName: PlanId + + + + + + + + + Description: manner of sampling geometry the planner expects for collection of the objective data Postion: 2 shortName: planType + + + + + Description: current status of the plan (pending, completed, etc.) shortName: planStatus + + + + + Description: Identification of authority requesting target collection Postion: 1 shortName: planReqId + + + + + + + + + + + + + + + + + + Description: Designations for the platform used to acquire the dataset shortName: PltfrmId + + + + + + + + + Description: complete citation of the platform FGDC: Platform_Full_Name Position: 3 shortName: pltNam Conditional: if shortName not specified + + + + + Unique identification of the platform + + + + + Description: Narrative description of the platform supporting the instrument FGDC: Platform_Description Position: 2 shortName: pltfrmDesc + + + + + Description: organization responsible for building, launch, or operation of the platform FGDC: Platform_Sponsor Position: 6 shortName: pltfrmSpnsr + + + + + + type of other property description (i.e. netcdf/variable in ncml.xsd or AdditionalAttribute in ECHO) + + + + + instance of otherPropertyType that defines attributes not explicitly included in MI_Platform + + + + + + + + + + + + + + + + + Description: identification of collection coverage shortName: PlatformPass + + + + + + + + + Description: unique name of the pass shortName: passId + + + + + Description: Area covered by the pass shortName: passExt + + + + + + + + + + + + + + + + + Description: ordered list of priorities shortName: PriCode + + + + + + + + + + + Description: range of date validity shortName: ReqstDate + + + + + + + + + Description: preferred date and time of collection shortName: collectDate + + + + + Description: latest date and time collection must be completed shortName: latestDate + + + + + + + + + + + + + + + + Description: requirement to be satisfied by the planned data acquisition shortName: Requirement + + + + + + + + + Description: identification of reference or guidance material for the requirement shortName: reqRef + + + + + Description: unique name, or code, for the requirement shortName: reqId + + + + + Description: origin of requirement shortName: requestor + + + + + Description: person(s), or body(ies), to recieve results of requirement shortName: recipient + + + + + Description: relative ordered importance, or urgency, of the requirement shortName: reqPri + + + + + Description: required or preferred acquisition date and time shortName: reqDate + + + + + Description: date and time after which collection is no longer valid shortName: reqExpire + + + + + + + + + + + + + + + + + <UsedBy> <NameSpace>ISO 19115-2 Metadata - Imagery</NameSpace> <Class>MI_Instrument</Class> <Package>Acquisition information - Imagery</Package> <Attribute>type</Attribute> <Type>MI_SensorTypeCode</Type> <UsedBy> + + + + + + + + + + + Description: temporal relation of activation shortName: SeqCode + + + + + + + + + + + Description: mechanism of activation shortName: TriggerCode + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mac/2.0/event.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mac/2.0/event.xsd new file mode 100644 index 000000000..5eb6ffe1d --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mac/2.0/event.xsd @@ -0,0 +1,108 @@ + + + + event.xsd Version 1.0 thabermann@hdfgroup.org + Created 2017-01-18 + + + + + + + + + + + + Instrumentation EventList Description + + + + + + + + + + + + + + + + + + + + + + + + + + + Instrumentation Event Description + + + + + + + + + + + + + + + + + + + + + + + + + + + Description: NASA Revision Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mac/2.0/mac.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mac/2.0/mac.xsd new file mode 100644 index 000000000..88e233e9e --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mac/2.0/mac.xsd @@ -0,0 +1,10 @@ + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mas/1.0/applicationSchema.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mas/1.0/applicationSchema.xsd new file mode 100644 index 000000000..c674a560f --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mas/1.0/applicationSchema.xsd @@ -0,0 +1,61 @@ + + + + + + + + information about the application schema used to build the dataset + + + + + + + + + name of the application schema used + + + + + identification of the schema language used + + + + + formal language used in Application Schema + + + + + full application schema given as an ASCII file + + + + + full application schema given as a graphics file + + + + + full application schema given as a software development file + + + + + software dependent format used for the application schema software dependent file + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mas/1.0/mas.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mas/1.0/mas.xsd new file mode 100644 index 000000000..9ba0d4ce4 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mas/1.0/mas.xsd @@ -0,0 +1,9 @@ + + + Namespace for XML elements <font color="#1f497d">to specify the application schema associated with a resource</font> + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mcc/1.0/AbstractCommonClasses.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mcc/1.0/AbstractCommonClasses.xsd new file mode 100644 index 000000000..8719a3d01 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mcc/1.0/AbstractCommonClasses.xsd @@ -0,0 +1,358 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <ul> <li></li> </ul> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mcc/1.0/commonClasses.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mcc/1.0/commonClasses.xsd new file mode 100644 index 000000000..4b6bbc819 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mcc/1.0/commonClasses.xsd @@ -0,0 +1,220 @@ + + + + + + + graphic that provides an illustration of the dataset (should include a legend for the graphic, if applicable) + + + + + + + + + name of the file that contains a graphic that provides an illustration of the dataset + + + + + text description of the illustration + + + + + + restriction on access and/or use of browse graphic + + + + + link to browse graphic + + + + + + + + + + + + + + + + value uniquely identifying an object within a namespace + + + + + + + + + Citation for the code namespace and optionally the person or party responsible for maintenance of that namespace + + + + + alphanumeric value identifying an instance in the namespace e.g. EPSG::4326 + + + + + Identifier or namespace in which the code is valid + + + + + version identifier for the namespace + + + + + natural language description of the meaning of the code value E.G for codeSpace = EPSG, code = 4326: description = WGS-84" to "for codeSpace = EPSG, code = EPSG::4326: description = WGS-84 + + + + + + + + + + + + + + + + status of the resource + + + + + + + + + + + new: information about the scope of the resource + + + + + + + + + description of the scope + + + + + + + + + + + + + + + + + + class of information to which the referencing entity applies + + + + + + + + + + + description of the class of information covered by the information + + + + + + + + + instances of attribute types to which the information applies + + + + + instances of feature types to which the information applies + + + + + feature instances to which the information applies + + + + + attribute instances to which the information applies + + + + + dataset to which the information applies + + + + + class of information that does not fall into the other categories to which the information applies + + + + + + + + + + + + + + + + method used to represent geographic information in the resource + + + + + + + + + + + Uniform Resource Identifier (URI), is a compact string of characters used to identify or name a resource + + + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mcc/1.0/mcc.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mcc/1.0/mcc.xsd new file mode 100644 index 000000000..3da896841 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mcc/1.0/mcc.xsd @@ -0,0 +1,8 @@ + + + Abstract classes for linking to elements in the metadata implementation from external schema to loosely couple the external schema for smoother handling of version changes in components. Classes used by all components in ISO19115 metadata application. + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mco/1.0/constraints.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mco/1.0/constraints.xsd new file mode 100644 index 000000000..f23c5cb68 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mco/1.0/constraints.xsd @@ -0,0 +1,188 @@ + + + + + + + + name of the handling restrictions on the resource + + + + + + + + + + + restrictions on the access and use of a resource or metadata + + + + + + + + + limitation affecting the fitness for use of the resource or metadata. Example, "not to be used for navigation" + + + + + Spatial and temporal extent of the application of the constraint restrictions + + + + + graphic /symbol indicating the constraint Eg. + + + + + citation/URL for the limitation or constraint, e.g. copyright statement, license agreement, etc + + + + + information concerning the parties to whom the resource can or cannot be released and the party responsible for determining the releasibility + + + + + party responsible for the resource constraints + + + + + + + + + + + + + + + + restrictions and legal prerequisites for accessing and using the resource or metadata + + + + + + + + + access constraints applied to assure the protection of privacy or intellectual property, and any special restrictions or limitations on obtaining the resource or metadata + + + + + constraints applied to assure the protection of privacy or intellectual property, and any special restrictions or limitations or warnings on using the resource or metadata + + + + + other restrictions and legal prerequisites for accessing and using the resource or metadata + + + + + + + + + + + + + + + + state, nation or organization to which resource can be released to e.g. NATO unclassified releasable to PfP + + + + + + + + + party responsible for the Release statement + + + + + release statement + + + + + component in determining releasability + + + + + + + + + + + + + + + + limitation(s) placed upon the access or use of the data + + + + + + + + + + + handling restrictions imposed on the resource or metadata for national security or similar security concerns + + + + + + + + + name of the handling restrictions on the resource or metadata + + + + + explanation of the application of the legal constraints or other restrictions and legal prerequisites for obtaining and using the resource or metadata + + + + + name of the classification system + + + + + additional information about the restrictions on handling the resource or metadata + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mco/1.0/mco.sch b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mco/1.0/mco.sch new file mode 100644 index 000000000..26f5720c0 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mco/1.0/mco.sch @@ -0,0 +1,221 @@ + + + + + + + + + The releasabilty does not define addresse or statement. + + La possibilité de divulgation ne définit pas de + destinataire ou d'indication. + + + The releasability addressee is defined: + "". + + + Le destinataire dans le cas de possibilité de divulgation + est défini "". + + + + The releasability statement is + "". + + + L'indication concernant la possibilité de divulgation est + "". + + + + + Releasability MUST + specified an addresse or a statement + La possibilité de divulgation + DOIT définir un destinataire ou une indication + + + + + + + + + + + + + + + + + + + + + + + The legal constraint is incomplete. + + La contrainte légale est incomplète. + + + The legal constraint is complete. + + + La contrainte légale est complète. + + + + + + Legal constraint MUST + specified an access, use or other constraint or + use limitation or releasability + Une contrainte légale DOIT + définir un type de contrainte (d'accès, d'utilisation ou autre) + ou bien une limite d'utilisation ou une possibilité de divulgation + + + + + + + + + + + + + + + + + + + + + + + + + + The legal constraint does not specified other constraints + while access and use constraint is set to other restriction. + + La contrainte légale ne précise pas les autres contraintes + bien que les contraintes d'accès ou d'usage indiquent + que d'autres restrictions s'appliquent. + + + The legal constraint other constraints is + "". + + + Les autres contraintes de la contrainte légale sont + "". + + + + + + Legal constraint defining + other restrictions for access or use constraint MUST + specified other constraint. + Une contrainte légale indiquant + d'autres restrictions d'utilisation ou d'accès DOIT + préciser ces autres restrictions + + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mco/1.0/mco.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mco/1.0/mco.xsd new file mode 100644 index 000000000..52404d25c --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mco/1.0/mco.xsd @@ -0,0 +1,8 @@ + + + Namespace for XML elements <font color="#1f497d">to specify constraints on access to or usage of a resource</font> + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/md1/1.0/md1.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/md1/1.0/md1.xsd new file mode 100644 index 000000000..8ea3d60de --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/md1/1.0/md1.xsd @@ -0,0 +1,9 @@ + + + Namespace <font color="#1f497d">that identifies conformance class that allows extended types (gcx) in metadata records</font> + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/md1/1.0/metadataWExtendedType.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/md1/1.0/metadataWExtendedType.xsd new file mode 100644 index 000000000..8c0468d75 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/md1/1.0/metadataWExtendedType.xsd @@ -0,0 +1,4 @@ + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/md2/1.0/md2.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/md2/1.0/md2.xsd new file mode 100644 index 000000000..e6673e9fb --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/md2/1.0/md2.xsd @@ -0,0 +1,15 @@ + + + Namespace <font color="#1f497d">that identifies conformance class that includes user-defined metadata extensions in metadata records</font> + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/md2/1.0/metadataWithExtensions.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/md2/1.0/metadataWithExtensions.xsd new file mode 100644 index 000000000..cf955fb0a --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/md2/1.0/metadataWithExtensions.xsd @@ -0,0 +1,4 @@ + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mda/1.0/mda.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mda/1.0/mda.xsd new file mode 100644 index 000000000..b133837b0 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mda/1.0/mda.xsd @@ -0,0 +1,8 @@ + + + Namespace for XML elements <font color="#1f497d">for metadata applications describing aggregated resources with linked metadata records</font> + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mda/1.0/metadataApplication.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mda/1.0/metadataApplication.xsd new file mode 100644 index 000000000..ae523e170 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mda/1.0/metadataApplication.xsd @@ -0,0 +1,200 @@ + + + + + + + + collection of resources + + + + + + + + + + + + + + + + + + + + + identifiable collection of data + + + + + + + + + + + + + + + + + + + collection of associated resources related by their participation in a common initiative + + + + + + + + + + + + + + + + + + + collection of resource associated through inspecified means + + + + + + + + + + + + + + + + + + + collection of associated resources produced from the same sensor platform + + + + + + + + + + + + + + + + + + + collection of associated resources produced to the same production specification + + + + + + + + + + + + + + + + + + + an identifiable asset or means that fulfils a requirement + + + + + + + + + + + + + + + + + + + + + collection of associated resources produced by the same sensor + + + + + + + + + + + + + + + + + + + collection of resource related by a common heritage adhering to a common specification + + + + + + + + + + + + + + + + + + + resource is a service + + + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdb/1.0/mdb.sch b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdb/1.0/mdb.sch new file mode 100644 index 000000000..84921d174 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdb/1.0/mdb.sch @@ -0,0 +1,264 @@ + + + + + + + + + + + + + The root element must be MD_Metadata. + Modifier l'élément racine du document pour que ce + soit un élément MD_Metadata. + + Root element MD_Metadata found. + Élément racine MD_Metadata défini. + + + + Metadata document root element + Élément racine du document + + A metadata instance document conforming to + this specification SHALL have a root MD_Metadata element + defined in the http://standards.iso.org/iso/19115/-3/mdb/1.0 namespace. + Une fiche de métadonnées conforme au standard + ISO19115-1 DOIT avoir un élément racine MD_Metadata (défini dans l'espace + de nommage http://standards.iso.org/iso/19115/-3/mdb/1.0). + + + + + + + + + + + + + + + + The default locale character encoding is "UTF-8". Current value is + "". + L'encodage ne doit pas être vide. La valeur par défaut est + "UTF-8". La valeur actuelle est "". + + + The characeter encoding is ". + + L'encodage est ". + + + + + Default locale + Langue du document + + The default locale MUST be documented if + not defined by the encoding. The default value for the character + encoding is "UTF-8". + La langue doit être documentée + si non définie par l'encodage. L'encodage par défaut doit être "UTF-8". + + + + + + + + + + + + + + + + + + + + + Specify a name for the metadata scope + (required if the scope code is not "dataset", in that case + ""). + Préciser la description du domaine d'application + (car le document décrit une ressource qui n'est pas un "jeu de données", + la ressource est de type ""). + + + Scope name + "" + is defined for resource with type "". + + La description du domaine d'application + "" + est renseignée pour la ressource de type "". + + + + + Metadata scope Name + Description du domaine d'application + + If a MD_MetadataScope element is present, + the name property MUST have a value if resourceScope is not equal to "dataset" + Si un élément domaine d'application (MD_MetadataScope) + est défini, sa description (name) DOIT avoir une valeur + si ce domaine n'est pas "jeu de données" (ie. "dataset"). + + + + + + + + + + + + + + + + + + + + + Specify a creation date for the metadata record + in the metadata section. + Définir une date de création pour le document + dans la section sur les métadonnées. + + + Metadata creation date: . + + + Date de création du document : . + + + + + Metadata create date + Date de création du document + + A dateInfo property value with data type = "creation" + MUST be present in every MD_Metadata instance. + Tout document DOIT avoir une date de création + définie (en utilisant un élément dateInfo avec un type de date "creation"). + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdb/1.0/mdb.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdb/1.0/mdb.xsd new file mode 100644 index 000000000..b38a9aab7 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdb/1.0/mdb.xsd @@ -0,0 +1,14 @@ + + + Wrapper namespace to support Catalog Service implementations + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdb/1.0/metadataBase.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdb/1.0/metadataBase.xsd new file mode 100644 index 000000000..024e52e2c --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdb/1.0/metadataBase.xsd @@ -0,0 +1,98 @@ + + + + + + + + + + root entity which defines metadata about a resource or resources + + + + + + + + + + Provides information about an alternatively used localized character string for a linguistic extension + + + + + Identifier and onlineResource for a parent metadata record + + + + + + party responsible for the metadata information + + + + + Date(s) other than creation dateEG: expiry date + + + + + Citation for the standards to which the metadata conforms + + + + + + unique Identifier and onlineResource for alternative metadata + + + + + + online location where the metadata is available + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdb/2.0/mdb.sch b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdb/2.0/mdb.sch new file mode 100644 index 000000000..93e41e15c --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdb/2.0/mdb.sch @@ -0,0 +1,264 @@ + + + + + + + + + + + + + The root element must be MD_Metadata. + Modifier l'élément racine du document pour que ce + soit un élément MD_Metadata. + + Root element MD_Metadata found. + Élément racine MD_Metadata défini. + + + + Metadata document root element + Élément racine du document + + A metadata instance document conforming to + this specification SHALL have a root MD_Metadata element + defined in the http://standards.iso.org/iso/19115/-3/mdb/1.0 namespace. + Une fiche de métadonnées conforme au standard + ISO19115-1 DOIT avoir un élément racine MD_Metadata (défini dans l'espace + de nommage http://standards.iso.org/iso/19115/-3/mdb/1.0). + + + + + + + + + + + + + + + + The default locale character encoding is "UTF-8". Current value is + "". + L'encodage ne doit pas être vide. La valeur par défaut est + "UTF-8". La valeur actuelle est "". + + + The characeter encoding is ". + + L'encodage est ". + + + + + Default locale + Langue du document + + The default locale MUST be documented if + not defined by the encoding. The default value for the character + encoding is "UTF-8". + La langue doit être documentée + si non définie par l'encodage. L'encodage par défaut doit être "UTF-8". + + + + + + + + + + + + + + + + + + + + + Specify a name for the metadata scope + (required if the scope code is not "dataset", in that case + ""). + Préciser la description du domaine d'application + (car le document décrit une ressource qui n'est pas un "jeu de données", + la ressource est de type ""). + + + Scope name + "" + is defined for resource with type "". + + La description du domaine d'application + "" + est renseignée pour la ressource de type "". + + + + + Metadata scope Name + Description du domaine d'application + + If a MD_MetadataScope element is present, + the name property MUST have a value if resourceScope is not equal to "dataset" + Si un élément domaine d'application (MD_MetadataScope) + est défini, sa description (name) DOIT avoir une valeur + si ce domaine n'est pas "jeu de données" (ie. "dataset"). + + + + + + + + + + + + + + + + + + + + + Specify a creation date for the metadata record + in the metadata section. + Définir une date de création pour le document + dans la section sur les métadonnées. + + + Metadata creation date: . + + + Date de création du document : . + + + + + Metadata create date + Date de création du document + + A dateInfo property value with data type = "creation" + MUST be present in every MD_Metadata instance. + Tout document DOIT avoir une date de création + définie (en utilisant un élément dateInfo avec un type de date "creation"). + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdb/2.0/mdb.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdb/2.0/mdb.xsd new file mode 100644 index 000000000..c8a55883e --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdb/2.0/mdb.xsd @@ -0,0 +1,20 @@ + + + + Wrapper namespace to support Catalog Service implementations + + + + + + + + + + + \ No newline at end of file diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdb/2.0/metadataBase.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdb/2.0/metadataBase.xsd new file mode 100644 index 000000000..b934b5b88 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdb/2.0/metadataBase.xsd @@ -0,0 +1,102 @@ + + + + + + + + + + + root entity which defines metadata about a resource or resources + + + + + + + + + + Provides information about an alternatively used localized character string for a linguistic extension + + + + + Identifier and onlineResource for a parent metadata record + + + + + + party responsible for the metadata information + + + + + Date(s) other than creation dateEG: expiry date + + + + + Citation for the standards to which the metadata conforms + + + + + + unique Identifier and onlineResource for alternative metadata + + + + + + online location where the metadata is available + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mds/1.0/mds.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mds/1.0/mds.xsd new file mode 100644 index 000000000..f0e2d4066 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mds/1.0/mds.xsd @@ -0,0 +1,22 @@ + + + Namespace <font color="#1f497d">that imports all necessary namespaces to implement a complete metadata record for a dataset or service, not including extended data types or user-defined extensions. </font>Wrapper namespace to support Catalog Service implementations. + + + + + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mds/1.0/metadataDataServices.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mds/1.0/metadataDataServices.xsd new file mode 100644 index 000000000..e4de87d8d --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mds/1.0/metadataDataServices.xsd @@ -0,0 +1,4 @@ + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdt/1.0/mdt.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdt/1.0/mdt.xsd new file mode 100644 index 000000000..25f2c47e3 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdt/1.0/mdt.xsd @@ -0,0 +1,13 @@ + + + + Namespace for XML elements <font color="#1f497d">required to implement data transfer packages with bundled metadata, data files, and registries defining package content</font>. + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdt/1.0/metadataTransfer.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdt/1.0/metadataTransfer.xsd new file mode 100644 index 000000000..2990701f0 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdt/1.0/metadataTransfer.xsd @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mex/1.0/metadataExtension.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mex/1.0/metadataExtension.xsd new file mode 100644 index 000000000..76cbb910c --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mex/1.0/metadataExtension.xsd @@ -0,0 +1,156 @@ + + + Method used to represent geographic information in the dataset + + + + + + + + datatype of element or entity + + + + + + + + + + + new metadata element, not found in ISO 19115, which is required to describe geographic data + + + + + + + + + name of the extended metadata element + + + + + definition of the extended element + + + + + obligation of the extended element + + + + + condition under which the extended element is mandatory + + + + + code which identifies the kind of value provided in the extended element + + + + + maximum occurrence of the extended element + + + + + valid values that can be assigned to the extended element + + + + + name of the metadata entity(s) under which this extended metadata element may appear. The name(s) may be standard metadata element(s) or other extended metadata element(s) + + + + + specifies how the extended element relates to other existing elements and entities + + + + + reason for creating the extended element + + + + + name of the person or organisation creating the extended element + + + + + + + + + + + + + + + + + + information describing metadata extensions + + + + + + + + + information about on-line sources containing the community profile name and the extended metadata elements. Information for all new metadata elements + + + + + + + + + + + + + + + + + obligation of the element or entity + + + + + obligation of the element or entity + + + + + element is always required + + + + + element is not required + + + + + element is required when a specific condition is met + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mex/1.0/mex.sch b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mex/1.0/mex.sch new file mode 100644 index 000000000..26a5b478f --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mex/1.0/mex.sch @@ -0,0 +1,314 @@ + + + + + + + + + + + + + + + Extended element information "" + of type "" + does not specified max occurence. + + L'élément d'extension "" + de type "" + ne précise pas le nombre d'occurences maximum. + + + Extended element information "" + of type "" + has max occurence: "". + + + L'élément d'extension "" + de type "" + a pour nombre d'occurences maximum : "". + + + + + + Extended element information "" + of type "" + does not specified domain value. + + L'élément d'extension "" + de type "" + ne précise pas la valeur du domaine. + + + Extended element information "" + of type "" + has domain value: "". + + + L'élément d'extension "" + de type "" + a pour valeur du domaine : "". + + + + + Extended element information + which are not codelist, enumeration or codelistElement + MUST specified max occurence and domain value + Un élément d'extension qui n'est + ni une codelist, ni une énumération, ni un élément de codelist + DOIT préciser le nombre maximum d'occurences + ainsi que la valeur du domaine + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The conditional extended element "" + does not specified the condition. + + L'élément d'extension conditionnel "" + ne précise pas les termes de la condition. + + + The conditional extended element "" + has for condition: "". + + + L'élément d'extension conditionnel "" + a pour condition : "". + + + + + + Extended element information + which are conditional MUST explained the condition + Un élément d'extension conditionnel + DOIT préciser les termes de la condition + + + + + + + + + + + + + + + + + + + + + + + + The extended element "" + of type "" + does not specified a code. + + L'élément d'extension "" + de type "" + ne précise pas de code. + + + The extended element "" + of type "" + has for code: "". + + + L'élément d'extension "" + de type "" + a pour code : "". + + + + + + + + The extended element "" + of type "" + does not specified a concept name. + + L'élément d'extension "" + de type "" + ne précise pas de nom de concept. + + + The extended element "" + of type "" + has for concept name: "". + + + L'élément d'extension "" + de type "" + a pour nom de concept : "". + + + + + + Extended element information + which are codelist, enumeration or codelistElement + MUST specified a code and a concept name + Un élément d'extension qui est + une codelist, une énumération, un élément de codelist + DOIT préciser un code et un nom de concept + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mex/1.0/mex.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mex/1.0/mex.xsd new file mode 100644 index 000000000..6ae711879 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mex/1.0/mex.xsd @@ -0,0 +1,8 @@ + + + Namespace for XML elements <font color="#1f497d">used to document user-defined metadata extensions</font>. + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mmi/1.0/maintenance.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mmi/1.0/maintenance.xsd new file mode 100644 index 000000000..8aa74c00e --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mmi/1.0/maintenance.xsd @@ -0,0 +1,76 @@ + + + Status of the dataset or progress of a review + + + + + + + + + frequency with which modifications and deletions are made to the data after it is first produced + + + + + + + + + + + information about the scope and frequency of updating + + + + + + + + + frequency with which changes and additions are made to the resource after the initial resource is completed + + + + + date information associated with maintenance of resource + + + + + maintenance period other than those defined + + + + + information about the scope and extent of maintenance + + + + + information regarding specific requirements for maintaining the resource + + + + + identification of, and means of communicating with, person(s) and organisation(s) with responsibility for maintaining the metadata + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mmi/1.0/mmi.sch b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mmi/1.0/mmi.sch new file mode 100644 index 000000000..cebf4807a --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mmi/1.0/mmi.sch @@ -0,0 +1,80 @@ + + + + + + + + + + The maintenance information does not define update frequency. + + L'information sur la maintenance ne définit pas de fréquence de mise à jour. + + + The update frequency is "". + + + La fréquence de mise à jour est "". + + + + The user defined update frequency is + "". + + + La fréquence de mise à jour définie par l'utilisateur est + "". + + + + + Maintenance information MUST + specified an update frequency + L'information sur la maintenance + DOIT définir une fréquence de mise à jour + + + + + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mmi/1.0/mmi.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mmi/1.0/mmi.xsd new file mode 100644 index 000000000..3bd492f95 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mmi/1.0/mmi.xsd @@ -0,0 +1,8 @@ + + + Namespace for XML elements <font color="#1f497d">used to document the maintenance history and scheduling for a resource</font>. + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mpc/1.0/mpc.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mpc/1.0/mpc.xsd new file mode 100644 index 000000000..3d108f0ed --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mpc/1.0/mpc.xsd @@ -0,0 +1,8 @@ + + + Namespace for XML elements <font color="#1f497d">used to document a portrayal catalogue associated with a resource that specifies how to visualize the resource content.</font> + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mpc/1.0/portrayalCatalogue.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mpc/1.0/portrayalCatalogue.xsd new file mode 100644 index 000000000..3983c156f --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mpc/1.0/portrayalCatalogue.xsd @@ -0,0 +1,31 @@ + + + + + + + + information identifying the portrayal catalogue used + + + + + + + + + bibliographic reference to the portrayal catalogue cited + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrc/1.0/content.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrc/1.0/content.xsd new file mode 100644 index 000000000..7b8c049a3 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrc/1.0/content.xsd @@ -0,0 +1,416 @@ + + + + + + + + + + + + + + + + type of information represented by the value + + + + + + + + + + + + + + + + + range of wavelengths in the electromagnetic spectrum + + + + + + + + + + + + wavelength at which the response is the highest + + + + + number of discrete numerical values in the grid data + + + + + + + + + + + + + + + + description of the content of a resource. + +Note in 19115-3 implementation, this class is implemented by abstract class _ContentInformation in the Abstract Common Classes package + + + + + + + + + + + + + + + + + + + specific type of information represented in the cell + + + + + + + + + + + details about the content of a resource + + + + + + + + + description of the attribute described by the measurement value + + + + + Code and codespace that identifies the level of processing that has been applied to the resource + + + + + + + + + + + + + + + + + a catalogue of feature types + + + + + + + + + the catalogue of feature types, attribution, operations, and relationships used by the resource + + + + + + + + + + + + + + + + information identifying the feature catalogue or the conceptual schema + + + + + + + + + indication of whether or not the cited feature catalogue complies with ISO 19110 + + + + + language(s) used within the catalogue + + + + + indication of whether or not the feature catalogue is included with the resource + + + + + subset of feature types from cited feature catalogue occurring in dataset + + + + + complete bibliographic reference to one or more external feature catalogues + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + information about an image's suitability for use + + + + + + + + + illumination elevation measured in degrees clockwise from the target plane at intersection of the optical line of sight with the Earth's surface. For images from a scanning device, refer to the centre pixel of the image + + + + + illumination azimuth measured in degrees clockwise from true north at the time the image is taken. For images from a scanning device, refer to the centre pixel of the image + + + + + conditions affected the image + + + + + code in producers code space that specifies the image quality + + + + + area of the dataset obscured by clouds, expressed as a percentage of the spatial extent + + + + + count of the number of lossy compression cycles performed on the image + + + + + indication of whether or not triangulation has been performed upon the image + + + + + indication of whether or not the radiometric calibration information for generating the radiometrically calibrated standard data product is available + + + + + indication of whether or not constants are available which allow for camera calibration corrections + + + + + indication of whether or not Calibration Reseau information is available + + + + + indication of whether or not lens aberration correction information is available + + + + + + + + + + + + + + + + code which indicates conditions which may affect the image + + + + + + + + + + + information on the range of attribute values + + + + + + + + + number that uniquely identifies instances of bands of wavelengths on which a sensor operates + + + + + description of the range of a cell measurement value + + + + + identifiers for each attribute included in the resource. These identifiers can be used to provide names for the resource's attribute from a standard set of names + + + + + + + + + + + + + + + + the characteristics of each dimension (layer) included in the resource + + + + + + + + + maximum value of data values in each dimension included in the resource. Restricted to UomLength in the MD_Band class. + + + + + minimum value of data values in each dimension included in the resource. Restricted to UomLength in the MD_Band class. + + + + + units of data in each dimension included in the resource. Note that the type of this is UnitOfMeasure and that it is restricted to UomLength in the MD_Band class. + + + + + scale factor which has been applied to the cell value + + + + + the physical value corresponding to a cell value of zero + + + + + mean value of data values in each dimension included in the resource + + + + + this gives the number of values used in a thematicClassification resource EX:. the number of classes in a Land Cover Type coverage or the number of cells with data in other types of coverages + + + + + standard deviation of data values in each dimension included in the resource + + + + + type of other attribute description (i.e. netcdf/variable in ncml.xsd) + + + + + instance of otherAttributeType that defines attributes not explicitly included in MD_CoverageType + + + + + maximum number of significant bits in the uncompressed representation for the value in each band of each pixel + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrc/1.0/contentInformationImagery.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrc/1.0/contentInformationImagery.xsd new file mode 100644 index 000000000..9432f71bc --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrc/1.0/contentInformationImagery.xsd @@ -0,0 +1,185 @@ + + + Name: Content +Position: 5 + + + + + + + + Description: extensions to electromagnetic spectrum wavelength description +shortName: BandExt + + + + + + + + + Description: Designation of criterion for defining maximum and minimum wavelengths for a spectral band +FGDC: Band_Boundry_Definition +Position: 1 +shortName: bBndDef + + + + + Description: Smallest distance between which separate points can be distinguished, as specified in instrument design +FGDC: Nominal_Spatial_Resolution +Position: 4 +shortName: bndRes + + + + + Description: transform function to be used when scaling a physical value for a given element +shortName: scalXfrFunc + + + + + Description: polarisation of the transmitter or detector +shortName: polarisation + + + + + Description: polarisation of the transmitter or detector +shortName: polarisation + + + + + + + + + + + + + + + + Description: Designation of criterion for defining maximum and minimum wavelengths for a spectral band +FGDC: Band_Boundry_Definition +shortName: BndDef + + + + + + + + + + + Description: information about the content of a coverage, including the description of specific range elements +shortName: CCovDesc + + + + + + + + + + + + + + + + + + + + + Description: information about the content of an image, including the description of specific range elements +shortName: ICovDesc + + + + + + + + + + + + + + + + + + + + + Description: polarisation of the antenna relative to the waveform +shortName: PolarOrienCode + + + + + + + + + + + Description: description of specific range elements +shortName: RgEltDesc + + + + + + + + + Description: designation associated with a set of range elements +shortName: rgEltName + + + + + Description: description of a set of specific range elements +shortName: rgEltDef + + + + + Description: specific range elements, i.e. range elements associated with a name and definition defining their meaning +shortName: rgElt + + + + + + + + + + + + + + + + Description: transform function to be used when scaling a physical value for a given element +shortName: XfrFuncTypeCode + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrc/1.0/mrc.sch b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrc/1.0/mrc.sch new file mode 100644 index 000000000..198bc9503 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrc/1.0/mrc.sch @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + The sample dimension does not provide max, min or mean value. + La dimension ne précise pas de valeur maximum ou minimum ni de moyenne. + + + The sample dimension max value is + "". + + + La valeur maximum de la dimension de l'échantillon est + "". + + + + The sample dimension min value is + "". + + + La valeur minimum de la dimension de l'échantillon est + "". + + + + The sample dimension mean value is + "". + + + La valeur moyenne de la dimension de l'échantillon est + "". + + + + + Sample dimension MUST provide a max, + a min or a mean value + La dimension de l'échantillon DOIT préciser + une valeur maximum, une valeur minimum ou une moyenne + + + + + + + + + + + + + + + + + + + + + + + The band defined a bound without unit. + La bande définit une borne minimum et/ou maximum + sans préciser d'unité. + + + The band bound [-] unit is + "". + + + L'unité de la borne [-] est + "". + + + + + Band MUST specified bounds units + when a bound max or bound min is defined + Une bande DOIT préciser l'unité + lorsqu'une borne maximum ou minimum est définie + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrc/1.0/mrc.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrc/1.0/mrc.xsd new file mode 100644 index 000000000..c74e4ad25 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrc/1.0/mrc.xsd @@ -0,0 +1,11 @@ + + + Namespace for XML elements <font color="#1f497d">used to document schema and amount of content in a structured resource.</font> + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrc/2.0/content.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrc/2.0/content.xsd new file mode 100644 index 000000000..831b35c60 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrc/2.0/content.xsd @@ -0,0 +1,419 @@ + + + + + + + + + + + + + + + + + type of information represented by the value + + + + + + + + + + + + + + + + + range of wavelengths in the electromagnetic spectrum + + + + + + + + + + + + wavelength at which the response is the highest + + + + + number of discrete numerical values in the grid data + + + + + + + + + + + + + + + + description of the content of a resource. + +Note in 19115-3 implementation, this class is implemented by abstract class _ContentInformation in the Abstract Common Classes package + + + + + + + + + + + + + + + + + + + specific type of information represented in the cell + + + + + + + + + + + details about the content of a resource + + + + + + + + + description of the attribute described by the measurement value + + + + + Code and codespace that identifies the level of processing that has been applied to the resource + + + + + + + + + + + + + + + + + a catalogue of feature types + + + + + + + + + the catalogue of feature types, attribution, operations, and relationships used by the resource + + + + + + + + + + + + + + + + information identifying the feature catalogue or the conceptual schema + + + + + + + + + indication of whether or not the cited feature catalogue complies with ISO 19110 + + + + + language(s) used within the catalogue + + + + + indication of whether or not the feature catalogue is included with the resource + + + + + subset of feature types from cited feature catalogue occurring in dataset + + + + + complete bibliographic reference to one or more external feature catalogues + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + information about an image's suitability for use + + + + + + + + + illumination elevation measured in degrees clockwise from the target plane at intersection of the optical line of sight with the Earth's surface. For images from a scanning device, refer to the centre pixel of the image + + + + + illumination azimuth measured in degrees clockwise from true north at the time the image is taken. For images from a scanning device, refer to the centre pixel of the image + + + + + conditions affected the image + + + + + code in producers code space that specifies the image quality + + + + + area of the dataset obscured by clouds, expressed as a percentage of the spatial extent + + + + + count of the number of lossy compression cycles performed on the image + + + + + indication of whether or not triangulation has been performed upon the image + + + + + indication of whether or not the radiometric calibration information for generating the radiometrically calibrated standard data product is available + + + + + indication of whether or not constants are available which allow for camera calibration corrections + + + + + indication of whether or not Calibration Reseau information is available + + + + + indication of whether or not lens aberration correction information is available + + + + + + + + + + + + + + + + code which indicates conditions which may affect the image + + + + + + + + + + + information on the range of attribute values + + + + + + + + + number that uniquely identifies instances of bands of wavelengths on which a sensor operates + + + + + description of the range of a cell measurement value + + + + + identifiers for each attribute included in the resource. These identifiers can be used to provide names for the resource's attribute from a standard set of names + + + + + + + + + + + + + + + + the characteristics of each dimension (layer) included in the resource + + + + + + + + + maximum value of data values in each dimension included in the resource. Restricted to UomLength in the MD_Band class. + + + + + minimum value of data values in each dimension included in the resource. Restricted to UomLength in the MD_Band class. + + + + + units of data in each dimension included in the resource. Note that the type of this is UnitOfMeasure and that it is restricted to UomLength in the MD_Band class. + + + + + scale factor which has been applied to the cell value + + + + + the physical value corresponding to a cell value of zero + + + + + mean value of data values in each dimension included in the resource + + + + + this gives the number of values used in a thematicClassification resource EX:. the number of classes in a Land Cover Type coverage or the number of cells with data in other types of coverages + + + + + standard deviation of data values in each dimension included in the resource + + + + + type of other attribute description (i.e. netcdf/variable in ncml.xsd) + + + + + instance of otherAttributeType that defines attributes not explicitly included in MD_CoverageType + + + + + maximum number of significant bits in the uncompressed representation for the value in each band of each pixel + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrc/2.0/contentInformationImagery.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrc/2.0/contentInformationImagery.xsd new file mode 100644 index 000000000..9af6d0062 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrc/2.0/contentInformationImagery.xsd @@ -0,0 +1,171 @@ + + + + + + + + + + Description: extensions to electromagnetic spectrum wavelength description shortName: BandExt + + + + + + + + + Description: Designation of criterion for defining maximum and minimum wavelengths for a spectral band FGDC: Band_Boundry_Definition Position: 1 shortName: bBndDef + + + + + Description: Smallest distance between which separate points can be distinguished, as specified in instrument design FGDC: Nominal_Spatial_Resolution Position: 4 shortName: bndRes + + + + + Description: transform function to be used when scaling a physical value for a given element shortName: scalXfrFunc + + + + + Description: polarisation of the transmitter or detector shortName: polarisation + + + + + Description: polarisation of the transmitter or detector shortName: polarisation + + + + + Description: polarisation of the transmitter or detector shortName: polarisation + + + + + + + + + + + + + + + + Description: Designation of criterion for defining maximum and minimum wavelengths for a spectral band FGDC: Band_Boundry_Definition shortName: BndDef + + + + + + + + + + + Description: information about the content of a coverage, including the description of specific range elements shortName: CCovDesc + + + + + + + + + + + + + + + + + + + + + Description: information about the content of an image, including the description of specific range elements shortName: ICovDesc + + + + + + + + + + + + + + + + + + + + + Description: polarisation of the antenna relative to the waveform shortName: PolarOrienCode + + + + + + + + + + + Description: description of specific range elements shortName: RgEltDesc + + + + + + + + + Description: designation associated with a set of range elements shortName: rgEltName + + + + + Description: description of a set of specific range elements shortName: rgEltDef + + + + + Description: specific range elements, i.e. range elements associated with a name and definition defining their meaning shortName: rgElt + + + + + + + + + + + + + + + + Description: transform function to be used when scaling a physical value for a given element shortName: XfrFuncTypeCode + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrc/2.0/mrc.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrc/2.0/mrc.xsd new file mode 100644 index 000000000..c50b59d17 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrc/2.0/mrc.xsd @@ -0,0 +1,11 @@ + + + Namespace for XML elements <font color="#1f497d">used to document schema and amount of content in a structured resource.</font> + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrd/1.0/distribution.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrd/1.0/distribution.xsd new file mode 100644 index 000000000..ddcf45b68 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrd/1.0/distribution.xsd @@ -0,0 +1,267 @@ + + + + + + + + + + technical means and media by which a resource is obtained from the distributor + + + + + + + + + tiles, layers, geographic areas, etc., in which data is available NOTE: unitsOfDistribution applies to both onLine and offLine distributions + + + + + estimated size of a unit in the specified transfer format, expressed in megabytes. The transfer size is > 0.0 + + + + + information about online sources from which the resource can be obtained + + + + + information about offline media on which the resource can be obtained + + + + + rate of occurrence of distribution + + + + + format of distribution + + + + + + + + + + + + + + + + information about the distributor of and options for obtaining the resource + + + + + + + + + + + + + + + + + + + + + + + + information about the distributor + + + + + + + + + party from whom the resource may be obtained. This list need not be exhaustive + + + + + + + + + + + + + + + + + + + description of the computer language construct that specifies the representation of data objects in a record, file, message, storage device or transmission channel + + + + + + + + + citation/URL of the specification for the format + + + + + amendment number of the format version + + + + + recommendations of algorithms or processes that can be applied to read or expand resources to which compression techniques have been applied + + + + + medium used by the format + + + + + + + + + + + + + + + + + information about the media on which the resource can be distributed + + + + + + + + + name of the medium on which the resource can be received + + + + + density at which the data is recorded + + + + + units of measure for the recording density + + + + + number of items in the media identified + + + + + method used to write to the medium + + + + + description of other limitations or requirements for using the medium + + + + + + + + + + + + + + + + + method used to write to the medium + + + + + + + + + + + common ways in which the resource may be obtained or received, and related instructions and fee information + + + + + + + + + fees and terms for retrieving the resource. Include monetary units (as specified in ISO 4217) + + + + + date and time when the resource will be available + + + + + general instructions, terms and services provided by the distributor + + + + + typical turnaround time for the filling of an order + + + + + description of the order options record + + + + + request/purchase choices + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrd/1.0/mrd.sch b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrd/1.0/mrd.sch new file mode 100644 index 000000000..af6af8e67 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrd/1.0/mrd.sch @@ -0,0 +1,55 @@ + + + + + + + + The medium define a density without unit. + La densité du média est définie sans unité. + + + Medium density is "" (unit: + ""). + + + La densité du média est "" (unité : + ""). + + + + + Medium having density MUST specified density units + Un média précisant une densité DOIT préciser l'unité + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrd/1.0/mrd.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrd/1.0/mrd.xsd new file mode 100644 index 000000000..06ee7fe2a --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrd/1.0/mrd.xsd @@ -0,0 +1,8 @@ + + + Namespace for XML elements <font color="#1f497d">used to specify how various representations(distributions) of a resource can be obtained</font>. + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mri/1.0/identification.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mri/1.0/identification.xsd new file mode 100644 index 000000000..b9d42e46f --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mri/1.0/identification.xsd @@ -0,0 +1,517 @@ + + + + + + + + + + justification for the correlation of two resources + + + + + + + + + + + type of aggregation activity in which resources are related + + + + + + + + + + + associated resource information NOTE: An associated resource is a dataset composed of a collection of datasets + + + + + + + + + citation information about the associated resource + + + + + type of relation between the resources + + + + + type of initiative under which the associated resource was produced NOTE: the activity that resulted in the associated resource + + + + + reference to the metadata of the associated resource + + + + + + + + + + + + + + + + information required to identify a resource + + + + + + + + + + + description of the resource in the producer's processing environment, including items such as the software, the computer operating system, file name, and the dataset size + + + + + any other descriptive information about the resource + + + + + + + + + + + + + + + + basic information required to uniquely identify a resource or resources + + + + + + + + + citation for the resource(s) + + + + + brief narrative summary of the content of the resource(s) + + + + + summary of the intentions with which the resource(s) was developed + + + + + recognition of those who contributed to the resource(s) + + + + + status of the resource(s) + + + + + identification of, and means of communication with, person(s) and organisation(s) associated with the resource(s) + + + + + method used to spatially represent geographic information + + + + + factor which provides a general understanding of the density of spatial data in the resource + + + + + resolution of the resource with respect to time + + + + + main theme(s) of the resource + + + + + spatial and temporal extent of the resource + + + + + other documentation associated with the resource + + + + + code that identifies the level of processing in the producers coding system of a resource eg. NOAA level 1B + + + + + + + + + + + + + + + + + + + + + + + specification of a class to categorize keywords in a domain-specific vocabulary that has a binding to a formal ontology + + + + + + + + + character string to label the keyword category in natural language + + + + + URI of concept in ontology specified by the ontology attribute; this concept is labeled by the className: CharacterString. + + + + + a reference that binds the keyword class to a formal conceptualization of a knowledge domain for use in semantic processingNOTE: Keywords in the associated MD_Keywords keyword list must be within the scope of this ontology + + + + + + + + + + + + + + + + methods used to group similar keywords + + + + + + + + + + + keywords, their type and reference source NOTE: When the resource described is a service, one instance of MD_Keyword shall refer to the service taxonomy defined in ISO 19119, 8.3) + + + + + + + + + commonly used word(s) or formalised word(s) or phrase(s) used to describe the subject + + + + + subject matter used to group similar keywords + + + + + name of the formally registered thesaurus or a similar authoritative source of keywords + + + + + + + + + + + + + + + + + derived from ISO 19103 Scale where MD_RepresentativeFraction.denominator = 1 / Scale.measure And Scale.targetUnits = Scale.sourceUnits + + + + + + + + + the number below the line in a vulgar fraction + + + + + + + + + + + + + + + + level of detail expressed as a scale factor, a distance or an angle + + + + + + + + + level of detail expressed as the scale of a comparable hardcopy map or chart + + + + + horizontal ground sample distance + + + + + Vertical sampling distance + + + + + Angular sampling measure + + + + + brief textual description of the spatial resolution of the resource + + + + + + + + + + + + + + + + high-level geographic data thematic classification to assist in the grouping and search of available geographic data sets. Can be used to group keywords as well. Listed examples are not exhaustive. NOTE: It is understood there are overlaps between general categories and the user is encouraged to select the one most appropriate. + + + + + high-level geographic data thematic classification to assist in the grouping and search of available geographic data sets. Can be used to group keywords as well. Listed examples are not exhaustive. NOTE: It is understood there are overlaps between general categories and the user is encouraged to select the one most appropriate. + + + + + rearing of animals and/or cultivation of plantsExamples: agriculture, irrigation, aquaculture, plantations, herding, pests and diseases affecting crops and livestock + + + + + flora and/or fauna in natural environment Examples: wildlife, vegetation, biological sciences, ecology, wilderness, sealife, wetlands, habitat + + + + + legal land descriptions Examples: political and administrative boundaries + + + + + processes and phenomena of the atmosphere Examples: cloud cover, weather, climate, atmospheric conditions, climate change, precipitation + + + + + economic activities, conditions and employment Examples: production, labour, revenue, commerce, industry, tourism and ecotourism, forestry, fisheries, commercial or subsistence hunting, exploration and exploitation of resources such as minerals, oil and gas + + + + + height above or below a vertical datumExamples: altitude, bathymetry, digital elevation models, slope, derived products + + + + + environmental resources, protection and conservation Examples: environmental pollution, waste storage and treatment, environmental impact assessment, monitoring environmental risk, nature reserves, landscape + + + + + information pertaining to earth sciences Examples: geophysical features and processes, geology, minerals, sciences dealing with the composition, structure and origin of the earth's rocks, risks of earthquakes, volcanic activity, landslides, gravity information, soils, permafrost, hydrogeology, erosion + + + + + health, health services, human ecology, and safety Examples: disease and illness, factors affecting health, hygiene, substance abuse, mental and physical health, health services + + + + + base maps Examples: land cover, topographic maps, imagery, unclassified images, annotations + + + + + military bases, structures, activities Examples: barracks, training grounds, military transportation, information collection + + + + + inland water features, drainage systems and their characteristics Examples: rivers and glaciers, salt lakes, water utilization plans, dams, currents, floods, water quality, hydrographic charts + + + + + positional information and services Examples: addresses, geodetic networks, control points, postal zones and services, place names + + + + + features and characteristics of salt water bodies (excluding inland waters) Examples: tides, tidal waves, coastal information, reefs + + + + + information used for appropriate actions for future use of the land Examples: land use maps, zoning maps, cadastral surveys, land ownership + + + + + characteristics of society and cultures Examples: settlements, anthropology, archaeology, education, traditional beliefs, manners and customs, demographic data, recreational areas and activities, social impact assessments, crime and justice, census information + + + + + man-made construction Examples: buildings, museums, churches, factories, housing, monuments, shops, towers + + + + + means and aids for conveying persons and/or goods Examples: roads, airports/airstrips, shipping routes, tunnels, nautical charts, vehicle or vessel location, aeronautical charts, railways + + + + + energy, water and waste systems and communications infrastructure and servicesExamples: hydroelectricity, geothermal, solar and nuclear sources of energy, water purification and distribution, sewage collection and disposal, electricity and gas distribution, data communication, telecommunication, radio, communication networks + + + + + region more than 100 km above the surface of the Earth + + + + + + + + + + + + + + brief description of ways in which the resource(s) is/are currently or has been used + + + + + + + + + brief description of the resource and/or resource series usage + + + + + date and time of the first use or range of uses of the resource and/or resource series + + + + + applications, determined by the user for which the resource and/or resource series is not suitable + + + + + identification of and means of communicating with person(s) and organisation(s) using the resource(s) + + + + + response to the user-determined limitationsE.G.. 'this has been fixed in version x' + + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mri/1.0/mri.sch b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mri/1.0/mri.sch new file mode 100644 index 000000000..2b0f0d908 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mri/1.0/mri.sch @@ -0,0 +1,337 @@ + + + + + + + + + + + + + + + + + The dataset MUST provide a + geographic description or a bounding box. + Le jeu de données DOIT être décrit par + une description géographique ou une emprise. + + The dataset geographic description is: + "". + La description géographique du jeu de données est + "". + + + The dataset geographic bounding box is: + [W:, + S:], + [E:, + N:], + . + L'emprise géographique du jeu de données est + [W:, + S:], + [E:, + N:] + . + + + + Dataset extent + Emprise du jeu de données + + + + + + + + + + + + + + + + + + + + + + A topic category MUST be specified for + dataset or series. + Un thème principal (ISO) DOIT être défini quand + la ressource est un jeu de donnée ou une série. + + Number of topic category identified: + . + Nombre de thèmes : + . + + + + + Topic category for dataset and series + Thème principal d'un jeu de données ou d'une série + + + + + + + + + + + + + + + + + + When a resource is associated, a name or a metadata + reference MUST be specified. + Lorsqu'une resource est associée, un nom ou une + référence à une fiche DOIT être défini. + + The resource "" + is associated. + La ressource "" + est associée. + + + + Associated resource name + Nom ou référence à une ressource associée + + + + + + + + + + + + + + + + + + + + + + + + + + Resource language MUST be defined when the resource + includes textual information. + La langue de la resource DOIT être renseignée + lorsque la ressource contient des informations textuelles. + + Number of resource language: + . + Nombre de langues de la ressource : + . + + + + Resource language + Langue de la ressource + + + + + + + + + + + + + + + + + + + + + + A service metadata SHALL refer to the service + taxonomy defined in ISO19119 defining one or more value in the + keyword section. + Une métadonnée de service DEVRAIT référencer + un type de service tel que défini dans l'ISO19119 dans la + section mot clé. + + Number of service taxonomy specified: + . + Nombre de types de service : + . + + + + Service taxonomy + Taxonomie des services + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mri/1.0/mri.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mri/1.0/mri.xsd new file mode 100644 index 000000000..80564bd51 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mri/1.0/mri.xsd @@ -0,0 +1,9 @@ + + + Namespace for XML elements <font color="#1f497d">used to document basic metadata properties of a described resource</font> + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrl/1.0/lineage.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrl/1.0/lineage.xsd new file mode 100644 index 000000000..617d3e6fd --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrl/1.0/lineage.xsd @@ -0,0 +1,147 @@ + + + + + + + + + information about the events or source data used in constructing the data specified by the scope or lack of knowledge about lineage + + + + + + + + + general explanation of the data producer's knowledge about the lineage of a resource + + + + + type of resource and/or extent to which the lineage information applies + + + + + + + + + + + + + + + + + + + information about an event or transformation in the life of a resource including the process used to maintain the resource + + + + + + + + + description of the event, including related parameters or tolerances + + + + + requirement or purpose for the process step + + + + + date, time, range or period of process step + + + + + identification of, and means of communication with, person(s) and organisation(s) associated with the process step + + + + + process step documentation + + + + + type of resource and/or extent to which the process step applies + + + + + + + + + + + + + + + + + information about the source resource used in creating the data specified by the scope + + + + + + + + + detailed description of the level of the source resource + + + + + level of detail expressed as a scale factor, a distance or an angle + + + + + spatial reference system used by the source resource + + + + + recommended reference to be used for the source resource + + + + + identifier and link to source metadata + + + + + type of resource and/or extent of the source + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrl/1.0/lineageImagery.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrl/1.0/lineageImagery.xsd new file mode 100644 index 000000000..e5b186e06 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrl/1.0/lineageImagery.xsd @@ -0,0 +1,236 @@ + + + + + + + + Description: Details of the methodology by which geographic information was derived from the instrument readings +FGDC: Algorithm_Information +shortName: Algorithm + + + + + + + + + Description: information identifying the algorithm and version or date +FGDC: Algorithm_Identifiers +Position: 1 +shortName: algId + + + + + Description: information describing the algorithm used to generate the data +FGDC: Algorithm_Description +Position: 2 +shortName: algDesc + + + + + + + + + + + + + + + + Description: Distance between adjacent pixels +shortName: nomRes + + + + + + + + + Description: Distance between adjacent pixels in the scan plane +shortName: scanRes + + + + + Description: Distance between adjacent pixels in the object space +shortName: groundRes + + + + + + + + + + + + + + + + Description: Information about an event or transformation in the life of the dataset including details of the algorithm and software used for processing +FGDC: +shortName: DetailProcStep + + + + + + + + + + + + + + + + + + + + + + + Description: Report of what occured during the process step +shortName: ProcStepRep + + + + + + + + + Description: Name of the processing report +shortName: procRepName + + + + + Description: Textual description of what occurred during the process step +shortName: procRepDesc + + + + + Description: Type of file that contains that processing report +shortName: procRepFilTyp + + + + + + + + + + + + + + + + Description: Comprehensive information about the procedure(s), process(es) and algorithm(s) applied in the process step +shortName: Procsg + + + + + + + + + + Description: Information to identify the processing package that produced the data +FGDC: Processing_Identifiers +Position: 1 +shortName: procInfoId + + + + + Description: Reference to document describing processing software +FGDC: Processing_Software_Reference +Position: 2 +shortName: procInfoSwRef + + + + + Description: Additional details about the processing procedures +FGDC: Processing_Procedure_Description +Position: 3 +shortName: procInfoDesc + + + + + Description: Reference to documentation describing the processing +FGDC: Processing_Documentation +Position: 4 +shortName: procInfoDoc + + + + + Description: Parameters to control the processing operations, entered at run time +FGDC: Command_Line_Processing_Parameter +Position: 5 +shortName: procInfoParam + + + + + + + + + + + + + + + + Description: information on source of data sets for processing step +shortName: SrcDataset + + + + + + + + + Description: Processing level of the source data +shortName: procLevel + + + + + Description: Distance between two adjacent pixels +shortName: procResol + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrl/1.0/mrl.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrl/1.0/mrl.xsd new file mode 100644 index 000000000..a174ebe79 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrl/1.0/mrl.xsd @@ -0,0 +1,9 @@ + + + Namespace for XML elements <font color="#1f497d">used to document the lineage (provenance) of a resource</font>. + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrl/2.0/lineage.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrl/2.0/lineage.xsd new file mode 100644 index 000000000..1a1cb3bce --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrl/2.0/lineage.xsd @@ -0,0 +1,147 @@ + + + + + + + + + information about the events or source data used in constructing the data specified by the scope or lack of knowledge about lineage + + + + + + + + + general explanation of the data producer's knowledge about the lineage of a resource + + + + + type of resource and/or extent to which the lineage information applies + + + + + + + + + + + + + + + + + + + information about an event or transformation in the life of a resource including the process used to maintain the resource + + + + + + + + + description of the event, including related parameters or tolerances + + + + + requirement or purpose for the process step + + + + + date, time, range or period of process step + + + + + identification of, and means of communication with, person(s) and organisation(s) associated with the process step + + + + + process step documentation + + + + + type of resource and/or extent to which the process step applies + + + + + + + + + + + + + + + + + information about the source resource used in creating the data specified by the scope + + + + + + + + + detailed description of the level of the source resource + + + + + level of detail expressed as a scale factor, a distance or an angle + + + + + spatial reference system used by the source resource + + + + + recommended reference to be used for the source resource + + + + + identifier and link to source metadata + + + + + type of resource and/or extent of the source + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrl/2.0/lineageImagery.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrl/2.0/lineageImagery.xsd new file mode 100644 index 000000000..9977d1767 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrl/2.0/lineageImagery.xsd @@ -0,0 +1,312 @@ + + + + + + + + + + Description: Details of the methodology by which geographic information was derived from the instrument readings FGDC: Algorithm_Information shortName: Algorithm + + + + + + + + + Description: information identifying the algorithm and version or date FGDC: Algorithm_Identifiers Position: 1 shortName: algId + + + + + Description: information describing the algorithm used to generate the data FGDC: Algorithm_Description Position: 2 shortName: algDesc + + + + + + + + + + + + + + + + Description: Distance between adjacent pixels shortName: nomRes + + + + + + + + + Description: Distance between adjacent pixels in the scan plane shortName: scanRes + + + + + Description: Distance between adjacent pixels in the object space shortName: groundRes + + + + + + + + + + + + + + + + Description: Information about an event or transformation in the life of the dataset including details of the algorithm and software used for processing FGDC: shortName: DetailProcStep + + + + + + + + + + + + + + + + + + + + + + + Description: Report of what occured during the process step shortName: ProcStepRep + + + + + + + + + Description: Name of the processing report shortName: procRepName + + + + + Description: Textual description of what occurred during the process step shortName: procRepDesc + + + + + Description: Type of file that contains that processing report shortName: procRepFilTyp + + + + + + + + + + + + + + + + Description: Comprehensive information about the procedure(s), process(es) and algorithm(s) applied in the process step shortName: Procsg + + + + + + + + + + Description: Information to identify the processing package that produced the data FGDC: Processing_Identifiers Position: 1 shortName: procInfoId + + + + + Description: Reference to document describing processing software FGDC: Processing_Software_Reference Position: 2 shortName: procInfoSwRef + + + + + Description: Additional details about the processing procedures FGDC: Processing_Procedure_Description Position: 3 shortName: procInfoDesc + + + + + Description: Reference to documentation describing the processing FGDC: Processing_Documentation Position: 4 shortName: procInfoDoc + + + + + Description: Parameters to control the processing operations, entered at run time FGDC: Command_Line_Processing_Parameter Position: 5 shortName: procInfoParam + + + + + type of other property description (i.e. netcdf/variable in ncml.xsd or AdditionalAttribute in ECHO) + + + + + type of other property description (i.e. netcdf/variable in ncml.xsd or AdditionalAttribute in ECHO) + + + + + instance of otherPropertyType that defines attributes not explicitly included in LE_Processing + + + + + + + + + + + + + + + + Description: information on source of data sets for processing step shortName: SrcDataset + + + + + + + + + Description: Processing level of the source data shortName: procLevel + + + + + Description: Distance between two adjacent pixels shortName: procResol + + + + + + + + + + + + + + + + This was added as part of the 19115-2 Revision + + + + + + + + + the name, as used by the process for this parameter + + + + + indication if the parameter is an input to the service, an output or both + + + + + a narrative explanation of the role of the parameter + + + + + indication if the parameter is required + + + + + indication if more than one value of the parameter may be provided + + + + + type of other property description (i.e. netcdf/variable in ncml.xsd or AdditionalAttribute in ECHO) + + + + + instance of otherPropertyType that defines attributes not explicitly included in LE_Processing + + + + + xxx + + + + + + + + + + + + + + + + + direction of parameter (in, out, in/out) + + + + + direction of parameter (in, out, in/out) + + + + + the parameter is an input parameter to the process + + + + + the parameter is an output parameter to the process + + + + + the parameter is both an input and output parameter to the process + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrl/2.0/mrl.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrl/2.0/mrl.xsd new file mode 100644 index 000000000..21f671230 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrl/2.0/mrl.xsd @@ -0,0 +1,11 @@ + + + + Namespace for XML elements <font color="#1f497d">used to document the lineage (provenance) of a resource</font>. + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrs/1.0/mrs.sch b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrs/1.0/mrs.sch new file mode 100644 index 000000000..ec49bdaa5 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrs/1.0/mrs.sch @@ -0,0 +1,16 @@ + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrs/1.0/mrs.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrs/1.0/mrs.xsd new file mode 100644 index 000000000..8ce0fef90 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrs/1.0/mrs.xsd @@ -0,0 +1,8 @@ + + + Namespace for XML elements <font color="#1f497d">used to document the spatial reference system used to geolocate information content of a resource</font> + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrs/1.0/referenceSystem.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrs/1.0/referenceSystem.xsd new file mode 100644 index 000000000..1126cadef --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrs/1.0/referenceSystem.xsd @@ -0,0 +1,47 @@ + + + + + + + + information about the reference system + + + + + + + + + identifier and codespace for reference systeme.g. EPSG::4326 + + + + + type of reference system identifiede.g. geographic2D + + + + + + + + + + + + + + + + defines type of reference system used + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/msr/1.0/msr.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/msr/1.0/msr.xsd new file mode 100644 index 000000000..49f75f923 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/msr/1.0/msr.xsd @@ -0,0 +1,10 @@ + + + Namespace for XML elements <font color="#1f497d">used to document the encoding scheme used to represent geolocation in the content of a resource</font>. + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/msr/1.0/spatialRepresentation.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/msr/1.0/spatialRepresentation.xsd new file mode 100644 index 000000000..a91be9dac --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/msr/1.0/spatialRepresentation.xsd @@ -0,0 +1,375 @@ + + + Frequency with which modifications and deletions are made to the data after it is first produced + + + + + + + + + + digital mechanism used to represent spatial information + + + + + + + + + + + + + + + + + + + + + + code indicating the geometry represented by the grid cell value + + + + + + + + + + + axis properties + + + + + + + + + name of the axis + + + + + number of elements along the axis + + + + + + degree of detail in the grid dataset + + + + + enhancement/modifier of the dimension name EX for other time dimension 'runtime' or dimensionName = 'column' dimensionTitle = 'Longitude' + + + + + Description of the axis + + + + + + + + + + + + + + + + name of the dimension + + + + + + + + + + + name of point or vector objects used to locate zero-, one-, two-, or three-dimensional spatial locations in the dataset + + + + + + + + + + + number of objects, listed by geometric object type, used in the dataset + + + + + + + + + name of point or vector objects used to locate zero-, one-, two-, or three-dimensional spatial locations in the dataset + + + + + total number of the point or vector object type occurring in the dataset + + + + + + + + + + + + + + + + grid whose cells are regularly spaced in a geographic (i.e., lat / long) or map coordinate system defined in the Spatial Referencing System (SRS) so that any cell in the grid can be geolocated given its grid coordinate and the grid origin, cell spacing, and orientation + + + + + + + + + indication of whether or not geographic position points are available to test the accuracy of the georeferenced grid data + + + + + description of geographic position points used to test the accuracy of the georeferenced grid data + + + + + earth location in the coordinate system defined by the Spatial Reference System and the grid coordinate of the cells at opposite ends of grid coverage along two diagonals in the grid spatial dimensions. There are four corner points in a georectified grid; at least two corner points along one diagonal are required. The first corner point corresponds to the origin of the grid. + + + + + earth location in the coordinate system defined by the Spatial Reference System and the grid coordinate of the cell halfway between opposite ends of the grid in the spatial dimensions + + + + + point in a pixel corresponding to the Earth location of the pixel + + + + + general description of the transformation + + + + + information about which grid axes are the spatial (map) axes + + + + + + + + + + + + + + + + grid with cells irregularly spaced in any given geographic/map projection coordinate system, whose individual cells can be geolocated using geolocation information supplied with the data but cannot be geolocated from the grid properties alone + + + + + + + + + indication of whether or not control point(s) exists + + + + + indication of whether or not orientation parameters are available + + + + + description of parameters used to describe sensor orientation + + + + + terms which support grid data georeferencing + + + + + reference providing description of the parameters + + + + + + + + + + + + + + + + + information about grid spatial objects in the resource + + + + + + + + + number of independent spatial-temporal axes + + + + + information about spatial-temporal axis properties + + + + + identification of grid data as point or cell + + + + + indication of whether or not parameters for transformation between image coordinates and geographic or map coordinates exist (are available) + + + + + + + + + + + + + + + + point in a pixel corresponding to the Earth location of the pixel + + + + + point in a pixel corresponding to the Earth location of the pixel + + + + + point halfway between the lower left and the upper right of the pixel + + + + + the corner in the pixel closest to the origin of the SRS; if two are at the same distance from the origin, the one with the smallest x-value + + + + + next corner counterclockwise from the lower left + + + + + next corner counterclockwise from the lower right + + + + + next corner counterclockwise from the upper right + + + + + + + + + + + + + degree of complexity of the spatial relationships + + + + + + + + + + + + + information about the vector spatial objects in the resource + + + + + + + + + code which identifies the degree of complexity of the spatial relationships + + + + + information about the geometric objects used in the resource + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/msr/1.0/spatialRepresentationImagery.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/msr/1.0/spatialRepresentationImagery.xsd new file mode 100644 index 000000000..85d33983c --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/msr/1.0/spatialRepresentationImagery.xsd @@ -0,0 +1,119 @@ + + + + Name: SpatialRepresentation +Position: 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Description: extends georectified grid description to include associated checkpoints +shortName: IGeorect + + + + + + + + + + + + + + + + + + + + + Description: Description of information provided in metadata that allows the geographic or map location raster points to be located +FGDC: Georeferencing_Description +shortName: IGeoref + + + + + + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/msr/2.0/msr.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/msr/2.0/msr.xsd new file mode 100644 index 000000000..7d976f78c --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/msr/2.0/msr.xsd @@ -0,0 +1,15 @@ + + + + Namespace for XML elements <font color="#1f497d">used to document the encoding scheme used to represent geolocation in the content of a resource</font>. + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/msr/2.0/spatialRepresentation.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/msr/2.0/spatialRepresentation.xsd new file mode 100644 index 000000000..977e64d42 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/msr/2.0/spatialRepresentation.xsd @@ -0,0 +1,381 @@ + + + Frequency with which modifications and deletions are made to the data after it is first produced + + + + + + + + + + digital mechanism used to represent spatial information + + + + + + + + + level and extent of the spatial representation + + + + + + + + + + + + + + + + + + + code indicating the geometry represented by the grid cell value + + + + + + + + + + + axis properties + + + + + + + + + name of the axis + + + + + number of elements along the axis + + + + + + degree of detail in the grid dataset + + + + + enhancement/modifier of the dimension name EX for other time dimension 'runtime' or dimensionName = 'column' dimensionTitle = 'Longitude' + + + + + Description of the axis + + + + + + + + + + + + + + + + name of the dimension + + + + + + + + + + + name of point or vector objects used to locate zero-, one-, two-, or three-dimensional spatial locations in the dataset + + + + + + + + + + + number of objects, listed by geometric object type, used in the dataset + + + + + + + + + name of point or vector objects used to locate zero-, one-, two-, or three-dimensional spatial locations in the dataset + + + + + total number of the point or vector object type occurring in the dataset + + + + + + + + + + + + + + + + grid whose cells are regularly spaced in a geographic (i.e., lat / long) or map coordinate system defined in the Spatial Referencing System (SRS) so that any cell in the grid can be geolocated given its grid coordinate and the grid origin, cell spacing, and orientation + + + + + + + + + indication of whether or not geographic position points are available to test the accuracy of the georeferenced grid data + + + + + description of geographic position points used to test the accuracy of the georeferenced grid data + + + + + earth location in the coordinate system defined by the Spatial Reference System and the grid coordinate of the cells at opposite ends of grid coverage along two diagonals in the grid spatial dimensions. There are four corner points in a georectified grid; at least two corner points along one diagonal are required. The first corner point corresponds to the origin of the grid. + + + + + earth location in the coordinate system defined by the Spatial Reference System and the grid coordinate of the cell halfway between opposite ends of the grid in the spatial dimensions + + + + + point in a pixel corresponding to the Earth location of the pixel + + + + + general description of the transformation + + + + + information about which grid axes are the spatial (map) axes + + + + + + + + + + + + + + + + grid with cells irregularly spaced in any given geographic/map projection coordinate system, whose individual cells can be geolocated using geolocation information supplied with the data but cannot be geolocated from the grid properties alone + + + + + + + + + indication of whether or not control point(s) exists + + + + + indication of whether or not orientation parameters are available + + + + + description of parameters used to describe sensor orientation + + + + + terms which support grid data georeferencing + + + + + reference providing description of the parameters + + + + + + + + + + + + + + + + + information about grid spatial objects in the resource + + + + + + + + + number of independent spatial-temporal axes + + + + + information about spatial-temporal axis properties + + + + + identification of grid data as point or cell + + + + + indication of whether or not parameters for transformation between image coordinates and geographic or map coordinates exist (are available) + + + + + + + + + + + + + + + + point in a pixel corresponding to the Earth location of the pixel + + + + + point in a pixel corresponding to the Earth location of the pixel + + + + + point halfway between the lower left and the upper right of the pixel + + + + + the corner in the pixel closest to the origin of the SRS; if two are at the same distance from the origin, the one with the smallest x-value + + + + + next corner counterclockwise from the lower left + + + + + next corner counterclockwise from the lower right + + + + + next corner counterclockwise from the upper right + + + + + + + + + + + + + degree of complexity of the spatial relationships + + + + + + + + + + + + + information about the vector spatial objects in the resource + + + + + + + + + code which identifies the degree of complexity of the spatial relationships + + + + + information about the geometric objects used in the resource + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/msr/2.0/spatialRepresentationImagery.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/msr/2.0/spatialRepresentationImagery.xsd new file mode 100644 index 000000000..1d1ec882c --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/msr/2.0/spatialRepresentationImagery.xsd @@ -0,0 +1,120 @@ + + + + Name: SpatialRepresentation +Position: 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Description: extends georectified grid description to include associated checkpoints +shortName: IGeorect + + + + + + + + + + + + + + + + + + + + + Description: Description of information provided in metadata that allows the geographic or map location raster points to be located +FGDC: Georeferencing_Description +shortName: IGeoref + + + + + + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/srv/2.0/serviceInformation.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/srv/2.0/serviceInformation.xsd new file mode 100644 index 000000000..e15245dc0 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/srv/2.0/serviceInformation.xsd @@ -0,0 +1,272 @@ + + + + + + + + + class of information to which the referencing entity applies + + + + + + + + + + + links a given operationName (mandatory attribute of SV_OperationMetadata) with a data set identified by an 'identifier' + + + + + + + + + scoped identifier of the resource in the context of the given service instance NOTE: name of the resources (i.e. dataset) as it is used by a service instance (e.g. layer name or featureTypeName). + + + + + reference to the dataset on which the service operates + + + + + + + + + + + + + + + + + + class of information to which the referencing entity applies + + + + + + + + + + + Operation Chain Information + + + + + + + + + the name, as used by the service for this chain + + + + + a narrative explanation of the services in the chain and resulting output + + + + + + + + + + + + + + + + + describes the signature of one and only one method provided by the service + + + + + + + + + a unique identifier for this interface + + + + + distributed computing platforms on which the operation has been implemented + + + + + free text description of the intent of the operation and the results of the operation + + + + + the name used to invoke this interface within the context of the DCP. The name is identical for all DCPs. + + + + + handle for accessing the service interface + + + + + + + + + + + + + + + + + + parameter information + + + + + + + + + the name, as used by the service for this parameter + + + + + indication if the parameter is an input to the service, an output or both + + + + + a narrative explanation of the role of the parameter + + + + + indication if the parameter is required + + + + + indication if more than one value of the parameter may be provided + + + + + + + + + + + + + + + + class of information to which the referencing entity applies + + + + + class of information to which the referencing entity applies + + + + + the parameter is an input parameter to the service instance + + + + + the parameter is an output parameter to the service instance + + + + + the parameter is both an input and output parameter to the service instance + + + + + + + + + + + + + identification of capabilities which a service provider makes available to a service user through a set of interfaces that define a behaviour - See ISO 19119 for further information + + + + + + + + + a service type name, E.G. 'discovery', 'view', 'download', 'transformation', or 'invoke' + + + + + provide for searching based on the version of serviceType. For example, we may only be interested in OGC Catalogue V1.1 services. If version is maintained as a separate attribute, users can easily search for all services of a type regardless of the version + + + + + information about the availability of the service, including, 'fees' 'planned' 'available date and time' 'ordering instructions' 'turnaround' + + + + + type of coupling between service and associated data (if exists) + + + + + further description of the data coupling in the case of tightly coupled services + + + + + provides a reference to the dataset on which the service operates + + + + + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/srv/2.0/srv.sch b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/srv/2.0/srv.sch new file mode 100644 index 000000000..2245073fd --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/srv/2.0/srv.sch @@ -0,0 +1,333 @@ + + + + + + + + The service identification does not contain chain or operation. + L'identification du service ne contient ni chaîne d'opérations, ni opération. + + + The service identification contains the following + number of chains: . + and number of operations: . + + L'identification du service contient + le nombre de chaînes d'opérations suivant : . + le nombre d'opérations : . + + + + Service identification MUST contains chain or operations + L'identification du service DOIT contenir des chaînes d'opérations + ou des opérations + + + + + + + + + + + + + + + + + + + + + The service identification MUST specify coupling type + when coupled resource exist + L'identification du service DOIT + définir un type de couplage lorsqu'une ressource est couplée. + + + Number of coupled resources: . + Coupling type: "". + + Nombre de ressources couplées : . + Type de couplage : "". + + + + Service identification MUST specify coupling type + when coupled resource exist + L'identification du service DOIT + définir un type de couplage lorsqu'une ressource est couplée + + + + + + + + + + + + + + + + + + The service identification define operatedDataset. + No operatesOn can be specified. + L'identification du service utilise operatedDataset. + OperatesOn ne peut être utilisé dans ce cas. + + Service identification only use operated dataset. + L'identification du service n'utilise que operatedDataset. + + + + Service identification MUST not use + both operatedDataset and operatesOn + L'identification du service NE DOIT PAS + utiliser en même temps operatedDataset et operatesOn + + + + + + + + + + + + + + + + + The service identification define operatesOn. + No operatedDataset can be specified. + L'identification du service utilise operatesOn. + OperatedDataset ne peut être utilisé dans ce cas. + + The service identification only use operates on. + L'identification du service n'utilise que + des éléments de type operatesOn. + + + + Service identification MUST not use + both operatesOn and operatedDataset + L'identification du service NE DOIT PAS + utiliser en même temps operatesOn et operatedDataset + + + + + + + + + + + + + + + + + + The coupled resource does not contains a resource + nor a resource reference. + La ressource couplée ne contient ni une ressource + ni une référence à une ressource. + + The coupled resource contains a resource or a resource reference. + La ressource couplée contient une ressource ou une référence + à une ressource. + + + + Coupled resource MUST contains + a resource or a resource reference + Une ressource couplée DOIT + définir une ressource ou une référence à une ressource + + + + + + + + + + + + + + + + + + + + + + The coupled resource contains both a resource + and a resource reference. + La ressource couplée utilise à la fois une ressource + et une référence à une ressource. + + The coupled resource contains only resources. + La ressource couplée contient uniquement des ressources. + + + + Coupled resource MUST not use + both resource and resource reference + Une ressource couplée NE DOIT PAS + utiliser en même temps une ressource et une référence + à une ressource + + + + + + + + + + + + + + + + + The coupled resource contains both a resource + and a resource reference. + La ressource couplée utilise à la fois une ressource + et une référence à une ressource. + + The coupled resource contains only resource references. + La ressource couplée contient uniquement des références à des ressources. + + + + Coupled resource MUST not use + both resource and resource reference + Une ressource couplée NE DOIT PAS + utiliser en même temps une ressource et une référence + à une ressource + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/srv/2.0/srv.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/srv/2.0/srv.xsd new file mode 100644 index 000000000..9f51fedb4 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/srv/2.0/srv.xsd @@ -0,0 +1,6 @@ + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/srv/2.1/serviceInformation.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/srv/2.1/serviceInformation.xsd new file mode 100644 index 000000000..b753d40ab --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/srv/2.1/serviceInformation.xsd @@ -0,0 +1,278 @@ + + + + + + + + + + class of information to which the referencing entity applies + + + + + + + + + + + links a given operationName (mandatory attribute of SV_OperationMetadata) with a data set identified by an 'identifier' + + + + + + + + + scoped identifier of the resource in the context of the given service instance NOTE: name of the resources (i.e. dataset) as it is used by a service instance (e.g. layer name or featureTypeName). + + + + + reference to the dataset on which the service operates + + + + + + + + + + + + + + + + + + class of information to which the referencing entity applies + + + + + + + + + + + Operation Chain Information + + + + + + + + + the name, as used by the service for this chain + + + + + a narrative explanation of the services in the chain and resulting output + + + + + + + + + + + + + + + + + describes the signature of one and only one method provided by the service + + + + + + + + + a unique identifier for this interface + + + + + distributed computing platforms on which the operation has been implemented + + + + + free text description of the intent of the operation and the results of the operation + + + + + the name used to invoke this interface within the context of the DCP. The name is identical for all DCPs. + + + + + handle for accessing the service interface + + + + + + + + + + + + + + + + + + + parameter information + + + + + + + + + the name, as used by the service for this parameter + + + + + indication if the parameter is an input to the service, an output or both + + + + + a narrative explanation of the role of the parameter + + + + + indication if the parameter is required + + + + + indication if more than one value of the parameter may be provided + + + + + + + + + + + + + + + + class of information to which the referencing entity applies + + + + + class of information to which the referencing entity applies + + + + + the parameter is an input parameter to the service instance + + + + + the parameter is an output parameter to the service instance + + + + + the parameter is both an input and output parameter to the service instance + + + + + + + + + + + + + identification of capabilities which a service provider makes available to a service user through a set of interfaces that define a behaviour - See ISO 19119 for further information + + + + + + + + + a service type name, E.G. 'discovery', 'view', 'download', 'transformation', or 'invoke' + + + + + provide for searching based on the version of serviceType. For example, we may only be interested in OGC Catalogue V1.1 services. If version is maintained as a separate attribute, users can easily search for all services of a type regardless of the version + + + + + information about the availability of the service, including, 'fees' 'planned' 'available date and time' 'ordering instructions' 'turnaround' + + + + + type of coupling between service and associated data (if exists) + + + + + further description of the data coupling in the case of tightly coupled services + + + + + provides a reference to the dataset on which the service operates + + + + + + + + + + + + + + + + + + + diff --git a/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/srv/2.1/srv.xsd b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/srv/2.1/srv.xsd new file mode 100644 index 000000000..1283ec3c2 --- /dev/null +++ b/pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/srv/2.1/srv.xsd @@ -0,0 +1,6 @@ + + + + + + diff --git a/setup.py b/setup.py index 790203c91..357a191bc 100644 --- a/setup.py +++ b/setup.py @@ -85,7 +85,8 @@ def get_package_version(): 'fgdc', 'dif', 'ebrim', - 'inspire' + 'inspire', + 'ISO 19115-3 XML' ]), author='Tom Kralidis', author_email='tomkralidis@gmail.com', diff --git a/tests/functionaltests/suites/atom/expected/post_DescribeRecord.xml b/tests/functionaltests/suites/atom/expected/post_DescribeRecord.xml index 5f82a7d41..ca9c43dd9 100644 --- a/tests/functionaltests/suites/atom/expected/post_DescribeRecord.xml +++ b/tests/functionaltests/suites/atom/expected/post_DescribeRecord.xml @@ -1,3 +1,3 @@ - + diff --git a/tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml index 1a596fc38..b86da8535 100644 --- a/tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml @@ -1,6 +1,6 @@ - + pycsw Geospatial Catalogue pycsw is an OARec and OGC CSW server implementation written in Python diff --git a/tests/functionaltests/suites/atom/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/atom/expected/post_GetRecords-filter-bbox.xml index ed26f5314..b3e750bf0 100644 --- a/tests/functionaltests/suites/atom/expected/post_GetRecords-filter-bbox.xml +++ b/tests/functionaltests/suites/atom/expected/post_GetRecords-filter-bbox.xml @@ -1,6 +1,6 @@ - + diff --git a/tests/functionaltests/suites/duplicatefileid/expected/get_GetCapabilities.xml b/tests/functionaltests/suites/duplicatefileid/expected/get_GetCapabilities.xml index 0066845e7..c185b9c97 100644 --- a/tests/functionaltests/suites/duplicatefileid/expected/get_GetCapabilities.xml +++ b/tests/functionaltests/suites/duplicatefileid/expected/get_GetCapabilities.xml @@ -1,6 +1,6 @@ - + pycsw Geospatial Catalogue pycsw is an OARec and OGC CSW server implementation written in Python diff --git a/tests/functionaltests/suites/duplicatefileid/expected/post_GetRecords-all.xml b/tests/functionaltests/suites/duplicatefileid/expected/post_GetRecords-all.xml index 4a946d136..917211cbb 100644 --- a/tests/functionaltests/suites/duplicatefileid/expected/post_GetRecords-all.xml +++ b/tests/functionaltests/suites/duplicatefileid/expected/post_GetRecords-all.xml @@ -1,6 +1,6 @@ - + diff --git a/tests/functionaltests/suites/iso19115p3/data/README.txt b/tests/functionaltests/suites/iso19115p3/data/README.txt new file mode 100644 index 000000000..c73c0c5a0 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/data/README.txt @@ -0,0 +1,9 @@ +ISO 19115 Part 3 XML Data +========================= + +This directory provides data used to check conformance against pycsw's ISO 19115 Part 3 XML support. + +Acknowledged sources: + +https://portal.auscope.org.au/geonetwork: auscope-iso19139-geoprovinces.xml, auscope-3d-model.xml +https://metawal.wallonie.be/geonetwork/: metawal.wallonie.be-catchments.xml, metawal.wallonie.be-srv.xml diff --git a/tests/functionaltests/suites/iso19115p3/data/auscope-3d-model.xml b/tests/functionaltests/suites/iso19115p3/data/auscope-3d-model.xml new file mode 100644 index 000000000..079251dcf --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/data/auscope-3d-model.xml @@ -0,0 +1,446 @@ + + + + + + 5ebc3cb7-a3b5-4760-a8ff-851d5d5beb32 + + + urn:uuid + + + + + + + + + + + + + + + + + + + + + + Earth Resources Victoria + + + + + + + 1300 366 356 + + + + + + + + + + GPO Box 2392 + + + Melbourne + + + Victoria + + + 3001 + + + Australia + + + customer.service@ecodev.vic.gov.au + + + + + + + + + Anthony Hurst + + + Executive Director, Earth Resources Policy and Programs + + + + + + + + + + + 2022-11-03T06:16:21 + + + + + + + + + + 2022-11-03T06:17:02 + + + + + + + + + + ISO 19115-3 + + + + + + + http://portal.auscope.org/geonetwork/srv/api/records/5ebc3cb7-a3b5-4760-a8ff-851d5d5beb32 + + + + + + + + + + + + 3D geological model of the Otway and Torquay Basin 2011 + + + + + 2010-01-01 + + + + + + + https://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:107513 + + + + Reference + + + + + + + + + + + + + AuScope + + + + + + + Level 2, 700 Swanston Street + + + Carlton + + + Victoria + + + 3053 + + + Australia + + + info@auscope.org.au + + + + + + + + + + https://ror.org/04s1m4564 + + + ROR + + + Research Organization Registry (ROR) Entry + + + + + + + + + + + + + + + + Earth Resources Victoria + + + + + + + 1300 366 356 + + + + + + + + + + GPO Box 2392 + + + Melbourne + + + Victoria + + + 3001 + + + Australia + + + customer.service@ecodev.vic.gov.au + + + + + + + + + + + + + + + + + + P.B. SKLADZIEN + + + + + + + + + + + + + + + C. Jorand + + + + + + + + + + + + + + A. Krassay + + + + + + + + + + + + + + L. Hall + + + + + + + + + A 3D model of the Otway and Torquay basins has been produced at 1:250 000 scale as part of GeoScience Victorias state-wide 3D geological model. To date there has been a “knowledge gap” in the transition between the basement and basin environments. This regional scale integration of the basement and basin models addresses this gap and provides a regional framework within which more detailed work can be carried out in the future. + +The construction and integration of the basin model has involved both the interpretation and building of new faults and stratigraphic surfaces, as well as utilising existing stratigraphic surfaces and structural interpretations from previous studies, predominantly the Otway Basin HSA SEEBASE project by FrOG Tech (Jorand et. al., 2010). + + + + + + + 143.00 + + + 144.00 + + + -39.40 + + + -38.40 + + + + + + + -400 + + + 300 + + + + + + + + + Victoria + + + Otway Basin + + + Torquay Basin + + + + + + + + + + 3D Geological Models + + + + + + + + + + https://creativecommons.org/licenses/by/4.0/ + + + + + + + + + + + + + + + + + + + + + + + + + + http://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:37363 + + + WWW:LINK-1.0-http--link + + + View Reports + + + + + + + http://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:107513 + + + WWW:LINK-1.0-http--link + + + Download Metadata and 3D model data + + + + + + + + + + + http://geomodels.auscope.org/model/otway + + + WWW:LINK-1.0-http--link + + + 3D Geological Model + + + + + + + + + + + diff --git a/tests/functionaltests/suites/iso19115p3/data/auscope-iso19139-geoprovinces.xml b/tests/functionaltests/suites/iso19115p3/data/auscope-iso19139-geoprovinces.xml new file mode 100644 index 000000000..4364ade4a --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/data/auscope-iso19139-geoprovinces.xml @@ -0,0 +1,281 @@ + + + + 09a7c1d4c97ccdd7e34306deb91320ab95d51bb8 + + + eng + + + + + + + + + + + Peter Warren + + + CSIRO + + + Software Engineer + + + + + + + +61 2 9490 8802 + + + + + + + + + + 11 Julius Ave + + + North Ryde + + + CSIRO + + + 2113 + + + Australia + + + + + + + http://geoserver.sourceforge.net/html/index.php + + + + + + + + + + + + 2018-02-08T11:04:47 + + + ISO 19115:2003/19139 + + + 1.0 + + + + + + + EPSG:4283 + + + + + + + + + + + ProvinceFullExtent + + + + + 2018-02-08T11:04:47 + + + + + + + + + + + + + + + + + + Peter Warren + + + CSIRO + + + Software Engineer + + + + + + + +61 2 9490 8802 + + + + + + + + + + 11 Julius Ave + + + North Ryde + + + CSIRO + + + 2113 + + + Australia + + + + + + + http://geoserver.sourceforge.net/html/index.php + + + + + + + + + + + + + + features + + + ProvinceFullExtent + + + + + + + + + + + geoscientificInformation + + + + + + + 106.56906097500001 + + + 171.88106000000005 + + + -49.861429999999984 + + + -3.6270000000000095 + + + + + + + + + + + + + + + + + + + + + + + + + https://nvclwebservices.csiro.au/geoserver/wms?SERVICE=WMS& + + + OGC:WMS-1.1.1-http-get-map + + + gml:ProvinceFullExtent + + + ProvinceFullExtent + + + + + + + https://nvclwebservices.csiro.au/geoserver/wms?request=GetLegendGraphic&format=image%2Fpng&width=20&height=20&layer=gml%3AProvinceFullExtent + + + image/png + + + Default Polygon (LegendURL) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/functionaltests/suites/iso19115p3/data/metawal.wallonie.be-catchments.xml b/tests/functionaltests/suites/iso19115p3/data/metawal.wallonie.be-catchments.xml new file mode 100644 index 000000000..500b9b3e8 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/data/metawal.wallonie.be-catchments.xml @@ -0,0 +1,946 @@ + + + + + + 74f81503-8d39-4ec8-a49a-c76e0cd74946 + + + urn:uuid + + + + + + + + + + + + + + + + + + + + Collection de données thématiques + + + + + + + + + + + + Direction des Eaux souterraines (SPW - Agriculture, Ressources naturelles et Environnement - Département de l'Environnement et de l'Eau - Direction des Eaux souterraines) + + + + + + + +32 (0)81/335923 + + + + + + + + + + veronique.willame@spw.wallonie.be + + + + + + + + + Véronique Willame + + + + + + + + + + + 2023-08-08T07:34:11.366Z + + + + + + + + + + 2019-04-02T12:32:13 + + + + + + + + + + ISO 19115 + + + 2003/Cor 1:2006 + + + + + + + https://metawal.wallonie.be/geonetwork/srv/api/records/74f81503-8d39-4ec8-a49a-c76e0cd74946 + + + + + + + + + + + + EPSG:31370 + + + Belge 1972 / Belgian Lambert 72 (EPSG:31370) + + + + + + + + + + + + + + Protection des captages - Série + + + PROTECT_CAPT + + + + + 2000-01-01 + + + + + + + + + + 2023-07-31 + + + + + + + + + + 2022-11-08 + + + + + + + + + + PROTECT_CAPT + + + BE.SPW.INFRASIG.GINET + + + + + + + 74f81503-8d39-4ec8-a49a-c76e0cd74946 + + + http://geodata.wallonie.be/id/ + + + + + + + Cette collection de données comprend les zones de surveillance arrêtées, de prévention forfaitaires et de prévention arrêtées ou à l'enquête publique autour des captages. + +Cet ensemble de classes d'entités est constitué de trois couches distinctes. +- Les zones de surveillance arrêtées (PROTECT_CAPT__ZONE_III_ARRETEE) +- les zones de prévention arrêtées (PROTECT_CAPT__ZONE_II_ARRETEE) +- les zones de prévention forfaitaires (PROTECT_CAPT__ZONE_II_FORFAIT) + +La classe d'entités "zones de surveillance arrêtées" contient l'ensemble des zones de surveillance délimitées autour de certaines zones de prévention (approuvées par arrêté ministériel) des captages d'eau de distribution publique d'eau potable les plus importants de par les volumes exploités. Actuellement, on en compte cinq sur toute la Wallonie. + +Ces zones de surveillance III sont délimitées par le bassin d'alimentation et le bassin hydrogéologique et fournies à la Directions des Eaux souterraines (SPW - Agriculture, Ressources naturelles et Environnement - Département de l'Environnement et de l'Eau - Direction des Eaux souterraines) sur document papier par le producteur d'eau publique qui a réalisé l'étude. + +La classe d'entités "zones de prévention arrêtées" contient l'ensemble des zones de prévention (autour des captages d'eau souterraine) rapprochées (IIa) et éloignées (IIb) approuvées par arrêté ministériel, à l'enquête publique (en cours ou terminée) ou à l'instruction. Cette couche couvre toute la Wallonie. + +La classe d'entités "zones de prévention forfaitaires" autour des captages contient l'ensemble des zones de prévention forfaitaires (ou théoriques), autour des captages d'eau souterraine de distribution publique. Ces zones de prévention sont provisoires. Elles sont de forme circulaire et seront définies et officialisées, dans le futur, après une étude de délimitation par le producteur d'eau qui l'exploite le captage. + +Les diamètres des zones de prévention forfaitaires rapprochées (IIa) et éloignées (IIb) sont fonction de la nature du terrain. La méthode des distances théoriques tient compte essentiellement de la perméabilité des terrains: zone de prise d'eau (10 m minimum autour des installations), zone de prévention rapprochée IIa (35 m autour des installations de la prise d'eau), zone de prévention IIb (100 m dans les aquifères sableux, 500 m dans les aquifères graveleux et 1000 m dans les aquifères fissurés et karstiques autour de la zone de prévention rapprochée). Cette couche couvre toute la Wallonie. + +Suite au décalage entre la mise à jour des Zones de prévention forfaitaires autour des captages (décembre 2018) et des Zones de prévention arrêtée ou à l'enquête publique autour des captages, mises à jour en mai 2020, et lorsqu’une zone arrêtée est présente pour un captage, c’est celle-ci qui prime au détriment de la zone forfaitaire. La mise à jour des Zones de prévention forfaitaires autour des captages est prévue début juillet 2020. + + + + + + + + + + Helpdesk carto du SPW (SPW - Secrétariat général - SPW Digital - Département Données transversales - Gestion et valorisation de la donnée) + + + + + + + helpdesk.carto@spw.wallonie.be + + + + + + + + + + + + + + + + + + Direction des Eaux souterraines (SPW - Agriculture, Ressources naturelles et Environnement - Département de l'Environnement et de l'Eau - Direction des Eaux souterraines) + + + + + + + +32 (0)81/335923 + + + + + + + + + + veronique.willame@spw.wallonie.be + + + + + + + + + Véronique Willame + + + + + + + + + + + + + + + + Service public de Wallonie (SPW) + + + + + + + + + + https://geoportail.wallonie.be + + + WWW:LINK + + + Géoportail de la Wallonie + + + Géoportail de la Wallonie + + + + + + + + + + + + + + + + + + + + + 10000 + + + + + + + geoscientificInformation + + + inlandWaters + + + + + Région wallonne + + + + + 2.75 + + + 6.50 + + + 49.45 + + + 50.85 + + + + + + + + + https://metawal.wallonie.be/geonetwork/srv/api/records/74f81503-8d39-4ec8-a49a-c76e0cd74946/attachments/PROTECT_CAPT.png + + + protect_capt_pic + + + png + + + + + + + https://metawal.wallonie.be/geonetwork/srv/api/records/74f81503-8d39-4ec8-a49a-c76e0cd74946/attachments/PROTECT_CAPT_s.png + + + protect_capt_pic_small + + + png + + + + + + + Sol et sous-sol + + + Eau + + + + + + + + Thèmes du géoportail wallon + + + + + 2014-01-01 + + + + + + + + + + 2014-06-26 + + + + + + + + + + geonetwork.thesaurus.external.theme.Themes_geoportail_wallon_hierarchy + + + + + + + + + + + eau + + + politique environnementale + + + + + + + + GEMET themes + + + + + 2009-01-01 + + + + + + + + + + 2009-09-22 + + + + + + + + + + geonetwork.thesaurus.external.theme.gemet-theme + + + + + + + + + + + eau potable + + + surveillance de l'environnement + + + surveillance de l'eau + + + eau de surface + + + captage + + + eaux souterraines + + + zone de captage d'eau potable + + + zone protégée de captage d'eau + + + protection de zone de captage de l'eau + + + captage d'eau + + + + + + + + GEMET + + + + + 2009-01-01 + + + + + + + + + + 2009-09-22 + + + + + + + + + + geonetwork.thesaurus.external.theme.gemet + + + + + + + + + + + DGO3_BDREF + + + WalOnMap + + + Extraction_DIG + + + DGO3_CIGALE + + + Reporting INSPIRENO + + + Open Data + + + BDInfraSIGNO + + + PanierTelechargementGeoportail + + + + + + + + Mots-clés InfraSIG + + + + + 2022-10-03 + + + + + + + + + + 2022-10-03 + + + + + + + + + + geonetwork.thesaurus.external.theme.infraSIG + + + + + + + + + + + zone forfaitaire + + + prévention rapprochée + + + prévention éloignée + + + prévention + + + IIa + + + IIb + + + surveillance + + + III + + + + + + + + + + + + + + + + Les conditions générales d'accès s’appliquent. + + + Les conditions générales d'utilisation s'appliquent. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modèle de données + + + + + http://environnement.wallonie.be/cartosig/Inventaire_Donnees/Modeles_SIG3/PROTECT_CAPT.pdf + + + WWW:LINK + + + application/pdf + + + Modèle de données (document pdf) + + + + + + + + + + + + + + + + + + ESRI Shapefile (.shp) + + + + - + + + + + + + + + + + ESRI File Geodatabase (.fgdb) + + + + 10.x + + + + + + + + + + + + + + + + Service public de Wallonie (SPW) + + + + + + + helpdesk.carto@spw.wallonie.be + + + + + + + + + + + + + Cette ressource est une collection de données. En la commandant, l'ensemble des géodonnées constitutives de cette collection vous sera automatiquement fourni. + +Les instructions pour obtenir une copie physique d’une donnée sont détaillées sur https://geoportail.wallonie.be/telecharger. + + + + + + + + + + + + + + + + Cellule SIG de la DGARNE (SPW - Agriculture, Ressources naturelles et Environnement - Département de l'Étude du milieu naturel et agricole - Direction de la Coordination des Données) + + + + + + + sig.dgarne@spw.wallonie.be + + + + + + + + + + + + + + + + + https://geoportail.wallonie.be/walonmap/#ADU=https://geoservices.wallonie.be/arcgis/rest/services/EAU/PROTECT_CAPT/MapServer + + + WWW:LINK + + + Application WalOnMap - Toute la Wallonie à la carte + + + Application cartographique du Geoportail (WalOnMap) qui permet de découvrir les données géographiques de la Wallonie. + + + + + + + + + + http://geoapps.wallonie.be/Cigale/Public/#CTX=EAUX_SOUT + + + WWW:LINK + + + Protection des eaux souteraines (CIGALE) - Application + + + Application de consultation des principales données cartographiques du SPW Agriculture, Ressources naturelles et Environnements + + + + + + + + + + https://geoservices.wallonie.be/arcgis/rest/services/EAU/PROTECT_CAPT/MapServer + + + ESRI:REST + + + Service de visualisation ESRI-REST + + + Ce service ESRI-REST permet de visualiser le jeu de données "Protection des captages" + + + + + + + + + + https://geoservices.wallonie.be/arcgis/services/EAU/PROTECT_CAPT/MapServer/WMSServer?request=GetCapabilities&service=WMS + + + OGC:WMS + + + Service de visualisation WMS + + + Ce service WMS permet de visualiser le jeu de données "Protection des captages" + + + + + + + + + + http://environnement.wallonie.be/de/eso/atlas/index.htm#4.1a + + + WWW:LINK + + + Site web Etat des nappes d'eau souterraine-chapitre IV.1a. Zones de prévention programmées ou en cours d'étude et IV.1b. Zones de protection définies par arrêté ministériel + + + Pages web Etat des nappes d'eau souterraine-chapitre IV.1a. Zones de prévention programmées ou en cours d'étude +et IV.1b Zones de protection définies par arrêté ministériel + + + + + + + + + + + + + + Pour les zones arrêtées (les zones de surveillance arrêtées et les zones de prévention arrêtées ou à l'enquête publique), les entités sont numérisées sur base des plans papier des producteurs d'eau qui réalisent l'étude de délimitation des zones de prévention. Le dossier est déposé au centre extérieur de la DESO pour réception, vérification, officialisation par arrêté ministériel et publication au Moniteur belge. + +Chaque zone de prévention est numérisée par digitalisation (à la Direction des Eaux souterraines (SPW - Agriculture, Ressources naturelles et Environnement - Département de l'Environnement et de l'Eau - Direction des Eaux souterraines)) sur base de plans papier sur fond IGN et sur Fond cadastral. + +Pour les zones forfaitaires, les entités de cette couche sont des zones de prévention circulaires, générées autour de la position exacte de chacun des captages d'eau de distribution publique d'eau potable (qui n'ont pas encore de zones de prévention approuvée par arrêté ministériel), en créant un buffer de diamètres différents en fonction de la nature de l'aquifère et de la zone rapprochée ou éloignée. + + + + + + + + + + Collection de données thématiques + + + + + + + + \ No newline at end of file diff --git a/tests/functionaltests/suites/iso19115p3/data/metawal.wallonie.be-srv.xml b/tests/functionaltests/suites/iso19115p3/data/metawal.wallonie.be-srv.xml new file mode 100644 index 000000000..bf1806d67 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/data/metawal.wallonie.be-srv.xml @@ -0,0 +1,885 @@ + + + + + + 1714cd1e-6685-4dea-a6f4-b51612a15ed0 + + + urn:uuid + + + + + + + + + + + + + + + + + + + + Service + + + + + + + + + + + + Gestion et valorisation de la donnée (SPW - Secrétariat général - SPW Digital - Département Données transversales - Gestion et valorisation de la donnée) + + + + + + + helpdesk.carto@spw.wallonie.be + + + + + + + + + + + + + 2023-12-11T13:33:59.133Z + + + + + + + + + + 2019-04-02T12:32:33 + + + + + + + + + + ISO 19119 + + + 2005/Amd.1:2008 + + + + + + + https://metawal.wallonie.be/geonetwork/srv/api/records/1714cd1e-6685-4dea-a6f4-b51612a15ed0 + + + + + + + + + + + + EPSG:31370 + + + Belge 1972 / Belgian Lambert 72 (EPSG:31370) + + + + + + + + + + + + + + EPSG:4326 + + + WGS 84 (EPSG:4326) + + + + + + + + + + + + + + EPSG:3857 + + + WGS 84 / Pseudo-Mercator (EPSG:3857) + + + + + + + + + + + + + + EPSG:3035 + + + ETRS89 / LAEA Europe (EPSG:3035) + + + + + + + + + + + + + + EPSG:4258 + + + ETRS89 (EPSG:4258) + + + + + + + + + + + + + + EPSG:3812 + + + ETRS89 / Belgian Lambert 2008 (EPSG:3812) + + + + + + + + + + + + + + INSPIRE - Santé et sécurité des personnes en Wallonie (BE) - Service de visualisation WMS + + + + + 2018-03-01 + + + + + + + + + + 1714cd1e-6685-4dea-a6f4-b51612a15ed0 + + + http://geodata.wallonie.be/id/ + + + + + + + Ce service de visualisation WMS INSPIRE permet de consulter les couches de données du thème "Santé et sécurité des personnes" au sein du territoire wallon (Belgique). + +Ce service de visualisation WMS est fourni par le Service public de Wallonie (SPW) et expose les couches de données géographiques constitutives du thème "Santé et sécurité des personnes" de la Directive (Annexe 3.5) sur l'ensemble du territoire wallon. + +Ce service permet donc de visualiser les couches de données sélectionnées comme faisant partie du thème "Bâtiments". Ces couches de données sont présentées "telles quelles", c'est-à-dire dans leur modèle de données initial, non conforme aux spécifications de données définies par la Directive. Les couches de données seront progressivement adaptées aux modèles de donnée commun INSPIRE suivant les spécifications du thème. + +Le service de visualisation est conforme aux spécifications de la Directive INSPIRE en la matière. + + + + + + + + + + Helpdesk carto du SPW (SPW - Secrétariat général - SPW Digital - Département de la Géomatique - Direction de l'Intégration des géodonnées) + + + + + + + helpdesk.carto@spw.wallonie.be + + + + + + + + + + + + + + + + + + Gestion et valorisation de la donnée (SPW - Secrétariat général - SPW Digital - Département Données transversales - Gestion et valorisation de la donnée) + + + + + + + helpdesk.carto@spw.wallonie.be + + + + + + + + + + + + + + + + + + Service public de Wallonie (SPW) + + + + + + + helpdesk.carto@spw.wallonie.be + + + + + + + https://geoportail.wallonie.be + + + WWW:LINK + + + Géoportail de la Wallonie + + + Géoportail de la Wallonie + + + + + + + + + + + + + + + + Région wallonne + + + + + 2.75 + + + 6.51 + + + 49.45 + + + 50.85 + + + + + + + + + https://metawal.wallonie.be/geonetwork/inspire/api/records/1714cd1e-6685-4dea-a6f4-b51612a15ed0/attachments/wms_inspire_20190430.png + + + + + + + Industrie et services + + + Société et activités + + + + + + + + Thèmes du géoportail wallon + + + + + 2014-01-01 + + + + + + + + + + 2014-06-26 + + + + + + + + + + geonetwork.thesaurus.external.theme.Themes_geoportail_wallon_hierarchy + + + + + + + + + + + Santé et sécurité des personnes + + + + + + + + GEMET - INSPIRE themes, version 1.0 + + + + + 2008-01-01 + + + + + + + + + + 2008-06-01 + + + + + + + + + + geonetwork.thesaurus.external.theme.httpinspireeceuropaeutheme-theme + + + + + + + + + + + aspects sociaux, population + + + santé humaine + + + + + + + + GEMET themes + + + + + 2009-01-01 + + + + + + + + + + 2009-09-22 + + + + + + + + + + geonetwork.thesaurus.external.theme.gemet-theme + + + + + + + + + + + santé + + + sécurité + + + + + + + + GEMET + + + + + 2009-01-01 + + + + + + + + + + 2009-09-22 + + + + + + + + + + geonetwork.thesaurus.external.theme.gemet + + + + + + + + + + + Reporting INSPIRE + + + + + + + + Mots-clés InfraSIG + + + + + 2022-10-03 + + + + + + + + + + 2022-10-03 + + + + + + + + + + geonetwork.thesaurus.external.theme.infraSIG + + + + + + + + + + + Human health and safety + + + HH + + + health + + + inspire + + + WMS + + + View + + + validationtest + + + + + + + + + + Service d’accès aux cartes + + + + + + + + Classification of spatial data services + + + + + 2008-01-01 + + + + + + + + + + 2008-12-03 + + + + + + + + + + geonetwork.thesaurus.external.theme.httpinspireeceuropaeumetadatacodelistSpatialDataServiceCategory-SpatialDataServiceCategory + + + + + + + + + + + Régional + + + + + + + + Champ géographique + + + + + 2019-01-01 + + + + + + + + + + 2019-05-22 + + + + + + + + + + geonetwork.thesaurus.external.theme.httpinspireeceuropaeumetadatacodelistSpatialScope-SpatialScope + + + + + + + + + + + + + + No limitations to public access + + + + + + + Conditions d'utilisation spécifiques + + + + + + Les conditions d'utilisation du service sont régies par les conditions d’accès et d’utilisation des services web géographiques de visualisation du Service public de Wallonie. + + + + + view + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Service public de Wallonie (SPW) + + + + + + + helpdesk.carto@spw.wallonie.be + + + + + + + + + + + + + + + + + https://geoservices.test.wallonie.be/geoserver/inspire_hh/ows?service=WMS&version=1.3.0&request=GetCapabilities + + + OGC:WMS + + + INSPIRE Santé et sécurité des personnes - Service de visualisation WMS + + + Adresse de connexion au service de visualisation WMS-Inspire des couches de données du thème "Santé et sécurité des personnes". + + + + + + + + + + + + + + + + + + + + + Service + + + + + + + + + + + + + Règlement (CE) n o 976/2009 de la Commission du 19 octobre 2009 portant modalités d’application de la directive 2007/2/CE du Parlement européen et du Conseil en ce qui concerne les services en réseau + + + + + 2009-10-19 + + + + + + + + + + Voir la spécification référencée + + + true + + + + + + + + + + + + + RÈGLEMENT (UE) N o 1089/2010 DE LA COMMISSION du 23 novembre 2010 portant modalités d'application de la directive 2007/2/CE du Parlement européen et du Conseil en ce qui concerne l'interopérabilité des séries et des services de données géographiques + + + + + 2010-12-08 + + + + + + + + + + Voir la spécification référencée + + + true + + + + + + + + \ No newline at end of file diff --git a/tests/functionaltests/suites/iso19115p3/default.yml b/tests/functionaltests/suites/iso19115p3/default.yml new file mode 100644 index 000000000..4f25dc28c --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/default.yml @@ -0,0 +1,103 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2024 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +server: + url: http://localhost/pycsw/csw.py?config=tests/functionaltests/suites/iso19115p3/default.yml + mimetype: application/xml; charset=UTF-8 + encoding: UTF-8 + language: en-US + maxrecords: 10 + pretty_print: true + #gzip_compresslevel: 8 + #spatial_ranking: true + +profiles: + - iso19115p3 + +logging: + level: DEBUG +# logfile: /tmp/pycsw.log + +federatedcatalogues: + - http://geo.data.gov/geoportal/csw/discovery + +manager: + transactions: false + allowed_ips: + - 127.0.0.1 + +metadata: + identification: + title: pycsw Geospatial Catalogue + description: pycsw is an OARec and OGC CSW server implementation written in Python + keywords: + - catalogue + - discovery + keywords_type: theme + fees: None + accessconstraints: None + provider: + name: pycsw + url: https://pycsw.org/ + contact: + name: Kralidis, Tom + position: Senior Systems Scientist + address: TBA + city: Toronto + stateorprovince: Ontario + postalcode: M9C 3Z9 + country: Canada + phone: +01-416-xxx-xxxx + fax: +01-416-xxx-xxxx + email: tomkralidis@gmail.com + url: http://kralidis.ca/ + hours: 0800h - 1600h EST + instructions: During hours of service. Off on weekends. + role: pointOfContact + + inspire: + enabled: false + languages_supported: + - eng + - gre + default_language: eng + date: 2011-03-29 + gemet_keywords: + - Utility and governmental services + conformity_service: notEvaluated + contact_name: National Technical University of Athens + contact_email: tzotsos@gmail.com + temp_extent: + begin: 2011-02-01 + end: 2011-03-30 + +repository: + # sqlite + database: sqlite:///tests/functionaltests/suites/iso19115p3/data/records.db + table: records diff --git a/tests/functionaltests/suites/iso19115p3/expected/get_DescribeRecord.xml b/tests/functionaltests/suites/iso19115p3/expected/get_DescribeRecord.xml new file mode 100644 index 000000000..74db5db9d --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/expected/get_DescribeRecord.xml @@ -0,0 +1,297 @@ + + + + + + + Wrapper namespace to support Catalog Service implementations + + + + + + + + + + + + + + + + + + + + + + class of information to which the referencing entity applies + + + + + + + + + + + links a given operationName (mandatory attribute of SV_OperationMetadata) with a data set identified by an 'identifier' + + + + + + + + + scoped identifier of the resource in the context of the given service instance NOTE: name of the resources (i.e. dataset) as it is used by a service instance (e.g. layer name or featureTypeName). + + + + + reference to the dataset on which the service operates + + + + + + + + + + + + + + + + + + class of information to which the referencing entity applies + + + + + + + + + + + Operation Chain Information + + + + + + + + + the name, as used by the service for this chain + + + + + a narrative explanation of the services in the chain and resulting output + + + + + + + + + + + + + + + + + describes the signature of one and only one method provided by the service + + + + + + + + + a unique identifier for this interface + + + + + distributed computing platforms on which the operation has been implemented + + + + + free text description of the intent of the operation and the results of the operation + + + + + the name used to invoke this interface within the context of the DCP. The name is identical for all DCPs. + + + + + handle for accessing the service interface + + + + + + + + + + + + + + + + + + + parameter information + + + + + + + + + the name, as used by the service for this parameter + + + + + indication if the parameter is an input to the service, an output or both + + + + + a narrative explanation of the role of the parameter + + + + + indication if the parameter is required + + + + + indication if more than one value of the parameter may be provided + + + + + + + + + + + + + + + + class of information to which the referencing entity applies + + + + + class of information to which the referencing entity applies + + + + + the parameter is an input parameter to the service instance + + + + + the parameter is an output parameter to the service instance + + + + + the parameter is both an input and output parameter to the service instance + + + + + + + + + + + + + identification of capabilities which a service provider makes available to a service user through a set of interfaces that define a behaviour - See ISO 19119 for further information + + + + + + + + + a service type name, E.G. 'discovery', 'view', 'download', 'transformation', or 'invoke' + + + + + provide for searching based on the version of serviceType. For example, we may only be interested in OGC Catalogue V1.1 services. If version is maintained as a separate attribute, users can easily search for all services of a type regardless of the version + + + + + information about the availability of the service, including, 'fees' 'planned' 'available date and time' 'ordering instructions' 'turnaround' + + + + + type of coupling between service and associated data (if exists) + + + + + further description of the data coupling in the case of tightly coupled services + + + + + provides a reference to the dataset on which the service operates + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/iso19115p3/expected/get_GetCapabilities.xml b/tests/functionaltests/suites/iso19115p3/expected/get_GetCapabilities.xml new file mode 100644 index 000000000..9182ff3cd --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/expected/get_GetCapabilities.xml @@ -0,0 +1,330 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OARec and OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + mdb:MD_Metadata + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://datacite.org/schema/kernel-4 + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://standards.iso.org/iso/19115/-3/mdb/2.0 + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + mdb:MD_Metadata + + + mdb:AccessConstraints + mdb:Bands + mdb:Classification + mdb:CloudCover + mdb:ConditionApplyingToAccessAndUse + mdb:Contributor + mdb:Creator + mdb:Degree + mdb:Instrument + mdb:Lineage + mdb:OtherConstraints + mdb:Platform + mdb:Publisher + mdb:Relation + mdb:ResponsiblePartyRole + mdb:SensorType + mdb:SpecificationDate + mdb:SpecificationDateType + mdb:SpecificationTitle + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:alternative + dct:modified + dct:spatial + ows:BoundingBox + + + mdb:Abstract + mdb:AlternateTitle + mdb:AnyText + mdb:BoundingBox + mdb:CRS + mdb:CouplingType + mdb:CreationDate + mdb:Denominator + mdb:DistanceUOM + mdb:DistanceValue + mdb:Edition + mdb:Format + mdb:GeographicDescriptionCode + mdb:HasSecurityConstraints + mdb:Identifier + mdb:KeywordType + mdb:Language + mdb:Modified + mdb:OperatesOn + mdb:OperatesOnIdentifier + mdb:OperatesOnName + mdb:Operation + mdb:OrganisationName + mdb:ParentIdentifier + mdb:PublicationDate + mdb:ResourceLanguage + mdb:RevisionDate + mdb:ServiceType + mdb:ServiceTypeVersion + mdb:Subject + mdb:TempExtent_begin + mdb:TempExtent_end + mdb:Title + mdb:TopicCategory + mdb:Type + mdb:VertExtentMax + mdb:VertExtentMin + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://datacite.org/schema/kernel-4 + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://standards.iso.org/iso/19115/-3/mdb/2.0 + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/iso19115p3/expected/post_DescribeRecord.xml b/tests/functionaltests/suites/iso19115p3/expected/post_DescribeRecord.xml new file mode 100644 index 000000000..9a8576f40 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/expected/post_DescribeRecord.xml @@ -0,0 +1,297 @@ + + + + + + + Wrapper namespace to support Catalog Service implementations + + + + + + + + + + + + + + + + + + + + + + class of information to which the referencing entity applies + + + + + + + + + + + links a given operationName (mandatory attribute of SV_OperationMetadata) with a data set identified by an 'identifier' + + + + + + + + + scoped identifier of the resource in the context of the given service instance NOTE: name of the resources (i.e. dataset) as it is used by a service instance (e.g. layer name or featureTypeName). + + + + + reference to the dataset on which the service operates + + + + + + + + + + + + + + + + + + class of information to which the referencing entity applies + + + + + + + + + + + Operation Chain Information + + + + + + + + + the name, as used by the service for this chain + + + + + a narrative explanation of the services in the chain and resulting output + + + + + + + + + + + + + + + + + describes the signature of one and only one method provided by the service + + + + + + + + + a unique identifier for this interface + + + + + distributed computing platforms on which the operation has been implemented + + + + + free text description of the intent of the operation and the results of the operation + + + + + the name used to invoke this interface within the context of the DCP. The name is identical for all DCPs. + + + + + handle for accessing the service interface + + + + + + + + + + + + + + + + + + + parameter information + + + + + + + + + the name, as used by the service for this parameter + + + + + indication if the parameter is an input to the service, an output or both + + + + + a narrative explanation of the role of the parameter + + + + + indication if the parameter is required + + + + + indication if more than one value of the parameter may be provided + + + + + + + + + + + + + + + + class of information to which the referencing entity applies + + + + + class of information to which the referencing entity applies + + + + + the parameter is an input parameter to the service instance + + + + + the parameter is an output parameter to the service instance + + + + + the parameter is both an input and output parameter to the service instance + + + + + + + + + + + + + identification of capabilities which a service provider makes available to a service user through a set of interfaces that define a behaviour - See ISO 19119 for further information + + + + + + + + + a service type name, E.G. 'discovery', 'view', 'download', 'transformation', or 'invoke' + + + + + provide for searching based on the version of serviceType. For example, we may only be interested in OGC Catalogue V1.1 services. If version is maintained as a separate attribute, users can easily search for all services of a type regardless of the version + + + + + information about the availability of the service, including, 'fees' 'planned' 'available date and time' 'ordering instructions' 'turnaround' + + + + + type of coupling between service and associated data (if exists) + + + + + further description of the data coupling in the case of tightly coupled services + + + + + provides a reference to the dataset on which the service operates + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/functionaltests/suites/iso19115p3/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/iso19115p3/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..9182ff3cd --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/expected/post_GetCapabilities.xml @@ -0,0 +1,330 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OARec and OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + mdb:MD_Metadata + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://datacite.org/schema/kernel-4 + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://standards.iso.org/iso/19115/-3/mdb/2.0 + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + mdb:MD_Metadata + + + mdb:AccessConstraints + mdb:Bands + mdb:Classification + mdb:CloudCover + mdb:ConditionApplyingToAccessAndUse + mdb:Contributor + mdb:Creator + mdb:Degree + mdb:Instrument + mdb:Lineage + mdb:OtherConstraints + mdb:Platform + mdb:Publisher + mdb:Relation + mdb:ResponsiblePartyRole + mdb:SensorType + mdb:SpecificationDate + mdb:SpecificationDateType + mdb:SpecificationTitle + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:alternative + dct:modified + dct:spatial + ows:BoundingBox + + + mdb:Abstract + mdb:AlternateTitle + mdb:AnyText + mdb:BoundingBox + mdb:CRS + mdb:CouplingType + mdb:CreationDate + mdb:Denominator + mdb:DistanceUOM + mdb:DistanceValue + mdb:Edition + mdb:Format + mdb:GeographicDescriptionCode + mdb:HasSecurityConstraints + mdb:Identifier + mdb:KeywordType + mdb:Language + mdb:Modified + mdb:OperatesOn + mdb:OperatesOnIdentifier + mdb:OperatesOnName + mdb:Operation + mdb:OrganisationName + mdb:ParentIdentifier + mdb:PublicationDate + mdb:ResourceLanguage + mdb:RevisionDate + mdb:ServiceType + mdb:ServiceTypeVersion + mdb:Subject + mdb:TempExtent_begin + mdb:TempExtent_end + mdb:Title + mdb:TopicCategory + mdb:Type + mdb:VertExtentMax + mdb:VertExtentMin + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://datacite.org/schema/kernel-4 + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://standards.iso.org/iso/19115/-3/mdb/2.0 + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/iso19115p3/expected/post_GetDomain-property.xml b/tests/functionaltests/suites/iso19115p3/expected/post_GetDomain-property.xml new file mode 100644 index 000000000..06bde4395 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/expected/post_GetDomain-property.xml @@ -0,0 +1,10 @@ + + + + + mdb:TopicCategory + + geoscientificInformation + + + diff --git a/tests/functionaltests/suites/iso19115p3/expected/post_GetRecordById-ISO19139-full.xml b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecordById-ISO19139-full.xml new file mode 100644 index 000000000..8c7d78441 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecordById-ISO19139-full.xml @@ -0,0 +1,196 @@ + + + + + + + + 09a7c1d4c97ccdd7e34306deb91320ab95d51bb8 + + + + + + + + + + + + + + dataset + + + + + + + + + CSIRO + + + + + Peter Warren + + + Software Engineer + + + + + + + +61 2 9490 8802 + + + voice + + + + + + + 11 Julius Ave + + + North Ryde + + + CSIRO + + + 2113 + + + Australia + + + + + + + + + + + + + + + + + + 2018-02-08T11:04:47 + + + creation + + + + + 2018-02-08T11:04:47 + + + revision + + + + + + + ISO 19115-1:2014 + + + + + + + + + ProvinceFullExtent + + + + + + + + + + features + + + ProvinceFullExtent + + + + + geoscientificInformation + + + + + + + 106.57 + + + 171.88 + + + -49.86 + + + -3.63 + + + + + + + + + + + + + + + https://nvclwebservices.csiro.au/geoserver/wms?SERVICE=WMS& + + + OGC:WMS-1.1.1-http-get-map + + + gml:ProvinceFullExtent + + + ProvinceFullExtent + + + + + + + https://nvclwebservices.csiro.au/geoserver/wms?request=GetLegendGraphic&format=image%2Fpng&width=20&height=20&layer=gml%3AProvinceFullExtent + + + image/png + + + Default Polygon (LegendURL) + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/iso19115p3/expected/post_GetRecordById-brief.xml b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecordById-brief.xml new file mode 100644 index 000000000..763354409 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecordById-brief.xml @@ -0,0 +1,111 @@ + + + + + + + + 5ebc3cb7-a3b5-4760-a8ff-851d5d5beb32 + + + + + + + + + 3D geological model of the Otway and Torquay Basin 2011 + + + + + + + + + 143.0 + + + 144.0 + + + -39.4 + + + -38.4 + + + + + + + -400.0 + + + 300.0 + + + + + + + + + + + + + + + + http://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:37363 + + + WWW:LINK-1.0-http--link + + + View Reports + + + + + + + + + + http://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:107513 + + + WWW:LINK-1.0-http--link + + + Download Metadata and 3D model data + + + + + + + + + + http://geomodels.auscope.org/model/otway + + + WWW:LINK-1.0-http--link + + + 3D Geological Model + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/functionaltests/suites/iso19115p3/expected/post_GetRecordById-full-dc.xml b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecordById-full-dc.xml new file mode 100644 index 000000000..da837a3d8 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecordById-full-dc.xml @@ -0,0 +1,28 @@ + + + + + 5ebc3cb7-a3b5-4760-a8ff-851d5d5beb32 + 3D geological model of the Otway and Torquay Basin 2011 + + Victoria + Otway Basin + Torquay Basin + 3D Geological Models + WWW:LINK-1.0-http--link + http://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:37363 + http://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:107513 + http://geomodels.auscope.org/model/otway + 2022-11-03T06:16:21 + A 3D model of the Otway and Torquay basins has been produced at 1:250 000 scale as part of GeoScience Victorias state-wide 3D geological model. To date there has been a “knowledge gap” in the transition between the basement and basin environments. This regional scale integration of the basement and basin models addresses this gap and provides a regional framework within which more detailed work can be carried out in the future. + +The construction and integration of the basin model has involved both the interpretation and building of new faults and stratigraphic surfaces, as well as utilising existing stratigraphic surfaces and structural interpretations from previous studies, predominantly the Otway Basin HSA SEEBASE project by FrOG Tech (Jorand et. al., 2010). + Earth Resources Victoria + eng + license + + -39.4 143.0 + -38.4 144.0 + + + \ No newline at end of file diff --git a/tests/functionaltests/suites/iso19115p3/expected/post_GetRecordById-full.xml b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecordById-full.xml new file mode 100644 index 000000000..131337d25 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecordById-full.xml @@ -0,0 +1,449 @@ + + + + + + + + 5ebc3cb7-a3b5-4760-a8ff-851d5d5beb32 + + + urn:uuid + + + + + + + + + + + + + + + + + + + + + + Earth Resources Victoria + + + + + + + 1300 366 356 + + + + + + + + + + GPO Box 2392 + + + Melbourne + + + Victoria + + + 3001 + + + Australia + + + customer.service@ecodev.vic.gov.au + + + + + + + + + Anthony Hurst + + + Executive Director, Earth Resources Policy and Programs + + + + + + + + + + + 2022-11-03T06:16:21 + + + + + + + + + + 2022-11-03T06:17:02 + + + + + + + + + + ISO 19115-3 + + + + + + + http://portal.auscope.org/geonetwork/srv/api/records/5ebc3cb7-a3b5-4760-a8ff-851d5d5beb32 + + + + + + + + + + + + 3D geological model of the Otway and Torquay Basin 2011 + + + + + 2010-01-01 + + + + + + + https://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:107513 + + + + Reference + + + + + + + + + + + + + AuScope + + + + + + + Level 2, 700 Swanston Street + + + Carlton + + + Victoria + + + 3053 + + + Australia + + + info@auscope.org.au + + + + + + + + + + https://ror.org/04s1m4564 + + + ROR + + + Research Organization Registry (ROR) Entry + + + + + + + + + + + + + + + + Earth Resources Victoria + + + + + + + 1300 366 356 + + + + + + + + + + GPO Box 2392 + + + Melbourne + + + Victoria + + + 3001 + + + Australia + + + customer.service@ecodev.vic.gov.au + + + + + + + + + + + + + + + + + + P.B. SKLADZIEN + + + + + + + + + + + + + + + C. Jorand + + + + + + + + + + + + + + A. Krassay + + + + + + + + + + + + + + L. Hall + + + + + + + + + A 3D model of the Otway and Torquay basins has been produced at 1:250 000 scale as part of GeoScience Victorias state-wide 3D geological model. To date there has been a “knowledge gap” in the transition between the basement and basin environments. This regional scale integration of the basement and basin models addresses this gap and provides a regional framework within which more detailed work can be carried out in the future. + +The construction and integration of the basin model has involved both the interpretation and building of new faults and stratigraphic surfaces, as well as utilising existing stratigraphic surfaces and structural interpretations from previous studies, predominantly the Otway Basin HSA SEEBASE project by FrOG Tech (Jorand et. al., 2010). + + + + + + + 143.00 + + + 144.00 + + + -39.40 + + + -38.40 + + + + + + + -400 + + + 300 + + + + + + + + + Victoria + + + Otway Basin + + + Torquay Basin + + + + + + + + + + 3D Geological Models + + + + + + + + + + https://creativecommons.org/licenses/by/4.0/ + + + + + + + + + + + + + + + + + + + + + + + + + + http://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:37363 + + + WWW:LINK-1.0-http--link + + + View Reports + + + + + + + http://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:107513 + + + WWW:LINK-1.0-http--link + + + Download Metadata and 3D model data + + + + + + + + + + + http://geomodels.auscope.org/model/otway + + + WWW:LINK-1.0-http--link + + + 3D Geological Model + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/functionaltests/suites/iso19115p3/expected/post_GetRecordById-srv-brief.xml b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecordById-srv-brief.xml new file mode 100644 index 000000000..99581d940 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecordById-srv-brief.xml @@ -0,0 +1,165 @@ + + + + + + + + 1714cd1e-6685-4dea-a6f4-b51612a15ed0 + + + + + + + service + + + + + + + + + INSPIRE - Santé et sécurité des personnes en Wallonie (BE) - Service de visualisation WMS + + + + + + + + + + + + + Industrie et services + + + Société et activités + + + Santé et sécurité des personnes + + + aspects sociaux + + + population + + + santé humaine + + + santé + + + sécurité + + + Reporting INSPIRE + + + Human health and safety + + + HH + + + health + + + inspire + + + WMS + + + View + + + validationtest + + + Service d’accès aux cartes + + + Régional + + + + + + + + + 2.75 + + + 6.51 + + + 49.45 + + + 50.85 + + + + + + + + + + + 2018-03-01 + + + publication + + + + + + + + + + + https://geoservices.test.wallonie.be/geoserver/inspire_hh/ows?service=WMS&version=1.3.0&request=GetCapabilities + + + OGC:WMS + + + INSPIRE Santé et sécurité des personnes - Service de visualisation WMS + + + Adresse de connexion au service de visualisation WMS-Inspire des couches de données du thème "Santé et sécurité des personnes". + + + + + + + https://metawal.wallonie.be/geonetwork/inspire/api/records/1714cd1e-6685-4dea-a6f4-b51612a15ed0/attachments/wms_inspire_20190430.png + + + WWW:LINK-1.0-http--image-thumbnail + + + preview + + + Web image thumbnail (URL) + + + + + + + + + diff --git a/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-all-csw-output.xml b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-all-csw-output.xml new file mode 100644 index 000000000..cbcfe132d --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-all-csw-output.xml @@ -0,0 +1,2473 @@ + + + + + + + + + + 5ebc3cb7-a3b5-4760-a8ff-851d5d5beb32 + + + urn:uuid + + + + + + + + + + + + + + + + + + + + + + Earth Resources Victoria + + + + + + + 1300 366 356 + + + + + + + + + + GPO Box 2392 + + + Melbourne + + + Victoria + + + 3001 + + + Australia + + + customer.service@ecodev.vic.gov.au + + + + + + + + + Anthony Hurst + + + Executive Director, Earth Resources Policy and Programs + + + + + + + + + + + 2022-11-03T06:16:21 + + + + + + + + + + 2022-11-03T06:17:02 + + + + + + + + + + ISO 19115-3 + + + + + + + http://portal.auscope.org/geonetwork/srv/api/records/5ebc3cb7-a3b5-4760-a8ff-851d5d5beb32 + + + + + + + + + + + + 3D geological model of the Otway and Torquay Basin 2011 + + + + + 2010-01-01 + + + + + + + https://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:107513 + + + + Reference + + + + + + + + + + + + + AuScope + + + + + + + Level 2, 700 Swanston Street + + + Carlton + + + Victoria + + + 3053 + + + Australia + + + info@auscope.org.au + + + + + + + + + + https://ror.org/04s1m4564 + + + ROR + + + Research Organization Registry (ROR) Entry + + + + + + + + + + + + + + + + Earth Resources Victoria + + + + + + + 1300 366 356 + + + + + + + + + + GPO Box 2392 + + + Melbourne + + + Victoria + + + 3001 + + + Australia + + + customer.service@ecodev.vic.gov.au + + + + + + + + + + + + + + + + + + P.B. SKLADZIEN + + + + + + + + + + + + + + + C. Jorand + + + + + + + + + + + + + + A. Krassay + + + + + + + + + + + + + + L. Hall + + + + + + + + + A 3D model of the Otway and Torquay basins has been produced at 1:250 000 scale as part of GeoScience Victorias state-wide 3D geological model. To date there has been a “knowledge gap” in the transition between the basement and basin environments. This regional scale integration of the basement and basin models addresses this gap and provides a regional framework within which more detailed work can be carried out in the future. + +The construction and integration of the basin model has involved both the interpretation and building of new faults and stratigraphic surfaces, as well as utilising existing stratigraphic surfaces and structural interpretations from previous studies, predominantly the Otway Basin HSA SEEBASE project by FrOG Tech (Jorand et. al., 2010). + + + + + + + 143.00 + + + 144.00 + + + -39.40 + + + -38.40 + + + + + + + -400 + + + 300 + + + + + + + + + Victoria + + + Otway Basin + + + Torquay Basin + + + + + + + + + + 3D Geological Models + + + + + + + + + + https://creativecommons.org/licenses/by/4.0/ + + + + + + + + + + + + + + + + + + + + + + + + + + http://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:37363 + + + WWW:LINK-1.0-http--link + + + View Reports + + + + + + + http://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:107513 + + + WWW:LINK-1.0-http--link + + + Download Metadata and 3D model data + + + + + + + + + + + http://geomodels.auscope.org/model/otway + + + WWW:LINK-1.0-http--link + + + 3D Geological Model + + + + + + + + + + + + + + + + 09a7c1d4c97ccdd7e34306deb91320ab95d51bb8 + + + + + + + + + + + + + + dataset + + + + + + + + + CSIRO + + + + + Peter Warren + + + Software Engineer + + + + + + + +61 2 9490 8802 + + + voice + + + + + + + 11 Julius Ave + + + North Ryde + + + CSIRO + + + 2113 + + + Australia + + + + + + + + + + + + + + + + + + 2018-02-08T11:04:47 + + + creation + + + + + 2018-02-08T11:04:47 + + + revision + + + + + + + ISO 19115-1:2014 + + + + + + + + + ProvinceFullExtent + + + + + + + + + + features + + + ProvinceFullExtent + + + + + geoscientificInformation + + + + + + + 106.57 + + + 171.88 + + + -49.86 + + + -3.63 + + + + + + + + + + + + + + + https://nvclwebservices.csiro.au/geoserver/wms?SERVICE=WMS& + + + OGC:WMS-1.1.1-http-get-map + + + gml:ProvinceFullExtent + + + ProvinceFullExtent + + + + + + + https://nvclwebservices.csiro.au/geoserver/wms?request=GetLegendGraphic&format=image%2Fpng&width=20&height=20&layer=gml%3AProvinceFullExtent + + + image/png + + + Default Polygon (LegendURL) + + + + + + + + + + + + + + + + 74f81503-8d39-4ec8-a49a-c76e0cd74946 + + + urn:uuid + + + + + + + + + + + + + + + + + + + + Collection de données thématiques + + + + + + + + + + + + Direction des Eaux souterraines (SPW - Agriculture, Ressources naturelles et Environnement - Département de l'Environnement et de l'Eau - Direction des Eaux souterraines) + + + + + + + +32 (0)81/335923 + + + + + + + + + + veronique.willame@spw.wallonie.be + + + + + + + + + Véronique Willame + + + + + + + + + + + 2023-08-08T07:34:11.366Z + + + + + + + + + + 2019-04-02T12:32:13 + + + + + + + + + + ISO 19115 + + + 2003/Cor 1:2006 + + + + + + + https://metawal.wallonie.be/geonetwork/srv/api/records/74f81503-8d39-4ec8-a49a-c76e0cd74946 + + + + + + + + + + + + EPSG:31370 + + + Belge 1972 / Belgian Lambert 72 (EPSG:31370) + + + + + + + + + + + + + + Protection des captages - Série + + + PROTECT_CAPT + + + + + 2000-01-01 + + + + + + + + + + 2023-07-31 + + + + + + + + + + 2022-11-08 + + + + + + + + + + PROTECT_CAPT + + + BE.SPW.INFRASIG.GINET + + + + + + + 74f81503-8d39-4ec8-a49a-c76e0cd74946 + + + http://geodata.wallonie.be/id/ + + + + + + + Cette collection de données comprend les zones de surveillance arrêtées, de prévention forfaitaires et de prévention arrêtées ou à l'enquête publique autour des captages. + +Cet ensemble de classes d'entités est constitué de trois couches distinctes. +- Les zones de surveillance arrêtées (PROTECT_CAPT__ZONE_III_ARRETEE) +- les zones de prévention arrêtées (PROTECT_CAPT__ZONE_II_ARRETEE) +- les zones de prévention forfaitaires (PROTECT_CAPT__ZONE_II_FORFAIT) + +La classe d'entités "zones de surveillance arrêtées" contient l'ensemble des zones de surveillance délimitées autour de certaines zones de prévention (approuvées par arrêté ministériel) des captages d'eau de distribution publique d'eau potable les plus importants de par les volumes exploités. Actuellement, on en compte cinq sur toute la Wallonie. + +Ces zones de surveillance III sont délimitées par le bassin d'alimentation et le bassin hydrogéologique et fournies à la Directions des Eaux souterraines (SPW - Agriculture, Ressources naturelles et Environnement - Département de l'Environnement et de l'Eau - Direction des Eaux souterraines) sur document papier par le producteur d'eau publique qui a réalisé l'étude. + +La classe d'entités "zones de prévention arrêtées" contient l'ensemble des zones de prévention (autour des captages d'eau souterraine) rapprochées (IIa) et éloignées (IIb) approuvées par arrêté ministériel, à l'enquête publique (en cours ou terminée) ou à l'instruction. Cette couche couvre toute la Wallonie. + +La classe d'entités "zones de prévention forfaitaires" autour des captages contient l'ensemble des zones de prévention forfaitaires (ou théoriques), autour des captages d'eau souterraine de distribution publique. Ces zones de prévention sont provisoires. Elles sont de forme circulaire et seront définies et officialisées, dans le futur, après une étude de délimitation par le producteur d'eau qui l'exploite le captage. + +Les diamètres des zones de prévention forfaitaires rapprochées (IIa) et éloignées (IIb) sont fonction de la nature du terrain. La méthode des distances théoriques tient compte essentiellement de la perméabilité des terrains: zone de prise d'eau (10 m minimum autour des installations), zone de prévention rapprochée IIa (35 m autour des installations de la prise d'eau), zone de prévention IIb (100 m dans les aquifères sableux, 500 m dans les aquifères graveleux et 1000 m dans les aquifères fissurés et karstiques autour de la zone de prévention rapprochée). Cette couche couvre toute la Wallonie. + +Suite au décalage entre la mise à jour des Zones de prévention forfaitaires autour des captages (décembre 2018) et des Zones de prévention arrêtée ou à l'enquête publique autour des captages, mises à jour en mai 2020, et lorsqu’une zone arrêtée est présente pour un captage, c’est celle-ci qui prime au détriment de la zone forfaitaire. La mise à jour des Zones de prévention forfaitaires autour des captages est prévue début juillet 2020. + + + + + + + + + + Helpdesk carto du SPW (SPW - Secrétariat général - SPW Digital - Département Données transversales - Gestion et valorisation de la donnée) + + + + + + + helpdesk.carto@spw.wallonie.be + + + + + + + + + + + + + + + + + + Direction des Eaux souterraines (SPW - Agriculture, Ressources naturelles et Environnement - Département de l'Environnement et de l'Eau - Direction des Eaux souterraines) + + + + + + + +32 (0)81/335923 + + + + + + + + + + veronique.willame@spw.wallonie.be + + + + + + + + + Véronique Willame + + + + + + + + + + + + + + + + Service public de Wallonie (SPW) + + + + + + + + + + https://geoportail.wallonie.be + + + WWW:LINK + + + Géoportail de la Wallonie + + + Géoportail de la Wallonie + + + + + + + + + + + + + + + + + + + + + 10000 + + + + + + + geoscientificInformation + + + inlandWaters + + + + + Région wallonne + + + + + 2.75 + + + 6.50 + + + 49.45 + + + 50.85 + + + + + + + + + https://metawal.wallonie.be/geonetwork/srv/api/records/74f81503-8d39-4ec8-a49a-c76e0cd74946/attachments/PROTECT_CAPT.png + + + protect_capt_pic + + + png + + + + + + + https://metawal.wallonie.be/geonetwork/srv/api/records/74f81503-8d39-4ec8-a49a-c76e0cd74946/attachments/PROTECT_CAPT_s.png + + + protect_capt_pic_small + + + png + + + + + + + Sol et sous-sol + + + Eau + + + + + + + + Thèmes du géoportail wallon + + + + + 2014-01-01 + + + + + + + + + + 2014-06-26 + + + + + + + + + + geonetwork.thesaurus.external.theme.Themes_geoportail_wallon_hierarchy + + + + + + + + + + + eau + + + politique environnementale + + + + + + + + GEMET themes + + + + + 2009-01-01 + + + + + + + + + + 2009-09-22 + + + + + + + + + + geonetwork.thesaurus.external.theme.gemet-theme + + + + + + + + + + + eau potable + + + surveillance de l'environnement + + + surveillance de l'eau + + + eau de surface + + + captage + + + eaux souterraines + + + zone de captage d'eau potable + + + zone protégée de captage d'eau + + + protection de zone de captage de l'eau + + + captage d'eau + + + + + + + + GEMET + + + + + 2009-01-01 + + + + + + + + + + 2009-09-22 + + + + + + + + + + geonetwork.thesaurus.external.theme.gemet + + + + + + + + + + + DGO3_BDREF + + + WalOnMap + + + Extraction_DIG + + + DGO3_CIGALE + + + Reporting INSPIRENO + + + Open Data + + + BDInfraSIGNO + + + PanierTelechargementGeoportail + + + + + + + + Mots-clés InfraSIG + + + + + 2022-10-03 + + + + + + + + + + 2022-10-03 + + + + + + + + + + geonetwork.thesaurus.external.theme.infraSIG + + + + + + + + + + + zone forfaitaire + + + prévention rapprochée + + + prévention éloignée + + + prévention + + + IIa + + + IIb + + + surveillance + + + III + + + + + + + + + + + + + + + + Les conditions générales d'accès s’appliquent. + + + Les conditions générales d'utilisation s'appliquent. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modèle de données + + + + + http://environnement.wallonie.be/cartosig/Inventaire_Donnees/Modeles_SIG3/PROTECT_CAPT.pdf + + + WWW:LINK + + + application/pdf + + + Modèle de données (document pdf) + + + + + + + + + + + + + + + + + + ESRI Shapefile (.shp) + + + + - + + + + + + + + + + + ESRI File Geodatabase (.fgdb) + + + + 10.x + + + + + + + + + + + + + + + + Service public de Wallonie (SPW) + + + + + + + helpdesk.carto@spw.wallonie.be + + + + + + + + + + + + + Cette ressource est une collection de données. En la commandant, l'ensemble des géodonnées constitutives de cette collection vous sera automatiquement fourni. + +Les instructions pour obtenir une copie physique d’une donnée sont détaillées sur https://geoportail.wallonie.be/telecharger. + + + + + + + + + + + + + + + + Cellule SIG de la DGARNE (SPW - Agriculture, Ressources naturelles et Environnement - Département de l'Étude du milieu naturel et agricole - Direction de la Coordination des Données) + + + + + + + sig.dgarne@spw.wallonie.be + + + + + + + + + + + + + + + + + https://geoportail.wallonie.be/walonmap/#ADU=https://geoservices.wallonie.be/arcgis/rest/services/EAU/PROTECT_CAPT/MapServer + + + WWW:LINK + + + Application WalOnMap - Toute la Wallonie à la carte + + + Application cartographique du Geoportail (WalOnMap) qui permet de découvrir les données géographiques de la Wallonie. + + + + + + + + + + http://geoapps.wallonie.be/Cigale/Public/#CTX=EAUX_SOUT + + + WWW:LINK + + + Protection des eaux souteraines (CIGALE) - Application + + + Application de consultation des principales données cartographiques du SPW Agriculture, Ressources naturelles et Environnements + + + + + + + + + + https://geoservices.wallonie.be/arcgis/rest/services/EAU/PROTECT_CAPT/MapServer + + + ESRI:REST + + + Service de visualisation ESRI-REST + + + Ce service ESRI-REST permet de visualiser le jeu de données "Protection des captages" + + + + + + + + + + https://geoservices.wallonie.be/arcgis/services/EAU/PROTECT_CAPT/MapServer/WMSServer?request=GetCapabilities&service=WMS + + + OGC:WMS + + + Service de visualisation WMS + + + Ce service WMS permet de visualiser le jeu de données "Protection des captages" + + + + + + + + + + http://environnement.wallonie.be/de/eso/atlas/index.htm#4.1a + + + WWW:LINK + + + Site web Etat des nappes d'eau souterraine-chapitre IV.1a. Zones de prévention programmées ou en cours d'étude et IV.1b. Zones de protection définies par arrêté ministériel + + + Pages web Etat des nappes d'eau souterraine-chapitre IV.1a. Zones de prévention programmées ou en cours d'étude +et IV.1b Zones de protection définies par arrêté ministériel + + + + + + + + + + + + + + Pour les zones arrêtées (les zones de surveillance arrêtées et les zones de prévention arrêtées ou à l'enquête publique), les entités sont numérisées sur base des plans papier des producteurs d'eau qui réalisent l'étude de délimitation des zones de prévention. Le dossier est déposé au centre extérieur de la DESO pour réception, vérification, officialisation par arrêté ministériel et publication au Moniteur belge. + +Chaque zone de prévention est numérisée par digitalisation (à la Direction des Eaux souterraines (SPW - Agriculture, Ressources naturelles et Environnement - Département de l'Environnement et de l'Eau - Direction des Eaux souterraines)) sur base de plans papier sur fond IGN et sur Fond cadastral. + +Pour les zones forfaitaires, les entités de cette couche sont des zones de prévention circulaires, générées autour de la position exacte de chacun des captages d'eau de distribution publique d'eau potable (qui n'ont pas encore de zones de prévention approuvée par arrêté ministériel), en créant un buffer de diamètres différents en fonction de la nature de l'aquifère et de la zone rapprochée ou éloignée. + + + + + + + + + + Collection de données thématiques + + + + + + + + + + + + + 1714cd1e-6685-4dea-a6f4-b51612a15ed0 + + + urn:uuid + + + + + + + + + + + + + + + + + + + + Service + + + + + + + + + + + + Gestion et valorisation de la donnée (SPW - Secrétariat général - SPW Digital - Département Données transversales - Gestion et valorisation de la donnée) + + + + + + + helpdesk.carto@spw.wallonie.be + + + + + + + + + + + + + 2023-12-11T13:33:59.133Z + + + + + + + + + + 2019-04-02T12:32:33 + + + + + + + + + + ISO 19119 + + + 2005/Amd.1:2008 + + + + + + + https://metawal.wallonie.be/geonetwork/srv/api/records/1714cd1e-6685-4dea-a6f4-b51612a15ed0 + + + + + + + + + + + + EPSG:31370 + + + Belge 1972 / Belgian Lambert 72 (EPSG:31370) + + + + + + + + + + + + + + EPSG:4326 + + + WGS 84 (EPSG:4326) + + + + + + + + + + + + + + EPSG:3857 + + + WGS 84 / Pseudo-Mercator (EPSG:3857) + + + + + + + + + + + + + + EPSG:3035 + + + ETRS89 / LAEA Europe (EPSG:3035) + + + + + + + + + + + + + + EPSG:4258 + + + ETRS89 (EPSG:4258) + + + + + + + + + + + + + + EPSG:3812 + + + ETRS89 / Belgian Lambert 2008 (EPSG:3812) + + + + + + + + + + + + + + INSPIRE - Santé et sécurité des personnes en Wallonie (BE) - Service de visualisation WMS + + + + + 2018-03-01 + + + + + + + + + + 1714cd1e-6685-4dea-a6f4-b51612a15ed0 + + + http://geodata.wallonie.be/id/ + + + + + + + Ce service de visualisation WMS INSPIRE permet de consulter les couches de données du thème "Santé et sécurité des personnes" au sein du territoire wallon (Belgique). + +Ce service de visualisation WMS est fourni par le Service public de Wallonie (SPW) et expose les couches de données géographiques constitutives du thème "Santé et sécurité des personnes" de la Directive (Annexe 3.5) sur l'ensemble du territoire wallon. + +Ce service permet donc de visualiser les couches de données sélectionnées comme faisant partie du thème "Bâtiments". Ces couches de données sont présentées "telles quelles", c'est-à-dire dans leur modèle de données initial, non conforme aux spécifications de données définies par la Directive. Les couches de données seront progressivement adaptées aux modèles de donnée commun INSPIRE suivant les spécifications du thème. + +Le service de visualisation est conforme aux spécifications de la Directive INSPIRE en la matière. + + + + + + + + + + Helpdesk carto du SPW (SPW - Secrétariat général - SPW Digital - Département de la Géomatique - Direction de l'Intégration des géodonnées) + + + + + + + helpdesk.carto@spw.wallonie.be + + + + + + + + + + + + + + + + + + Gestion et valorisation de la donnée (SPW - Secrétariat général - SPW Digital - Département Données transversales - Gestion et valorisation de la donnée) + + + + + + + helpdesk.carto@spw.wallonie.be + + + + + + + + + + + + + + + + + + Service public de Wallonie (SPW) + + + + + + + helpdesk.carto@spw.wallonie.be + + + + + + + https://geoportail.wallonie.be + + + WWW:LINK + + + Géoportail de la Wallonie + + + Géoportail de la Wallonie + + + + + + + + + + + + + + + + Région wallonne + + + + + 2.75 + + + 6.51 + + + 49.45 + + + 50.85 + + + + + + + + + https://metawal.wallonie.be/geonetwork/inspire/api/records/1714cd1e-6685-4dea-a6f4-b51612a15ed0/attachments/wms_inspire_20190430.png + + + + + + + Industrie et services + + + Société et activités + + + + + + + + Thèmes du géoportail wallon + + + + + 2014-01-01 + + + + + + + + + + 2014-06-26 + + + + + + + + + + geonetwork.thesaurus.external.theme.Themes_geoportail_wallon_hierarchy + + + + + + + + + + + Santé et sécurité des personnes + + + + + + + + GEMET - INSPIRE themes, version 1.0 + + + + + 2008-01-01 + + + + + + + + + + 2008-06-01 + + + + + + + + + + geonetwork.thesaurus.external.theme.httpinspireeceuropaeutheme-theme + + + + + + + + + + + aspects sociaux, population + + + santé humaine + + + + + + + + GEMET themes + + + + + 2009-01-01 + + + + + + + + + + 2009-09-22 + + + + + + + + + + geonetwork.thesaurus.external.theme.gemet-theme + + + + + + + + + + + santé + + + sécurité + + + + + + + + GEMET + + + + + 2009-01-01 + + + + + + + + + + 2009-09-22 + + + + + + + + + + geonetwork.thesaurus.external.theme.gemet + + + + + + + + + + + Reporting INSPIRE + + + + + + + + Mots-clés InfraSIG + + + + + 2022-10-03 + + + + + + + + + + 2022-10-03 + + + + + + + + + + geonetwork.thesaurus.external.theme.infraSIG + + + + + + + + + + + Human health and safety + + + HH + + + health + + + inspire + + + WMS + + + View + + + validationtest + + + + + + + + + + Service d’accès aux cartes + + + + + + + + Classification of spatial data services + + + + + 2008-01-01 + + + + + + + + + + 2008-12-03 + + + + + + + + + + geonetwork.thesaurus.external.theme.httpinspireeceuropaeumetadatacodelistSpatialDataServiceCategory-SpatialDataServiceCategory + + + + + + + + + + + Régional + + + + + + + + Champ géographique + + + + + 2019-01-01 + + + + + + + + + + 2019-05-22 + + + + + + + + + + geonetwork.thesaurus.external.theme.httpinspireeceuropaeumetadatacodelistSpatialScope-SpatialScope + + + + + + + + + + + + + + No limitations to public access + + + + + + + Conditions d'utilisation spécifiques + + + + + + Les conditions d'utilisation du service sont régies par les conditions d’accès et d’utilisation des services web géographiques de visualisation du Service public de Wallonie. + + + + + view + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Service public de Wallonie (SPW) + + + + + + + helpdesk.carto@spw.wallonie.be + + + + + + + + + + + + + + + + + https://geoservices.test.wallonie.be/geoserver/inspire_hh/ows?service=WMS&version=1.3.0&request=GetCapabilities + + + OGC:WMS + + + INSPIRE Santé et sécurité des personnes - Service de visualisation WMS + + + Adresse de connexion au service de visualisation WMS-Inspire des couches de données du thème "Santé et sécurité des personnes". + + + + + + + + + + + + + + + + + + + + + Service + + + + + + + + + + + + + Règlement (CE) n o 976/2009 de la Commission du 19 octobre 2009 portant modalités d’application de la directive 2007/2/CE du Parlement européen et du Conseil en ce qui concerne les services en réseau + + + + + 2009-10-19 + + + + + + + + + + Voir la spécification référencée + + + true + + + + + + + + + + + + + RÈGLEMENT (UE) N o 1089/2010 DE LA COMMISSION du 23 novembre 2010 portant modalités d'application de la directive 2007/2/CE du Parlement européen et du Conseil en ce qui concerne l'interopérabilité des séries et des services de données géographiques + + + + + 2010-12-08 + + + + + + + + + + Voir la spécification référencée + + + true + + + + + + + + + + diff --git a/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-all.xml b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-all.xml new file mode 100644 index 000000000..cbcfe132d --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-all.xml @@ -0,0 +1,2473 @@ + + + + + + + + + + 5ebc3cb7-a3b5-4760-a8ff-851d5d5beb32 + + + urn:uuid + + + + + + + + + + + + + + + + + + + + + + Earth Resources Victoria + + + + + + + 1300 366 356 + + + + + + + + + + GPO Box 2392 + + + Melbourne + + + Victoria + + + 3001 + + + Australia + + + customer.service@ecodev.vic.gov.au + + + + + + + + + Anthony Hurst + + + Executive Director, Earth Resources Policy and Programs + + + + + + + + + + + 2022-11-03T06:16:21 + + + + + + + + + + 2022-11-03T06:17:02 + + + + + + + + + + ISO 19115-3 + + + + + + + http://portal.auscope.org/geonetwork/srv/api/records/5ebc3cb7-a3b5-4760-a8ff-851d5d5beb32 + + + + + + + + + + + + 3D geological model of the Otway and Torquay Basin 2011 + + + + + 2010-01-01 + + + + + + + https://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:107513 + + + + Reference + + + + + + + + + + + + + AuScope + + + + + + + Level 2, 700 Swanston Street + + + Carlton + + + Victoria + + + 3053 + + + Australia + + + info@auscope.org.au + + + + + + + + + + https://ror.org/04s1m4564 + + + ROR + + + Research Organization Registry (ROR) Entry + + + + + + + + + + + + + + + + Earth Resources Victoria + + + + + + + 1300 366 356 + + + + + + + + + + GPO Box 2392 + + + Melbourne + + + Victoria + + + 3001 + + + Australia + + + customer.service@ecodev.vic.gov.au + + + + + + + + + + + + + + + + + + P.B. SKLADZIEN + + + + + + + + + + + + + + + C. Jorand + + + + + + + + + + + + + + A. Krassay + + + + + + + + + + + + + + L. Hall + + + + + + + + + A 3D model of the Otway and Torquay basins has been produced at 1:250 000 scale as part of GeoScience Victorias state-wide 3D geological model. To date there has been a “knowledge gap” in the transition between the basement and basin environments. This regional scale integration of the basement and basin models addresses this gap and provides a regional framework within which more detailed work can be carried out in the future. + +The construction and integration of the basin model has involved both the interpretation and building of new faults and stratigraphic surfaces, as well as utilising existing stratigraphic surfaces and structural interpretations from previous studies, predominantly the Otway Basin HSA SEEBASE project by FrOG Tech (Jorand et. al., 2010). + + + + + + + 143.00 + + + 144.00 + + + -39.40 + + + -38.40 + + + + + + + -400 + + + 300 + + + + + + + + + Victoria + + + Otway Basin + + + Torquay Basin + + + + + + + + + + 3D Geological Models + + + + + + + + + + https://creativecommons.org/licenses/by/4.0/ + + + + + + + + + + + + + + + + + + + + + + + + + + http://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:37363 + + + WWW:LINK-1.0-http--link + + + View Reports + + + + + + + http://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:107513 + + + WWW:LINK-1.0-http--link + + + Download Metadata and 3D model data + + + + + + + + + + + http://geomodels.auscope.org/model/otway + + + WWW:LINK-1.0-http--link + + + 3D Geological Model + + + + + + + + + + + + + + + + 09a7c1d4c97ccdd7e34306deb91320ab95d51bb8 + + + + + + + + + + + + + + dataset + + + + + + + + + CSIRO + + + + + Peter Warren + + + Software Engineer + + + + + + + +61 2 9490 8802 + + + voice + + + + + + + 11 Julius Ave + + + North Ryde + + + CSIRO + + + 2113 + + + Australia + + + + + + + + + + + + + + + + + + 2018-02-08T11:04:47 + + + creation + + + + + 2018-02-08T11:04:47 + + + revision + + + + + + + ISO 19115-1:2014 + + + + + + + + + ProvinceFullExtent + + + + + + + + + + features + + + ProvinceFullExtent + + + + + geoscientificInformation + + + + + + + 106.57 + + + 171.88 + + + -49.86 + + + -3.63 + + + + + + + + + + + + + + + https://nvclwebservices.csiro.au/geoserver/wms?SERVICE=WMS& + + + OGC:WMS-1.1.1-http-get-map + + + gml:ProvinceFullExtent + + + ProvinceFullExtent + + + + + + + https://nvclwebservices.csiro.au/geoserver/wms?request=GetLegendGraphic&format=image%2Fpng&width=20&height=20&layer=gml%3AProvinceFullExtent + + + image/png + + + Default Polygon (LegendURL) + + + + + + + + + + + + + + + + 74f81503-8d39-4ec8-a49a-c76e0cd74946 + + + urn:uuid + + + + + + + + + + + + + + + + + + + + Collection de données thématiques + + + + + + + + + + + + Direction des Eaux souterraines (SPW - Agriculture, Ressources naturelles et Environnement - Département de l'Environnement et de l'Eau - Direction des Eaux souterraines) + + + + + + + +32 (0)81/335923 + + + + + + + + + + veronique.willame@spw.wallonie.be + + + + + + + + + Véronique Willame + + + + + + + + + + + 2023-08-08T07:34:11.366Z + + + + + + + + + + 2019-04-02T12:32:13 + + + + + + + + + + ISO 19115 + + + 2003/Cor 1:2006 + + + + + + + https://metawal.wallonie.be/geonetwork/srv/api/records/74f81503-8d39-4ec8-a49a-c76e0cd74946 + + + + + + + + + + + + EPSG:31370 + + + Belge 1972 / Belgian Lambert 72 (EPSG:31370) + + + + + + + + + + + + + + Protection des captages - Série + + + PROTECT_CAPT + + + + + 2000-01-01 + + + + + + + + + + 2023-07-31 + + + + + + + + + + 2022-11-08 + + + + + + + + + + PROTECT_CAPT + + + BE.SPW.INFRASIG.GINET + + + + + + + 74f81503-8d39-4ec8-a49a-c76e0cd74946 + + + http://geodata.wallonie.be/id/ + + + + + + + Cette collection de données comprend les zones de surveillance arrêtées, de prévention forfaitaires et de prévention arrêtées ou à l'enquête publique autour des captages. + +Cet ensemble de classes d'entités est constitué de trois couches distinctes. +- Les zones de surveillance arrêtées (PROTECT_CAPT__ZONE_III_ARRETEE) +- les zones de prévention arrêtées (PROTECT_CAPT__ZONE_II_ARRETEE) +- les zones de prévention forfaitaires (PROTECT_CAPT__ZONE_II_FORFAIT) + +La classe d'entités "zones de surveillance arrêtées" contient l'ensemble des zones de surveillance délimitées autour de certaines zones de prévention (approuvées par arrêté ministériel) des captages d'eau de distribution publique d'eau potable les plus importants de par les volumes exploités. Actuellement, on en compte cinq sur toute la Wallonie. + +Ces zones de surveillance III sont délimitées par le bassin d'alimentation et le bassin hydrogéologique et fournies à la Directions des Eaux souterraines (SPW - Agriculture, Ressources naturelles et Environnement - Département de l'Environnement et de l'Eau - Direction des Eaux souterraines) sur document papier par le producteur d'eau publique qui a réalisé l'étude. + +La classe d'entités "zones de prévention arrêtées" contient l'ensemble des zones de prévention (autour des captages d'eau souterraine) rapprochées (IIa) et éloignées (IIb) approuvées par arrêté ministériel, à l'enquête publique (en cours ou terminée) ou à l'instruction. Cette couche couvre toute la Wallonie. + +La classe d'entités "zones de prévention forfaitaires" autour des captages contient l'ensemble des zones de prévention forfaitaires (ou théoriques), autour des captages d'eau souterraine de distribution publique. Ces zones de prévention sont provisoires. Elles sont de forme circulaire et seront définies et officialisées, dans le futur, après une étude de délimitation par le producteur d'eau qui l'exploite le captage. + +Les diamètres des zones de prévention forfaitaires rapprochées (IIa) et éloignées (IIb) sont fonction de la nature du terrain. La méthode des distances théoriques tient compte essentiellement de la perméabilité des terrains: zone de prise d'eau (10 m minimum autour des installations), zone de prévention rapprochée IIa (35 m autour des installations de la prise d'eau), zone de prévention IIb (100 m dans les aquifères sableux, 500 m dans les aquifères graveleux et 1000 m dans les aquifères fissurés et karstiques autour de la zone de prévention rapprochée). Cette couche couvre toute la Wallonie. + +Suite au décalage entre la mise à jour des Zones de prévention forfaitaires autour des captages (décembre 2018) et des Zones de prévention arrêtée ou à l'enquête publique autour des captages, mises à jour en mai 2020, et lorsqu’une zone arrêtée est présente pour un captage, c’est celle-ci qui prime au détriment de la zone forfaitaire. La mise à jour des Zones de prévention forfaitaires autour des captages est prévue début juillet 2020. + + + + + + + + + + Helpdesk carto du SPW (SPW - Secrétariat général - SPW Digital - Département Données transversales - Gestion et valorisation de la donnée) + + + + + + + helpdesk.carto@spw.wallonie.be + + + + + + + + + + + + + + + + + + Direction des Eaux souterraines (SPW - Agriculture, Ressources naturelles et Environnement - Département de l'Environnement et de l'Eau - Direction des Eaux souterraines) + + + + + + + +32 (0)81/335923 + + + + + + + + + + veronique.willame@spw.wallonie.be + + + + + + + + + Véronique Willame + + + + + + + + + + + + + + + + Service public de Wallonie (SPW) + + + + + + + + + + https://geoportail.wallonie.be + + + WWW:LINK + + + Géoportail de la Wallonie + + + Géoportail de la Wallonie + + + + + + + + + + + + + + + + + + + + + 10000 + + + + + + + geoscientificInformation + + + inlandWaters + + + + + Région wallonne + + + + + 2.75 + + + 6.50 + + + 49.45 + + + 50.85 + + + + + + + + + https://metawal.wallonie.be/geonetwork/srv/api/records/74f81503-8d39-4ec8-a49a-c76e0cd74946/attachments/PROTECT_CAPT.png + + + protect_capt_pic + + + png + + + + + + + https://metawal.wallonie.be/geonetwork/srv/api/records/74f81503-8d39-4ec8-a49a-c76e0cd74946/attachments/PROTECT_CAPT_s.png + + + protect_capt_pic_small + + + png + + + + + + + Sol et sous-sol + + + Eau + + + + + + + + Thèmes du géoportail wallon + + + + + 2014-01-01 + + + + + + + + + + 2014-06-26 + + + + + + + + + + geonetwork.thesaurus.external.theme.Themes_geoportail_wallon_hierarchy + + + + + + + + + + + eau + + + politique environnementale + + + + + + + + GEMET themes + + + + + 2009-01-01 + + + + + + + + + + 2009-09-22 + + + + + + + + + + geonetwork.thesaurus.external.theme.gemet-theme + + + + + + + + + + + eau potable + + + surveillance de l'environnement + + + surveillance de l'eau + + + eau de surface + + + captage + + + eaux souterraines + + + zone de captage d'eau potable + + + zone protégée de captage d'eau + + + protection de zone de captage de l'eau + + + captage d'eau + + + + + + + + GEMET + + + + + 2009-01-01 + + + + + + + + + + 2009-09-22 + + + + + + + + + + geonetwork.thesaurus.external.theme.gemet + + + + + + + + + + + DGO3_BDREF + + + WalOnMap + + + Extraction_DIG + + + DGO3_CIGALE + + + Reporting INSPIRENO + + + Open Data + + + BDInfraSIGNO + + + PanierTelechargementGeoportail + + + + + + + + Mots-clés InfraSIG + + + + + 2022-10-03 + + + + + + + + + + 2022-10-03 + + + + + + + + + + geonetwork.thesaurus.external.theme.infraSIG + + + + + + + + + + + zone forfaitaire + + + prévention rapprochée + + + prévention éloignée + + + prévention + + + IIa + + + IIb + + + surveillance + + + III + + + + + + + + + + + + + + + + Les conditions générales d'accès s’appliquent. + + + Les conditions générales d'utilisation s'appliquent. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modèle de données + + + + + http://environnement.wallonie.be/cartosig/Inventaire_Donnees/Modeles_SIG3/PROTECT_CAPT.pdf + + + WWW:LINK + + + application/pdf + + + Modèle de données (document pdf) + + + + + + + + + + + + + + + + + + ESRI Shapefile (.shp) + + + + - + + + + + + + + + + + ESRI File Geodatabase (.fgdb) + + + + 10.x + + + + + + + + + + + + + + + + Service public de Wallonie (SPW) + + + + + + + helpdesk.carto@spw.wallonie.be + + + + + + + + + + + + + Cette ressource est une collection de données. En la commandant, l'ensemble des géodonnées constitutives de cette collection vous sera automatiquement fourni. + +Les instructions pour obtenir une copie physique d’une donnée sont détaillées sur https://geoportail.wallonie.be/telecharger. + + + + + + + + + + + + + + + + Cellule SIG de la DGARNE (SPW - Agriculture, Ressources naturelles et Environnement - Département de l'Étude du milieu naturel et agricole - Direction de la Coordination des Données) + + + + + + + sig.dgarne@spw.wallonie.be + + + + + + + + + + + + + + + + + https://geoportail.wallonie.be/walonmap/#ADU=https://geoservices.wallonie.be/arcgis/rest/services/EAU/PROTECT_CAPT/MapServer + + + WWW:LINK + + + Application WalOnMap - Toute la Wallonie à la carte + + + Application cartographique du Geoportail (WalOnMap) qui permet de découvrir les données géographiques de la Wallonie. + + + + + + + + + + http://geoapps.wallonie.be/Cigale/Public/#CTX=EAUX_SOUT + + + WWW:LINK + + + Protection des eaux souteraines (CIGALE) - Application + + + Application de consultation des principales données cartographiques du SPW Agriculture, Ressources naturelles et Environnements + + + + + + + + + + https://geoservices.wallonie.be/arcgis/rest/services/EAU/PROTECT_CAPT/MapServer + + + ESRI:REST + + + Service de visualisation ESRI-REST + + + Ce service ESRI-REST permet de visualiser le jeu de données "Protection des captages" + + + + + + + + + + https://geoservices.wallonie.be/arcgis/services/EAU/PROTECT_CAPT/MapServer/WMSServer?request=GetCapabilities&service=WMS + + + OGC:WMS + + + Service de visualisation WMS + + + Ce service WMS permet de visualiser le jeu de données "Protection des captages" + + + + + + + + + + http://environnement.wallonie.be/de/eso/atlas/index.htm#4.1a + + + WWW:LINK + + + Site web Etat des nappes d'eau souterraine-chapitre IV.1a. Zones de prévention programmées ou en cours d'étude et IV.1b. Zones de protection définies par arrêté ministériel + + + Pages web Etat des nappes d'eau souterraine-chapitre IV.1a. Zones de prévention programmées ou en cours d'étude +et IV.1b Zones de protection définies par arrêté ministériel + + + + + + + + + + + + + + Pour les zones arrêtées (les zones de surveillance arrêtées et les zones de prévention arrêtées ou à l'enquête publique), les entités sont numérisées sur base des plans papier des producteurs d'eau qui réalisent l'étude de délimitation des zones de prévention. Le dossier est déposé au centre extérieur de la DESO pour réception, vérification, officialisation par arrêté ministériel et publication au Moniteur belge. + +Chaque zone de prévention est numérisée par digitalisation (à la Direction des Eaux souterraines (SPW - Agriculture, Ressources naturelles et Environnement - Département de l'Environnement et de l'Eau - Direction des Eaux souterraines)) sur base de plans papier sur fond IGN et sur Fond cadastral. + +Pour les zones forfaitaires, les entités de cette couche sont des zones de prévention circulaires, générées autour de la position exacte de chacun des captages d'eau de distribution publique d'eau potable (qui n'ont pas encore de zones de prévention approuvée par arrêté ministériel), en créant un buffer de diamètres différents en fonction de la nature de l'aquifère et de la zone rapprochée ou éloignée. + + + + + + + + + + Collection de données thématiques + + + + + + + + + + + + + 1714cd1e-6685-4dea-a6f4-b51612a15ed0 + + + urn:uuid + + + + + + + + + + + + + + + + + + + + Service + + + + + + + + + + + + Gestion et valorisation de la donnée (SPW - Secrétariat général - SPW Digital - Département Données transversales - Gestion et valorisation de la donnée) + + + + + + + helpdesk.carto@spw.wallonie.be + + + + + + + + + + + + + 2023-12-11T13:33:59.133Z + + + + + + + + + + 2019-04-02T12:32:33 + + + + + + + + + + ISO 19119 + + + 2005/Amd.1:2008 + + + + + + + https://metawal.wallonie.be/geonetwork/srv/api/records/1714cd1e-6685-4dea-a6f4-b51612a15ed0 + + + + + + + + + + + + EPSG:31370 + + + Belge 1972 / Belgian Lambert 72 (EPSG:31370) + + + + + + + + + + + + + + EPSG:4326 + + + WGS 84 (EPSG:4326) + + + + + + + + + + + + + + EPSG:3857 + + + WGS 84 / Pseudo-Mercator (EPSG:3857) + + + + + + + + + + + + + + EPSG:3035 + + + ETRS89 / LAEA Europe (EPSG:3035) + + + + + + + + + + + + + + EPSG:4258 + + + ETRS89 (EPSG:4258) + + + + + + + + + + + + + + EPSG:3812 + + + ETRS89 / Belgian Lambert 2008 (EPSG:3812) + + + + + + + + + + + + + + INSPIRE - Santé et sécurité des personnes en Wallonie (BE) - Service de visualisation WMS + + + + + 2018-03-01 + + + + + + + + + + 1714cd1e-6685-4dea-a6f4-b51612a15ed0 + + + http://geodata.wallonie.be/id/ + + + + + + + Ce service de visualisation WMS INSPIRE permet de consulter les couches de données du thème "Santé et sécurité des personnes" au sein du territoire wallon (Belgique). + +Ce service de visualisation WMS est fourni par le Service public de Wallonie (SPW) et expose les couches de données géographiques constitutives du thème "Santé et sécurité des personnes" de la Directive (Annexe 3.5) sur l'ensemble du territoire wallon. + +Ce service permet donc de visualiser les couches de données sélectionnées comme faisant partie du thème "Bâtiments". Ces couches de données sont présentées "telles quelles", c'est-à-dire dans leur modèle de données initial, non conforme aux spécifications de données définies par la Directive. Les couches de données seront progressivement adaptées aux modèles de donnée commun INSPIRE suivant les spécifications du thème. + +Le service de visualisation est conforme aux spécifications de la Directive INSPIRE en la matière. + + + + + + + + + + Helpdesk carto du SPW (SPW - Secrétariat général - SPW Digital - Département de la Géomatique - Direction de l'Intégration des géodonnées) + + + + + + + helpdesk.carto@spw.wallonie.be + + + + + + + + + + + + + + + + + + Gestion et valorisation de la donnée (SPW - Secrétariat général - SPW Digital - Département Données transversales - Gestion et valorisation de la donnée) + + + + + + + helpdesk.carto@spw.wallonie.be + + + + + + + + + + + + + + + + + + Service public de Wallonie (SPW) + + + + + + + helpdesk.carto@spw.wallonie.be + + + + + + + https://geoportail.wallonie.be + + + WWW:LINK + + + Géoportail de la Wallonie + + + Géoportail de la Wallonie + + + + + + + + + + + + + + + + Région wallonne + + + + + 2.75 + + + 6.51 + + + 49.45 + + + 50.85 + + + + + + + + + https://metawal.wallonie.be/geonetwork/inspire/api/records/1714cd1e-6685-4dea-a6f4-b51612a15ed0/attachments/wms_inspire_20190430.png + + + + + + + Industrie et services + + + Société et activités + + + + + + + + Thèmes du géoportail wallon + + + + + 2014-01-01 + + + + + + + + + + 2014-06-26 + + + + + + + + + + geonetwork.thesaurus.external.theme.Themes_geoportail_wallon_hierarchy + + + + + + + + + + + Santé et sécurité des personnes + + + + + + + + GEMET - INSPIRE themes, version 1.0 + + + + + 2008-01-01 + + + + + + + + + + 2008-06-01 + + + + + + + + + + geonetwork.thesaurus.external.theme.httpinspireeceuropaeutheme-theme + + + + + + + + + + + aspects sociaux, population + + + santé humaine + + + + + + + + GEMET themes + + + + + 2009-01-01 + + + + + + + + + + 2009-09-22 + + + + + + + + + + geonetwork.thesaurus.external.theme.gemet-theme + + + + + + + + + + + santé + + + sécurité + + + + + + + + GEMET + + + + + 2009-01-01 + + + + + + + + + + 2009-09-22 + + + + + + + + + + geonetwork.thesaurus.external.theme.gemet + + + + + + + + + + + Reporting INSPIRE + + + + + + + + Mots-clés InfraSIG + + + + + 2022-10-03 + + + + + + + + + + 2022-10-03 + + + + + + + + + + geonetwork.thesaurus.external.theme.infraSIG + + + + + + + + + + + Human health and safety + + + HH + + + health + + + inspire + + + WMS + + + View + + + validationtest + + + + + + + + + + Service d’accès aux cartes + + + + + + + + Classification of spatial data services + + + + + 2008-01-01 + + + + + + + + + + 2008-12-03 + + + + + + + + + + geonetwork.thesaurus.external.theme.httpinspireeceuropaeumetadatacodelistSpatialDataServiceCategory-SpatialDataServiceCategory + + + + + + + + + + + Régional + + + + + + + + Champ géographique + + + + + 2019-01-01 + + + + + + + + + + 2019-05-22 + + + + + + + + + + geonetwork.thesaurus.external.theme.httpinspireeceuropaeumetadatacodelistSpatialScope-SpatialScope + + + + + + + + + + + + + + No limitations to public access + + + + + + + Conditions d'utilisation spécifiques + + + + + + Les conditions d'utilisation du service sont régies par les conditions d’accès et d’utilisation des services web géographiques de visualisation du Service public de Wallonie. + + + + + view + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Service public de Wallonie (SPW) + + + + + + + helpdesk.carto@spw.wallonie.be + + + + + + + + + + + + + + + + + https://geoservices.test.wallonie.be/geoserver/inspire_hh/ows?service=WMS&version=1.3.0&request=GetCapabilities + + + OGC:WMS + + + INSPIRE Santé et sécurité des personnes - Service de visualisation WMS + + + Adresse de connexion au service de visualisation WMS-Inspire des couches de données du thème "Santé et sécurité des personnes". + + + + + + + + + + + + + + + + + + + + + Service + + + + + + + + + + + + + Règlement (CE) n o 976/2009 de la Commission du 19 octobre 2009 portant modalités d’application de la directive 2007/2/CE du Parlement européen et du Conseil en ce qui concerne les services en réseau + + + + + 2009-10-19 + + + + + + + + + + Voir la spécification référencée + + + true + + + + + + + + + + + + + RÈGLEMENT (UE) N o 1089/2010 DE LA COMMISSION du 23 novembre 2010 portant modalités d'application de la directive 2007/2/CE du Parlement européen et du Conseil en ce qui concerne l'interopérabilité des séries et des services de données géographiques + + + + + 2010-12-08 + + + + + + + + + + Voir la spécification référencée + + + true + + + + + + + + + + diff --git a/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-cql-title.xml b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-cql-title.xml new file mode 100644 index 000000000..91c6a0abe --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-cql-title.xml @@ -0,0 +1,114 @@ + + + + + + + + + + 5ebc3cb7-a3b5-4760-a8ff-851d5d5beb32 + + + + + + + + + 3D geological model of the Otway and Torquay Basin 2011 + + + + + + + + + 143.0 + + + 144.0 + + + -39.4 + + + -38.4 + + + + + + + -400.0 + + + 300.0 + + + + + + + + + + + + + + + + http://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:37363 + + + WWW:LINK-1.0-http--link + + + View Reports + + + + + + + + + + http://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:107513 + + + WWW:LINK-1.0-http--link + + + Download Metadata and 3D model data + + + + + + + + + + http://geomodels.auscope.org/model/otway + + + WWW:LINK-1.0-http--link + + + 3D Geological Model + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-elementname.xml b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-elementname.xml new file mode 100644 index 000000000..125f94aa7 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-elementname.xml @@ -0,0 +1,566 @@ + + + + + + + + + + 5ebc3cb7-a3b5-4760-a8ff-851d5d5beb32 + + + + + + + + + 3D geological model of the Otway and Torquay Basin 2011 + + + + + + + + + 143.0 + + + 144.0 + + + -39.4 + + + -38.4 + + + + + + + -400.0 + + + 300.0 + + + + + + + + + + + + + + + + http://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:37363 + + + WWW:LINK-1.0-http--link + + + View Reports + + + + + + + + + + http://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:107513 + + + WWW:LINK-1.0-http--link + + + Download Metadata and 3D model data + + + + + + + + + + http://geomodels.auscope.org/model/otway + + + WWW:LINK-1.0-http--link + + + 3D Geological Model + + + + + + + + + + + + + + + + 09a7c1d4c97ccdd7e34306deb91320ab95d51bb8 + + + + + + + dataset + + + + + + + + + ProvinceFullExtent + + + + + + + + + 106.57 + + + 171.88 + + + -49.86 + + + -3.63 + + + + + + + + + + + 2018-02-08T11:04:47 + + + revision + + + + + + + + + + + https://nvclwebservices.csiro.au/geoserver/wms?SERVICE=WMS& + + + OGC:WMS-1.1.1-http-get-map + + + gml:ProvinceFullExtent + + + ProvinceFullExtent + + + + + + + https://nvclwebservices.csiro.au/geoserver/wms?request=GetLegendGraphic&format=image%2Fpng&width=20&height=20&layer=gml%3AProvinceFullExtent + + + image/png + + + Default Polygon (LegendURL) + + + + + + + + + + + + + + + + 74f81503-8d39-4ec8-a49a-c76e0cd74946 + + + + + + + series + + + + + + + + + Protection des captages - Série + + + + + + + + + 2.75 + + + 6.5 + + + 49.45 + + + 50.85 + + + + + + + + + + + 2000-01-01 + + + creation + + + + + 2022-11-08 + + + publication + + + + + 2023-07-31 + + + revision + + + + + + + + + + + https://geoportail.wallonie.be/walonmap/#ADU=https://geoservices.wallonie.be/arcgis/rest/services/EAU/PROTECT_CAPT/MapServer + + + WWW:LINK + + + Application WalOnMap - Toute la Wallonie à la carte + + + Application cartographique du Geoportail (WalOnMap) qui permet de découvrir les données géographiques de la Wallonie. + + + + + + + http://geoapps.wallonie.be/Cigale/Public/#CTX=EAUX_SOUT + + + WWW:LINK + + + Protection des eaux souteraines (CIGALE) - Application + + + Application de consultation des principales données cartographiques du SPW Agriculture, Ressources naturelles et Environnements + + + + + + + https://geoservices.wallonie.be/arcgis/rest/services/EAU/PROTECT_CAPT/MapServer + + + ESRI:REST + + + Service de visualisation ESRI-REST + + + Ce service ESRI-REST permet de visualiser le jeu de données "Protection des captages" + + + + + + + https://geoservices.wallonie.be/arcgis/services/EAU/PROTECT_CAPT/MapServer/WMSServer?request=GetCapabilities&service=WMS + + + OGC:WMS + + + Service de visualisation WMS + + + Ce service WMS permet de visualiser le jeu de données "Protection des captages" + + + + + + + http://environnement.wallonie.be/de/eso/atlas/index.htm#4.1a + + + WWW:LINK + + + Site web Etat des nappes d'eau souterraine-chapitre IV.1a. Zones de prévention programmées ou en cours d'étude et IV.1b. Zones de protection définies par arrêté ministériel + + + Pages web Etat des nappes d'eau souterraine-chapitre IV.1a. Zones de prévention programmées ou en cours d'étude +et IV.1b Zones de protection définies par arrêté ministériel + + + + + + + https://metawal.wallonie.be/geonetwork/srv/api/records/74f81503-8d39-4ec8-a49a-c76e0cd74946/attachments/PROTECT_CAPT.png + + + WWW:LINK-1.0-http--image-thumbnail + + + preview + + + Web image thumbnail (URL) + + + + + + + https://metawal.wallonie.be/geonetwork/srv/api/records/74f81503-8d39-4ec8-a49a-c76e0cd74946/attachments/PROTECT_CAPT_s.png + + + WWW:LINK-1.0-http--image-thumbnail + + + preview + + + Web image thumbnail (URL) + + + + + + + + + + + + + 1714cd1e-6685-4dea-a6f4-b51612a15ed0 + + + + + + + service + + + + + + + + + INSPIRE - Santé et sécurité des personnes en Wallonie (BE) - Service de visualisation WMS + + + + + + + + + + + + + Industrie et services + + + Société et activités + + + Santé et sécurité des personnes + + + aspects sociaux + + + population + + + santé humaine + + + santé + + + sécurité + + + Reporting INSPIRE + + + Human health and safety + + + HH + + + health + + + inspire + + + WMS + + + View + + + validationtest + + + Service d’accès aux cartes + + + Régional + + + + + + + + + 2.75 + + + 6.51 + + + 49.45 + + + 50.85 + + + + + + + + + + + 2018-03-01 + + + publication + + + + + + + + + + + https://geoservices.test.wallonie.be/geoserver/inspire_hh/ows?service=WMS&version=1.3.0&request=GetCapabilities + + + OGC:WMS + + + INSPIRE Santé et sécurité des personnes - Service de visualisation WMS + + + Adresse de connexion au service de visualisation WMS-Inspire des couches de données du thème "Santé et sécurité des personnes". + + + + + + + https://metawal.wallonie.be/geonetwork/inspire/api/records/1714cd1e-6685-4dea-a6f4-b51612a15ed0/attachments/wms_inspire_20190430.png + + + WWW:LINK-1.0-http--image-thumbnail + + + preview + + + Web image thumbnail (URL) + + + + + + + + + + diff --git a/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-filter-accessconstraints.xml b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-filter-accessconstraints.xml new file mode 100644 index 000000000..67fc46bf0 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-filter-accessconstraints.xml @@ -0,0 +1,308 @@ + + + + + + + + + + 5ebc3cb7-a3b5-4760-a8ff-851d5d5beb32 + + + + + + + + + 3D geological model of the Otway and Torquay Basin 2011 + + + + + + + + + 143.0 + + + 144.0 + + + -39.4 + + + -38.4 + + + + + + + -400.0 + + + 300.0 + + + + + + + + + + + + + + + + http://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:37363 + + + WWW:LINK-1.0-http--link + + + View Reports + + + + + + + + + + http://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:107513 + + + WWW:LINK-1.0-http--link + + + Download Metadata and 3D model data + + + + + + + + + + http://geomodels.auscope.org/model/otway + + + WWW:LINK-1.0-http--link + + + 3D Geological Model + + + + + + + + + + + + + + + + 74f81503-8d39-4ec8-a49a-c76e0cd74946 + + + + + + + series + + + + + + + + + Protection des captages - Série + + + + + + + + + 2.75 + + + 6.5 + + + 49.45 + + + 50.85 + + + + + + + + + + + 2000-01-01 + + + creation + + + + + 2022-11-08 + + + publication + + + + + 2023-07-31 + + + revision + + + + + + + + + + + https://geoportail.wallonie.be/walonmap/#ADU=https://geoservices.wallonie.be/arcgis/rest/services/EAU/PROTECT_CAPT/MapServer + + + WWW:LINK + + + Application WalOnMap - Toute la Wallonie à la carte + + + Application cartographique du Geoportail (WalOnMap) qui permet de découvrir les données géographiques de la Wallonie. + + + + + + + http://geoapps.wallonie.be/Cigale/Public/#CTX=EAUX_SOUT + + + WWW:LINK + + + Protection des eaux souteraines (CIGALE) - Application + + + Application de consultation des principales données cartographiques du SPW Agriculture, Ressources naturelles et Environnements + + + + + + + https://geoservices.wallonie.be/arcgis/rest/services/EAU/PROTECT_CAPT/MapServer + + + ESRI:REST + + + Service de visualisation ESRI-REST + + + Ce service ESRI-REST permet de visualiser le jeu de données "Protection des captages" + + + + + + + https://geoservices.wallonie.be/arcgis/services/EAU/PROTECT_CAPT/MapServer/WMSServer?request=GetCapabilities&service=WMS + + + OGC:WMS + + + Service de visualisation WMS + + + Ce service WMS permet de visualiser le jeu de données "Protection des captages" + + + + + + + http://environnement.wallonie.be/de/eso/atlas/index.htm#4.1a + + + WWW:LINK + + + Site web Etat des nappes d'eau souterraine-chapitre IV.1a. Zones de prévention programmées ou en cours d'étude et IV.1b. Zones de protection définies par arrêté ministériel + + + Pages web Etat des nappes d'eau souterraine-chapitre IV.1a. Zones de prévention programmées ou en cours d'étude +et IV.1b Zones de protection définies par arrêté ministériel + + + + + + + https://metawal.wallonie.be/geonetwork/srv/api/records/74f81503-8d39-4ec8-a49a-c76e0cd74946/attachments/PROTECT_CAPT.png + + + WWW:LINK-1.0-http--image-thumbnail + + + preview + + + Web image thumbnail (URL) + + + + + + + https://metawal.wallonie.be/geonetwork/srv/api/records/74f81503-8d39-4ec8-a49a-c76e0cd74946/attachments/PROTECT_CAPT_s.png + + + WWW:LINK-1.0-http--image-thumbnail + + + preview + + + Web image thumbnail (URL) + + + + + + + + + + diff --git a/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-filter-and-nested-spatial-or-dateline.xml b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-filter-and-nested-spatial-or-dateline.xml new file mode 100644 index 000000000..7a0322a4c --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-filter-and-nested-spatial-or-dateline.xml @@ -0,0 +1,644 @@ + + + + + + + + + + 5ebc3cb7-a3b5-4760-a8ff-851d5d5beb32 + + + urn:uuid + + + + + + + + + + + + + + + + + + + + + + Earth Resources Victoria + + + + + + + 1300 366 356 + + + + + + + + + + GPO Box 2392 + + + Melbourne + + + Victoria + + + 3001 + + + Australia + + + customer.service@ecodev.vic.gov.au + + + + + + + + + Anthony Hurst + + + Executive Director, Earth Resources Policy and Programs + + + + + + + + + + + 2022-11-03T06:16:21 + + + + + + + + + + 2022-11-03T06:17:02 + + + + + + + + + + ISO 19115-3 + + + + + + + http://portal.auscope.org/geonetwork/srv/api/records/5ebc3cb7-a3b5-4760-a8ff-851d5d5beb32 + + + + + + + + + + + + 3D geological model of the Otway and Torquay Basin 2011 + + + + + 2010-01-01 + + + + + + + https://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:107513 + + + + Reference + + + + + + + + + + + + + AuScope + + + + + + + Level 2, 700 Swanston Street + + + Carlton + + + Victoria + + + 3053 + + + Australia + + + info@auscope.org.au + + + + + + + + + + https://ror.org/04s1m4564 + + + ROR + + + Research Organization Registry (ROR) Entry + + + + + + + + + + + + + + + + Earth Resources Victoria + + + + + + + 1300 366 356 + + + + + + + + + + GPO Box 2392 + + + Melbourne + + + Victoria + + + 3001 + + + Australia + + + customer.service@ecodev.vic.gov.au + + + + + + + + + + + + + + + + + + P.B. SKLADZIEN + + + + + + + + + + + + + + + C. Jorand + + + + + + + + + + + + + + A. Krassay + + + + + + + + + + + + + + L. Hall + + + + + + + + + A 3D model of the Otway and Torquay basins has been produced at 1:250 000 scale as part of GeoScience Victorias state-wide 3D geological model. To date there has been a “knowledge gap” in the transition between the basement and basin environments. This regional scale integration of the basement and basin models addresses this gap and provides a regional framework within which more detailed work can be carried out in the future. + +The construction and integration of the basin model has involved both the interpretation and building of new faults and stratigraphic surfaces, as well as utilising existing stratigraphic surfaces and structural interpretations from previous studies, predominantly the Otway Basin HSA SEEBASE project by FrOG Tech (Jorand et. al., 2010). + + + + + + + 143.00 + + + 144.00 + + + -39.40 + + + -38.40 + + + + + + + -400 + + + 300 + + + + + + + + + Victoria + + + Otway Basin + + + Torquay Basin + + + + + + + + + + 3D Geological Models + + + + + + + + + + https://creativecommons.org/licenses/by/4.0/ + + + + + + + + + + + + + + + + + + + + + + + + + + http://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:37363 + + + WWW:LINK-1.0-http--link + + + View Reports + + + + + + + http://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:107513 + + + WWW:LINK-1.0-http--link + + + Download Metadata and 3D model data + + + + + + + + + + + http://geomodels.auscope.org/model/otway + + + WWW:LINK-1.0-http--link + + + 3D Geological Model + + + + + + + + + + + + + + + + 09a7c1d4c97ccdd7e34306deb91320ab95d51bb8 + + + + + + + + + + + + + + dataset + + + + + + + + + CSIRO + + + + + Peter Warren + + + Software Engineer + + + + + + + +61 2 9490 8802 + + + voice + + + + + + + 11 Julius Ave + + + North Ryde + + + CSIRO + + + 2113 + + + Australia + + + + + + + + + + + + + + + + + + 2018-02-08T11:04:47 + + + creation + + + + + 2018-02-08T11:04:47 + + + revision + + + + + + + ISO 19115-1:2014 + + + + + + + + + ProvinceFullExtent + + + + + + + + + + features + + + ProvinceFullExtent + + + + + geoscientificInformation + + + + + + + 106.57 + + + 171.88 + + + -49.86 + + + -3.63 + + + + + + + + + + + + + + + https://nvclwebservices.csiro.au/geoserver/wms?SERVICE=WMS& + + + OGC:WMS-1.1.1-http-get-map + + + gml:ProvinceFullExtent + + + ProvinceFullExtent + + + + + + + https://nvclwebservices.csiro.au/geoserver/wms?request=GetLegendGraphic&format=image%2Fpng&width=20&height=20&layer=gml%3AProvinceFullExtent + + + image/png + + + Default Polygon (LegendURL) + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-filter-anytext.xml b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-filter-anytext.xml new file mode 100644 index 000000000..91c6a0abe --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-filter-anytext.xml @@ -0,0 +1,114 @@ + + + + + + + + + + 5ebc3cb7-a3b5-4760-a8ff-851d5d5beb32 + + + + + + + + + 3D geological model of the Otway and Torquay Basin 2011 + + + + + + + + + 143.0 + + + 144.0 + + + -39.4 + + + -38.4 + + + + + + + -400.0 + + + 300.0 + + + + + + + + + + + + + + + + http://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:37363 + + + WWW:LINK-1.0-http--link + + + View Reports + + + + + + + + + + http://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:107513 + + + WWW:LINK-1.0-http--link + + + Download Metadata and 3D model data + + + + + + + + + + http://geomodels.auscope.org/model/otway + + + WWW:LINK-1.0-http--link + + + 3D Geological Model + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-filter-bbox-csw-output.xml b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-filter-bbox-csw-output.xml new file mode 100644 index 000000000..63fc2be06 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-filter-bbox-csw-output.xml @@ -0,0 +1,25 @@ + + + + + + + 5ebc3cb7-a3b5-4760-a8ff-851d5d5beb32 + 3D geological model of the Otway and Torquay Basin 2011 + + + -39.4 143.0 + -38.4 144.0 + + + + 09a7c1d4c97ccdd7e34306deb91320ab95d51bb8 + ProvinceFullExtent + dataset + + -49.86 106.57 + -3.63 171.88 + + + + diff --git a/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-filter-bbox.xml new file mode 100644 index 000000000..49d24298e --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-filter-bbox.xml @@ -0,0 +1,211 @@ + + + + + + + + + + 5ebc3cb7-a3b5-4760-a8ff-851d5d5beb32 + + + + + + + + + 3D geological model of the Otway and Torquay Basin 2011 + + + + + + + + + 143.0 + + + 144.0 + + + -39.4 + + + -38.4 + + + + + + + -400.0 + + + 300.0 + + + + + + + + + + + + + + + + http://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:37363 + + + WWW:LINK-1.0-http--link + + + View Reports + + + + + + + + + + http://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:107513 + + + WWW:LINK-1.0-http--link + + + Download Metadata and 3D model data + + + + + + + + + + http://geomodels.auscope.org/model/otway + + + WWW:LINK-1.0-http--link + + + 3D Geological Model + + + + + + + + + + + + + + + + 09a7c1d4c97ccdd7e34306deb91320ab95d51bb8 + + + + + + + dataset + + + + + + + + + ProvinceFullExtent + + + + + + + + + 106.57 + + + 171.88 + + + -49.86 + + + -3.63 + + + + + + + + + + + 2018-02-08T11:04:47 + + + revision + + + + + + + + + + + https://nvclwebservices.csiro.au/geoserver/wms?SERVICE=WMS& + + + OGC:WMS-1.1.1-http-get-map + + + gml:ProvinceFullExtent + + + ProvinceFullExtent + + + + + + + https://nvclwebservices.csiro.au/geoserver/wms?request=GetLegendGraphic&format=image%2Fpng&width=20&height=20&layer=gml%3AProvinceFullExtent + + + image/png + + + Default Polygon (LegendURL) + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-filter-date.xml b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-filter-date.xml new file mode 100644 index 000000000..91c6a0abe --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/expected/post_GetRecords-filter-date.xml @@ -0,0 +1,114 @@ + + + + + + + + + + 5ebc3cb7-a3b5-4760-a8ff-851d5d5beb32 + + + + + + + + + 3D geological model of the Otway and Torquay Basin 2011 + + + + + + + + + 143.0 + + + 144.0 + + + -39.4 + + + -38.4 + + + + + + + -400.0 + + + 300.0 + + + + + + + + + + + + + + + + http://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:37363 + + + WWW:LINK-1.0-http--link + + + View Reports + + + + + + + + + + http://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:107513 + + + WWW:LINK-1.0-http--link + + + Download Metadata and 3D model data + + + + + + + + + + http://geomodels.auscope.org/model/otway + + + WWW:LINK-1.0-http--link + + + 3D Geological Model + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/functionaltests/suites/iso19115p3/expected/post_Transaction-delete.xml b/tests/functionaltests/suites/iso19115p3/expected/post_Transaction-delete.xml new file mode 100644 index 000000000..4ce63c969 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/expected/post_Transaction-delete.xml @@ -0,0 +1,7 @@ + + + + + Transaction operations are not supported + + diff --git a/tests/functionaltests/suites/iso19115p3/expected/post_Transaction-insert.xml b/tests/functionaltests/suites/iso19115p3/expected/post_Transaction-insert.xml new file mode 100644 index 000000000..4ce63c969 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/expected/post_Transaction-insert.xml @@ -0,0 +1,7 @@ + + + + + Transaction operations are not supported + + diff --git a/tests/functionaltests/suites/iso19115p3/expected/post_Transaction-update-full.xml b/tests/functionaltests/suites/iso19115p3/expected/post_Transaction-update-full.xml new file mode 100644 index 000000000..4ce63c969 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/expected/post_Transaction-update-full.xml @@ -0,0 +1,7 @@ + + + + + Transaction operations are not supported + + diff --git a/tests/functionaltests/suites/iso19115p3/expected/post_Transaction-update-recordproperty.xml b/tests/functionaltests/suites/iso19115p3/expected/post_Transaction-update-recordproperty.xml new file mode 100644 index 000000000..4ce63c969 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/expected/post_Transaction-update-recordproperty.xml @@ -0,0 +1,7 @@ + + + + + Transaction operations are not supported + + diff --git a/tests/functionaltests/suites/iso19115p3/get/requests.txt b/tests/functionaltests/suites/iso19115p3/get/requests.txt new file mode 100644 index 000000000..46fc18f45 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/get/requests.txt @@ -0,0 +1,2 @@ +GetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities +DescribeRecord,service=CSW&REQUEST=DescribeRecord&version=2.0.2&typeName=mdb:MD_Metadata diff --git a/tests/functionaltests/suites/iso19115p3/post/DescribeRecord.xml b/tests/functionaltests/suites/iso19115p3/post/DescribeRecord.xml new file mode 100644 index 000000000..f6807f089 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/post/DescribeRecord.xml @@ -0,0 +1,4 @@ + + + mdb:MD_Metadata + diff --git a/tests/functionaltests/suites/iso19115p3/post/GetCapabilities.xml b/tests/functionaltests/suites/iso19115p3/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/iso19115p3/post/GetDomain-property.xml b/tests/functionaltests/suites/iso19115p3/post/GetDomain-property.xml new file mode 100644 index 000000000..749ae89ad --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/post/GetDomain-property.xml @@ -0,0 +1,5 @@ + + + mdb:TopicCategory + + diff --git a/tests/functionaltests/suites/iso19115p3/post/GetRecordById-ISO19139-full.xml b/tests/functionaltests/suites/iso19115p3/post/GetRecordById-ISO19139-full.xml new file mode 100644 index 000000000..5846a5a45 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/post/GetRecordById-ISO19139-full.xml @@ -0,0 +1,6 @@ + + + 09a7c1d4c97ccdd7e34306deb91320ab95d51bb8 + full + + diff --git a/tests/functionaltests/suites/iso19115p3/post/GetRecordById-brief.xml b/tests/functionaltests/suites/iso19115p3/post/GetRecordById-brief.xml new file mode 100644 index 000000000..d2be397d2 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/post/GetRecordById-brief.xml @@ -0,0 +1,6 @@ + + + 5ebc3cb7-a3b5-4760-a8ff-851d5d5beb32 + brief + + diff --git a/tests/functionaltests/suites/iso19115p3/post/GetRecordById-full-dc.xml b/tests/functionaltests/suites/iso19115p3/post/GetRecordById-full-dc.xml new file mode 100644 index 000000000..a1c9dff13 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/post/GetRecordById-full-dc.xml @@ -0,0 +1,6 @@ + + + 5ebc3cb7-a3b5-4760-a8ff-851d5d5beb32 + full + + diff --git a/tests/functionaltests/suites/iso19115p3/post/GetRecordById-full.xml b/tests/functionaltests/suites/iso19115p3/post/GetRecordById-full.xml new file mode 100644 index 000000000..041d47a34 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/post/GetRecordById-full.xml @@ -0,0 +1,6 @@ + + + 5ebc3cb7-a3b5-4760-a8ff-851d5d5beb32 + full + + diff --git a/tests/functionaltests/suites/iso19115p3/post/GetRecordById-srv-brief.xml b/tests/functionaltests/suites/iso19115p3/post/GetRecordById-srv-brief.xml new file mode 100644 index 000000000..536d8f633 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/post/GetRecordById-srv-brief.xml @@ -0,0 +1,6 @@ + + + 1714cd1e-6685-4dea-a6f4-b51612a15ed0 + brief + + diff --git a/tests/functionaltests/suites/iso19115p3/post/GetRecords-all-csw-output.xml b/tests/functionaltests/suites/iso19115p3/post/GetRecords-all-csw-output.xml new file mode 100644 index 000000000..c274c03fa --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/post/GetRecords-all-csw-output.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/iso19115p3/post/GetRecords-all.xml b/tests/functionaltests/suites/iso19115p3/post/GetRecords-all.xml new file mode 100644 index 000000000..c274c03fa --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/post/GetRecords-all.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/iso19115p3/post/GetRecords-cql-title.xml b/tests/functionaltests/suites/iso19115p3/post/GetRecords-cql-title.xml new file mode 100644 index 000000000..ef6e9313b --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/post/GetRecords-cql-title.xml @@ -0,0 +1,9 @@ + + + + brief + + mdb:Title like '%tway%' + + + diff --git a/tests/functionaltests/suites/iso19115p3/post/GetRecords-elementname.xml b/tests/functionaltests/suites/iso19115p3/post/GetRecords-elementname.xml new file mode 100644 index 000000000..febf4e673 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/post/GetRecords-elementname.xml @@ -0,0 +1,6 @@ + + + + mdb:Title + + diff --git a/tests/functionaltests/suites/iso19115p3/post/GetRecords-filter-accessconstraints.xml b/tests/functionaltests/suites/iso19115p3/post/GetRecords-filter-accessconstraints.xml new file mode 100644 index 000000000..f0e76df79 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/post/GetRecords-filter-accessconstraints.xml @@ -0,0 +1,14 @@ + + + + brief + + + + mdb:AccessConstraints + license + + + + + diff --git a/tests/functionaltests/suites/iso19115p3/post/GetRecords-filter-and-nested-spatial-or-dateline.xml b/tests/functionaltests/suites/iso19115p3/post/GetRecords-filter-and-nested-spatial-or-dateline.xml new file mode 100644 index 000000000..e8293ab00 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/post/GetRecords-filter-and-nested-spatial-or-dateline.xml @@ -0,0 +1,46 @@ + + + full + + + + + csw:AnyText + *ustrali* + + + + ows:BoundingBox + + -38 142 + -40 145 + + + + ows:BoundingBox + + -3 100 + -50 172 + + + + + + + + + dc:title + ASC + + + + diff --git a/tests/functionaltests/suites/iso19115p3/post/GetRecords-filter-anytext.xml b/tests/functionaltests/suites/iso19115p3/post/GetRecords-filter-anytext.xml new file mode 100644 index 000000000..9130b37ff --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/post/GetRecords-filter-anytext.xml @@ -0,0 +1,15 @@ + + + + brief + + + + mdb:AnyText + 3D % + + + + + + diff --git a/tests/functionaltests/suites/iso19115p3/post/GetRecords-filter-bbox-csw-output.xml b/tests/functionaltests/suites/iso19115p3/post/GetRecords-filter-bbox-csw-output.xml new file mode 100644 index 000000000..711620516 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/post/GetRecords-filter-bbox-csw-output.xml @@ -0,0 +1,19 @@ + + + + brief + + + + mdb:BoundingBox + + -60 100 + -5 175 + + + + + + + + diff --git a/tests/functionaltests/suites/iso19115p3/post/GetRecords-filter-bbox.xml b/tests/functionaltests/suites/iso19115p3/post/GetRecords-filter-bbox.xml new file mode 100644 index 000000000..29ebe2f2b --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/post/GetRecords-filter-bbox.xml @@ -0,0 +1,18 @@ + + + + brief + + + + mdb:BoundingBox + + -60 100 + -5 175 + + + + + + + diff --git a/tests/functionaltests/suites/iso19115p3/post/GetRecords-filter-date.xml b/tests/functionaltests/suites/iso19115p3/post/GetRecords-filter-date.xml new file mode 100644 index 000000000..1e23587c7 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/post/GetRecords-filter-date.xml @@ -0,0 +1,14 @@ + + + + brief + + + + mdb:Modified + %2022% + + + + + diff --git a/tests/functionaltests/suites/iso19115p3/post/Transaction-delete.xml b/tests/functionaltests/suites/iso19115p3/post/Transaction-delete.xml new file mode 100644 index 000000000..fda8e13df --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/post/Transaction-delete.xml @@ -0,0 +1,13 @@ + + + + + + + mdb:Identifier + 12345 + + + + + diff --git a/tests/functionaltests/suites/iso19115p3/post/Transaction-insert.xml b/tests/functionaltests/suites/iso19115p3/post/Transaction-insert.xml new file mode 100644 index 000000000..c2bf540e7 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/post/Transaction-insert.xml @@ -0,0 +1,235 @@ + + + + + + + + 12345 + + + urn:uuid + + + + + + + + + + + + + + + + + + + + + + Earth Resources Victoria + + + + + + + 1300 366 356 + + + + + + + + + + GPO Box 2392 + + + Melbourne + + + Victoria + + + 3001 + + + Australia + + + customer.service@ecodev.vic.gov.au + + + + + + + + + Anthony Hurst + + + Executive Director, Earth Resources Policy and Programs + + + + + + + + + + + 2022-11-03T06:16:21 + + + + + + + + + + 2022-11-03T06:17:02 + + + + + + + + + + ISO 19115-3 + + + + + + + http://portal.auscope.org/geonetwork/srv/api/records/5ebc3cb7-a3b5-4760-a8ff-851d5d5beb32 + + + + + + + + + + + + 3D geological model of the Otway and Torquay Basin 2011 + + + + + 2010-01-01 + + + + + + + https://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:107513 + + + + Reference + + + + + + + + A 3D model of the Otway and Torquay basins has been produced at 1:250 000 scale as part of GeoScience Victorias state-wide 3D geological model. To date there has been a “knowledge gap” in the transition between the basement and basin environments. This regional scale integration of the basement and basin models addresses this gap and provides a regional framework within which more detailed work can be carried out in the future. + +The construction and integration of the basin model has involved both the interpretation and building of new faults and stratigraphic surfaces, as well as utilising existing stratigraphic surfaces and structural interpretations from previous studies, predominantly the Otway Basin HSA SEEBASE project by FrOG Tech (Jorand et. al., 2010). + + + + + + + 143.00 + + + 144.00 + + + -39.40 + + + -38.40 + + + + + + + -400 + + + 300 + + + + + + + + + Victoria + + + Otway Basin + + + Torquay Basin + + + + + + + + + + 3D Geological Models + + + + + + + + + + https://creativecommons.org/licenses/by/4.0/ + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/iso19115p3/post/Transaction-update-full.xml b/tests/functionaltests/suites/iso19115p3/post/Transaction-update-full.xml new file mode 100644 index 000000000..d6a964462 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/post/Transaction-update-full.xml @@ -0,0 +1,235 @@ + + + + + + + + 12345 + + + urn:uuid + + + + + + + + + + + + + + + + + + + + + + Earth Resources Victoria + + + + + + + 1300 366 356 + + + + + + + + + + GPO Box 2392 + + + Melbourne + + + Victoria + + + 3001 + + + Australia + + + customer.service@ecodev.vic.gov.au + + + + + + + + + Anthony Hurst + + + Executive Director, Earth Resources Policy and Programs + + + + + + + + + + + 2022-11-03T06:16:21 + + + + + + + + + + 2022-11-03T06:17:02 + + + + + + + + + + ISO 19115-3 + + + + + + + http://portal.auscope.org/geonetwork/srv/api/records/5ebc3cb7-a3b5-4760-a8ff-851d5d5beb32 + + + + + + + + + + + + 3D geological model of the Otway and Torquay Basin 2011 + + + + + 2010-01-01 + + + + + + + https://geology.data.vic.gov.au/searchAssistant/document.php?q=parent_id:107513 + + + + Reference + + + + + + + + A 3D model of the Otway and Torquay basins has been produced at 1:250 000 scale as part of GeoScience Victorias state-wide 3D geological model. To date there has been a “knowledge gap” in the transition between the basement and basin environments. This regional scale integration of the basement and basin models addresses this gap and provides a regional framework within which more detailed work can be carried out in the future. + +The construction and integration of the basin model has involved both the interpretation and building of new faults and stratigraphic surfaces, as well as utilising existing stratigraphic surfaces and structural interpretations from previous studies, predominantly the Otway Basin HSA SEEBASE project by FrOG Tech (Jorand et. al., 2010). + + + + + + + 143.00 + + + 144.00 + + + -39.40 + + + -38.40 + + + + + + + -400 + + + 300 + + + + + + + + + Victoria + + + Otway Basin + + + Torquay Basin + + + + + + + + + + 3D Geological Models + + + + + + + + + + https://creativecommons.org/licenses/by/4.0/ + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/iso19115p3/post/Transaction-update-recordproperty.xml b/tests/functionaltests/suites/iso19115p3/post/Transaction-update-recordproperty.xml new file mode 100644 index 000000000..fcadc08b1 --- /dev/null +++ b/tests/functionaltests/suites/iso19115p3/post/Transaction-update-recordproperty.xml @@ -0,0 +1,17 @@ + + + + + mdb:Title + NEW_TITLE + + + + + mdb:Identifier + 12345 + + + + + diff --git a/tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml index 48f5c4b14..326c383fe 100644 --- a/tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml @@ -1,6 +1,6 @@ - + ErrŹĆŁÓdd pycsw is an OARec and OGC CSW server implementation written in Python