One of the data types supported by ArcGIS Bathymetry is the Bathymetric Attributed Grid (BAG) file format. The BAG file format stores metadata along with bathymetry data. All of the metadata included as part of the BAG standard may not be applicable to your business needs. ArcMap allows you to configure BAG metadata to only display fields that are relevant to your organization. When a new Bathymetry Information System (BIS) geodatabase is created, a sample configuration XML file is automatically created for Internal BAG metadata. The configuration file can be modified to include or exclude the BAG metadata fields you want to display, filter, and interact with in ArcMap. This will affect the fields displayed in the Add Bathymetry window, Explore Bathymetry dialog box, Metadata Editor window, and Dataset Preview window.
By default, the sample ONSBagInternalMetadataDef.xml file parses and displays certain fields within a BAG file’s internal metadata: Title, Abstract, Date, Contact Person, Responsible Organization, and Cellsize (x,y).
The following shows the root element for the internal metadata.
<XmlMetadataDefinition metadataType="ONSBagInternal" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<XmlMetadataDefinitionFields>
The example below shows a breakdown of the element hierarchy in the internal metadata XML configuration file.
<XmlMetadataDefinition metadataType="ONSBagInternal" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<XmlMetadataDefinitionFields>
<XmlMetadataDefinitionField title="" dataType="" searchable="" displayed="" baseXpath="" xmlNodeName="">
<xmlDataRestriction restrictionType="">
</xmlDataRestriction>
</XmlMetadataDefinitionField>
</XmlMetadataDefinitionFields>
</XmlMetadataDefinition>
Configuring BAG fields displayed in ArcMap
The following example demonstrates how to display a field from a BAG file in ArcMap
<XmlMetadataDefinitionField title="Responsible Organization" dataType="xmlTypeString" searchable="true" displayed="true" baseXpath="/MD_Metadata/contact/CI_ResponsibleParty" xmlNodeName="organisationName">
<XmlAlternateXpaths>
<XmlAlternateXpath versionChanged="1.5.0" baseXpath="/MI_Metadata/contact/CI_ResponsibleParty/organisationName" xmlNodeName="CharacterString" />
</XmlAlternateXpaths>
<xmlDataRestriction restrictionType ="XmlMetadataFieldStringRestriction">
<MaxLength>100</MaxLength>
</xmlDataRestriction>
</XmlMetadataDefinitionField>
Updating from ArcMap 10.2.1 and earlier
If you’ve previously customized your ONSBagInternalMetadataDef.xml file prior to ArcGIS Bathymetry 10.2.2, alternate XPath expressions are needed to denote where the metadata attribute can be found in a version 1.5 BAG. Regardless of whether you’ve loaded version 1.5 BAGs into your BIS, you will need to manually update the XONSBagInternalMetadata.xml file to accommodate the alternate XPath expressions. Until this is done, any version 1.5 BAGs that are added to your BIS will not appear to have any internal metadata. This will ensure that the alternate metadata structure can be parsed and displayed properly in ArcMap when version 1.5 BAGs are loaded.
The following is an example of an existing field that is parsed for releases 1.4 and earlier:
<XmlMetadataDefinitionField title="Title" dataType="xmlTypeString" searchable="true" displayed="true" baseXpath="/MD_Metadata/identificationInfo/BAG_DataIdentification/citation/CI_Citation" xmlNodeName="title">
<xmlDataRestriction restrictionType="XMLMetadataFieldStringRestriction">
<MaxLength>100</MaxLength>
</xmlDataRestriction>
</XmlMetadataDefinitionField>
For that same field to be parsed for a release 1.5 BAG, an <XMLAlternateXpaths> field must be introduced:
<XmlMetadataDefinitionField title="Responsible Organization" dataType="xmlTypeString" searchable="true" displayed="true" baseXpath="/MD_Metadata/contact/CI_ResponsibleParty" xmlNodeName="organisationName">
<XmlAlternateXpaths>
<XmlAlternateXpath versionChanged="1.5.0" baseXpath="/MI_Metadata/contact/CI_ResponsibleParty/organisationName" xmlNodeName="CharacterString" />
</XmlAlternateXpaths>
<xmlDataRestriction restrictionType ="XmlMetadataFieldStringRestriction">
<MaxLength>100</MaxLength>
</xmlDataRestriction>
</XmlMetadataDefinitionField>