Distribution Information Documentation
Overview
Implementation
Content Standard for Digital Geospatial Metadata (CSDGM)
Structure
Usage
Directory Interchange Format (DIF)
Structure
<Distribution> <Distribution_Media>/DIF/Distribution/Distribution_Media</Distribution_Media> <Distribution_Size>1234</Distribution_Size> <Distribution_Format>/DIF/Distribution/Distribution_Format</Distribution_Format> <Fees>/DIF/Distribution/Fees</Fees> </Distribution>
Usage
EOS Clearinghouse (ECHO)
Structure
ECHO provides metadata fields for documenting distribution contact information, distribution format and size information, distribution ordering and online access information. For contact information the Role field is used to define the type of distribution contact. Below are XML examples for documenting distribution information and a list of distribution contact role code values commonly found in ECHO metadata. <pre<noinclude></noinclude>> Documenting Distribution Contact
<Contacts>
<Contact> <Role>Archive</Role> <HoursOfService>9:00 A.M. to 5:00 P.M., Monday to Friday</HoursOfService> <OrganizationName>National Here and There Data Center</OrganizationName> <OrganizationAddresses> <Address> <StreetAddress>5555 5th St.</StreetAddress> <City>Some City</City> <StateProvince>Some State</StateProvince> <PostalCode>55555-5555</PostalCode> <Country>USA</Country> </Address> </OrganizationAddresses> <OrganizationPhones> <Phone> <Number>+1 555-555-5555</Number> <Type>Telephone</Type> </Phone> <Phone> <Number>+1 555-555-5555</Number> <Type>Fax</Type> </Phone> </OrganizationPhones> <OrganizationEmails> <Email>datacenter@domain.org</Email> </OrganizationEmails> <ContactPersons> <ContactPerson> <FirstName>Datacenter</FirstName> <MiddleName>User</MiddleName> <LastName>Services</LastName> </ContactPerson> </ContactPersons> </Contact>
</Contacts>
<pre<noinclude></noinclude>>
Distribution Contact Role Types |
+ Archive |
<pre<noinclude></noinclude>> Documenting the Distribution Format and Size
<DataFormat>/Collection/DataFormat</DataFormat>
<DataGranule>
<SizeMBDataGranule>/Granule/DataGranule/SizeMBDataGranule</SizeMBDataGranule> </DataGranule>
<pre<noinclude></noinclude>> Documenting Distribution Ordering Instructions
<Orderable>/Collection/Orderable</Orderable>
<pre<noinclude></noinclude>> Documenting Distribution Online Access
<OnlineAccessURL>
<URL>/Collection/OnlineAccessURLs/OnlineAccessURL/URL</URL> <URLDescription>/Collection/OnlineAccessURLs/OnlineAccessURL/URLDescription</URLDescription> <MimeType>/Collection/OnlineAccessURLs/OnlineAccessURL/MimeType</MimeType>
</OnlineAccessURL>
Usage
International Organization for Standardization 19115 (ISO19115)
Structure
<pre<noinclude></noinclude>> <gmd:distributionInfo>
<gmd:MD_Distribution> <gmd:distributor> <gmd:MD_Distributor> <!--Section 1: Documenting the Distribution Contact--> <gmd:distributorContact> <gmd:CI_ResponsibleParty> <gmd:organisationName> <gco:CharacterString>/*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/gmd:CI_ResponsibleParty/gmd:organisationName/gco:CharacterString</gco:CharacterString> </gmd:organisationName> <gmd:contactInfo> <gmd:CI_Contact> <gmd:phone> <gmd:CI_Telephone> <gmd:voice> <gco:CharacterString>/*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/gmd:CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/gmd:voice/gco:CharacterString</gco:CharacterString> </gmd:voice> <gmd:facsimile> <gco:CharacterString>/*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/gmd:CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:phone/gmd:CI_Telephone/gmd:facsimile/gco:CharacterString</gco:CharacterString> </gmd:facsimile> </gmd:CI_Telephone> </gmd:phone> <gmd:address> <gmd:CI_Address> <gmd:deliveryPoint> <gco:CharacterString>/*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/gmd:CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/gmd:CI_Address/gmd:deliveryPoint/gco:CharacterString</gco:CharacterString> </gmd:deliveryPoint> <gmd:city> <gco:CharacterString>/*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/gmd:CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/gmd:CI_Address/gmd:city/gco:CharacterString</gco:CharacterString> </gmd:city> <gmd:administrativeArea> <gco:CharacterString>/*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/gmd:CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/gmd:CI_Address/gmd:administrativeArea/gco:CharacterString</gco:CharacterString> </gmd:administrativeArea> <gmd:postalCode> <gco:CharacterString>/*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/gmd:CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/gmd:CI_Address/gmd:postalCode/gco:CharacterString</gco:CharacterString> </gmd:postalCode> <gmd:country> <gco:CharacterString>/*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/gmd:CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/gmd:CI_Address/gmd:country/gco:CharacterString</gco:CharacterString> </gmd:country> <gmd:electronicMailAddress> <gco:CharacterString>/*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/gmd:CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:address/gmd:CI_Address/gmd:electronicMailAddress/gco:CharacterString</gco:CharacterString> </gmd:electronicMailAddress> </gmd:CI_Address> </gmd:address> <gmd:hoursOfService> <gco:CharacterString>/*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/gmd:CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:hoursOfService/gco:CharacterString</gco:CharacterString> </gmd:hoursOfService> <gmd:contactInstructions> <gco:CharacterString>/*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/gmd:CI_ResponsibleParty/gmd:contactInfo/gmd:CI_Contact/gmd:contactInstructions/gco:CharacterString</gco:CharacterString> </gmd:contactInstructions> </gmd:CI_Contact> </gmd:contactInfo> <gmd:role> <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_RoleCode" codeListValue="distributor">/*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/gmd:CI_ResponsibleParty/gmd:role/gmd:CI_RoleCode</gmd:CI_RoleCode> </gmd:role> </gmd:CI_ResponsibleParty> </gmd:distributorContact> <!--Section 2: Documenting the Distribution Order Process--> <gmd:distributionOrderProcess> <gmd:MD_StandardOrderProcess> <gmd:fees> <gco:CharacterString>/*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributionOrderProcess/gmd:MD_StandardOrderProcess/gmd:fees/gco:CharacterString</gco:CharacterString> </gmd:fees> <gmd:plannedAvailableDateTime> <gco:DateTime>/*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributionOrderProcess/gmd:MD_StandardOrderProcess/gmd:plannedAvailableDateTime/gco:DateTime</gco:DateTime> </gmd:plannedAvailableDateTime> <gmd:turnaround> <gco:CharacterString>/*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributionOrderProcess/gmd:MD_StandardOrderProcess/gmd:turnaround/gco:CharacterString</gco:CharacterString> </gmd:turnaround> </gmd:MD_StandardOrderProcess> </gmd:distributionOrderProcess> <!--Section 3: Documenting the Distribution Format--> <gmd:distributorFormat> <gmd:MD_Format> <gmd:name> <gco:CharacterString>/*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorFormat/gmd:MD_Format/gmd:name/gco:CharacterString</gco:CharacterString> </gmd:name> <gmd:version gco:nilReason="inapplicable"/> </gmd:MD_Format> </gmd:distributorFormat> <!--Section 4: Documenting Distribution Online Access--> <gmd:distributorTransferOptions> <gmd:MD_DigitalTransferOptions> <gmd:onLine> <gmd:CI_OnlineResource> <gmd:linkage> <gmd:URL>/*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorTransferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource/gmd:linkage/gmd:URL</gmd:URL> </gmd:linkage> <gmd:protocol> <gco:CharacterString>/*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorTransferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource/gmd:protocol/gco:CharacterString</gco:CharacterString> </gmd:protocol> <gmd:applicationProfile> <gco:CharacterString>/*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorTransferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource/gmd:applicationProfile/gco:CharacterString</gco:CharacterString> </gmd:applicationProfile> <gmd:name> <gco:CharacterString>/*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorTransferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource/gmd:name/gco:CharacterString</gco:CharacterString> </gmd:name> <gmd:description> <gco:CharacterString>/*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorTransferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource/gmd:description/gco:CharacterString</gco:CharacterString> </gmd:description> <gmd:function> <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_OnLineFunctionCode" codeListValue="download" >/*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorTransferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource/gmd:function/gmd:CI_OnLineFunctionCode</gmd:CI_OnLineFunctionCode> </gmd:function> </gmd:CI_OnlineResource> </gmd:onLine> </gmd:MD_DigitalTransferOptions> </gmd:distributorTransferOptions> </gmd:MD_Distributor> </gmd:distributor> </gmd:MD_Distribution>
</gmd:distributionInfo>
Usage
Crosswalks
Concept | Description | Dialect (Fit) Paths |
---|---|---|
Media | Media on which the resource is available | DIF /dif9:DIF/dif9:Distribution/dif9:Distribution_Media FGDC /fgdc:metadata/fgdc:dataqual/fgdc:lineage/fgdc:sinfo/fgdc:type ISO /*/gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions/gmd:MD_DigitalTransferOptions/gmd:offLine/gmd:MD_Medium/gmd:name/gmd:MD_MediumNameCode ISO /*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorTransferOptions/gmd:MD_DigitalTransferOptions/gmd:offLine/gmd:MD_Medium/gmd:name/gmd:MD_MediumNameCode ISO-1 /mdb:MD_Metadata/mdb:distributionInfo/mrd:MD_Distribution/mrd:transferOptions/mrd:MD_DigitalTransferOptions/mrd:offLine/mrd:MD_Medium/mrd:name/cit:CI_Citation/cit:title/gco:CharacterString SERF /serf:SERF/serf:Distribution/serf:Distribution_Media |
Ordering Instructions | General instructions, terms and services provided by the distributor | ECHO /*/echo:Orderable FGDC /fgdc:metadata/fgdc:distinfo/fgdc:distrib/fgdc:storder/fgdc:ordinst ISO /*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributionOrderProcess/gmd:MD_StandardOrderProcess/gmd:orderingInstructions/gco:CharacterString ISO-1 /mdb:MD_Metadata/mdb:distributionInfo/mrd:MD_Distribution/mrd:distributor/mrd:MD_Distributor/mrd:distributionOrderProcess/mrd:MD_StandardOrderProcess/mrd:orderingInstructions/gco:CharacterString |
Resource Cost or Fees | Cost associated with access to the resource | DIF /dif9:DIF/dif9:Distribution/dif9:Fees ECHO /*/echo:Price FGDC /fgdc:metadata/fgdc:distinfo/fgdc:distrib/fgdc:storder/fgdc:fees ISO /*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributionOrderProcess/gmd:MD_StandardOrderProcess/gmd:fees/gco:CharacterString ISO-1 /mdb:MD_Metadata/mdb:distributionInfo/mrd:MD_Distribution/mrd:distributionFormat/mrd:MD_Format/mrd:formatDistributor/mrd:MD_Distributor/mrd:distributionOrderProcess/mrd:MD_StandardOrderProcess/mrd:fees/gco:CharacterString OGC-SOS /sos:Capabilities/ows:ServiceIdentification/ows:Fees SERF /serf:SERF/serf:Distribution/serf:Fees |
Distribution Format | Description of the data format available for distribution. | DIF /dif9:DIF/dif9:Distribution/dif9:Distribution_Format ECHO /*/echo:DataFormat ISO /*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorFormat/gmd:MD_Format/gmd:name/gco:CharacterString ISO /*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributionFormat/gmd:MD_Format/gmd:name/gco:CharacterString ISO-1 /mdb:MD_Metadata/mdb:distributionInfo/mrd:MD_Distribution/mrd:distributionFormat/mrd:MD_Format ISO-1 /mdb:MD_Metadata/mdb:distributionInfo/mrd:MD_Distribution/mrd:distributor/mrd:MD_Distributor/mrd:distributorFormat/mrd:MD_Format |
Transfer Size | The size of the digital resource | DIF /dif9:DIF/dif9:Distribution/dif9:Distribution_Size ECHO /echo:Granule/echo:DataGranule/echo:SizeMBDataGranule ECS /ecs:SizeMBECSDataGranule FGDC /fgdc:metadata/fgdc:distinfo/fgdc:stdorder/fgdc:digform/fgdc:digtinfo/fgdc:transize ISO /*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributionFormat/gmd:MD_Format/gmd:formatDistributor/gmd:MD_Distributor/gmd:distributorTransferOptions/gmd:MD_DigitalTransferOptions/gmd:transferSize/gco:Real ISO /*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorTransferOptions/gmd:MD_DigitalTransferOptions/gmd:transferSize/gco:Real ISO-1 /mdb:MD_Metadata/mdb:distributionInfo/mrd:MD_Distribution/mrd:distributionFormat/mrd:MD_Format/mrd:formatDistributor/mrd:MD_Distributor/mrd:distributorTransferOptions/mrd:MD_DigitalTransferOptions/mrd:transferSize/gco:Real ISO-1 /mdb:MD_Metadata/mdb:distributionInfo/mrd:MD_Distribution/mrd:distributor/mrd:MD_Distributor/mrd:distributorTransferOptions/mrd:MD_DigitalTransferOptions/mrd:transferSize/gco:Real |
Distribution Contact | Contact information for the organization or individual that distributes the resource. | DIF /dif9:DIF/dif9:Data_Center/dif9:Personnel/dif9:Role DCAT /dct:contactPoint ECHO /*/echo:ArchiveCenter ECHO /*/Contacts/Contact[contains(Role,'Data Manager')] ECHO /*/Contacts/Contact[contains(Role,'DATA CENTER CONTACT')] ECHO /*/Contacts/Contact[contains(Role,'Archive')] ECHO /*/Contacts/Contact[contains(Role,'Distributor')] ECHO /*/Contacts/Contact[contains(Role,'GHRC USER SERVICES')] ECHO /*/Contacts/Contact[contains(Role,'User Services')] ECS /*/ecs:ArchiveCenter FGDC /fgdc:metadata/fgdc:distinfo/fgdc:distrib/fgdc:cntinfo ISO /*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/gmd:CI_ResponsibleParty ISO-1 /mdb:MD_Metadata/mdb:distributionInfo/mrd:MD_Distribution/mrd:distributor/mrd:MD_Distributor/mrd:distributorContact/cit:CI_Responsibility SERF /serf:SERF/serf:Service_Provider |
Notes
The ISO MD_Distribution Object provides information about where users can get data, the formats available, and the processes for ordering the data.
The MD_Distribution object includes any number of distributors, distributionFormats, and transfer options. This flexibility is good, but the many-to-many relationships between these objects can make it difficult to unambiguously specify distribution information. Three approaches to organizing this information are shown in the Figure to the right.
- The first approach (left column in Figure) works well in situations wherer the data are available in a single format from a single distributor. In that case the distributor, distributionFormat, and transferOptions roles can be used directly from the MD_Distribution object.
- In more complex situations where the data are available from multiple distributors (center column in Figure), a MD_Distributor object must exist for each distributor and each would have associated distributorFormats and distributorTransferOptions. This approach actually requires a separate MD_Distributor for each unique combination of distributorFormat and distributorTransferOptions in order to unambiguously associate the correct transferOption with each distributionFormat.
- The final approach (right column in Figure) is becoming available in the revision of 19115 (19115-1). This revision adds a distributionFormat role to the MD_DigitalTransferOptions object which allows a single MD_Distributor to unambiguously describe multiple transferOptions each of which has an associated format.
Distribution Vs. Services
Many data providers are using standard data services (WMS, WCS, SOS, ...) and need to provide information about those services in 19115(-2) metadata. Historically this type of inormation has been provided in the Distribution section of the metadata. In many cases, tools trying to identify standard services had to parse the URLs for hints about what type of service the URL might reference.
These problems have been addressed to some extent with the creation of the ISO 19119 Metadata Standard for Services. This standard extends 19115 with the addition of several objects that hold information specifically related to services, including the ULRs that can be used to invoke those services.
It seems reasonable to take advantage of the 19119 extensions when describing standard services associated with a dataset. This brings the capabilities of 19119 to bear on the problem they are designed to solve and avoids the ambiguity described above.
The records created this way will include a gmd:MD_DataIdentification object that describes the dataset and srv:SV_ServiceIdentification objects that describes each standard service that is available for that dataset.
<gmd:identificationInfo> <gmd:MD_DataIdentification id="DataIdentification"> ... </gmd:MD_DataIdentification> </gmd:identificationInfo> <gmd:identificationInfo> <srv:SV_ServiceIdentification> <srv:operatesOn xlink:href="#DataIdentification"/> </srv:SV_ServiceIdentification> </gmd:identificationInfo>
In this example the MD_DataIdentification object has an id="DataIdentification" so that it can be referenced with an internal link (xlink:href="DataIdentification") from the srv:operatesOn element of the service metadata.
gmd:HierarchyLevel
The MD_ScopeCode code list includes dataset and service as valid codes. The 19115 standard allows a single record to have multiple scope codes (gmd:HierarchyLevel) and level names (gmd:hierarchyLevelName) so it is possible and valid to give a record two scope codes:
<gmd:hierarchyLevel> <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#MD_ScopeCode" codeListValue="dataset">dataset</gmd:MD_ScopeCode> </gmd:hierarchyLevel> <gmd:hierarchyLevel> <gmd:MD_ScopeCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#MD_ScopeCode" codeListValue="service">service</gmd:MD_ScopeCode> </gmd:hierarchyLevel>
Whether or not this is appropriate is up to the metadata author. Note: is is also possible and valid to give a record multiple gmd:HierarchyLevelNames to provide more information than just the scopeCodes. Unfortunately, if there are multiple scope codes and multiple names, it is not possible to associate the names with the correct scope code. In other words, the record could contain:
<gmd:hierarchyLevelName> <gco:CharacterString> Level Name 1</gco:CharacterString> </gmd:hierarchyLevelName> <gmd:hierarchyLevelName> <gco:CharacterString> Level Name 2</gco:CharacterString> </gmd:hierarchyLevelName>
but it is impossible to tell from the XML which name is associated with which level. This problem is likely to be addressed in the upcoming revision of ISO 19115.