导出记录¶
GeoNetwork有三种不同的导出选项来导出元数据。它们对搜索结果中选定的元数据集进行操作。因此,可以从“actions on selection”菜单访问它们,如下例所示:
导出为ZIP存档¶
当选定的一组元数据记录导出为ZIP存档时,每个元数据记录都作为包含元数据、随元数据记录上载的任何数据和缩略图的目录插入到ZIP存档中。这种类型的ZIP存档是MEF(元数据交换格式)2.0版。您可以在GeoNetwork开发人员手册中找到更多有关MEF V2的详细信息。
导出为CSV文件¶
当选定的元数据记录集导出为CSV/TXT文件时,将对每个元数据记录执行以下过程:
通过应用元数据模式中的简要模板,可以生成每个选定元数据记录中某些元素的简要摘要。不同可用架构的主文件夹是
GEONETWORK_DATA_DIR/config/schema_plugins/
。特别是,对于ISO 19115-3.2018,它位于:GEONETWORK_DATA_DIR/config/schema_plugins/iso19115-3.2018/layout/tpl-csv.xsl
提取所有元数据记录的简要摘要元素所共有的元素(因为它们根据元数据模式可能有所不同)
创建一个以逗号分隔的元素名的标题记录
每个元素的内容以逗号分隔的形式排列。如果brief元素中有多个子元素(例如,对于geoBox),则每个子元素的内容都使用“35;###”分隔。
CSV格式的ISO元数据记录的示例如下所示:
"schema","uuid","id","title","metadatacreationdate","geoBox"
"iso19115-3.2018","27b5f8b8-053a-11ea-aa46-02000a08f492","1312","S2A_MSIL1C_20161218T102432_N0204_R065_T32TMS_20161218T102606","2019-11-12T10:49:52,"7.691141905380134###9.128266945124432###45.958258688896564###46.95363733424615"
通过在元数据模式的表示XSLT中创建特殊模板,可以覆盖元数据元素的简要摘要。作为如何做到这一点的一个例子,我们将重写iso19115-3.2018模式的摘要,并用其他可能有用的信息替换它。
对于iso19115-3.2018,有两个文件需要修改:
geonetwork/WEB-INF/data/config/schema_插件/iso19115-3.2018/layout/tpl-csv.xsl文件
地理网络/xslt/services/csv/csv-搜索.xsl
例如,要导出以下元素:
"uuid","title","cloud_coverage_percentage","category","date-creation"
在第一个文件中,必须按以下步骤进行:
注释元素
id, title, abstract
除了
<uuid>
<xsl:value-of select="gn:info/uuid"/>
</uuid>
要在抽象元素和类别元素之间添加类似的行,请执行以下操作:
<myfield>myfieldvalue</myfield>
例如:
<title>
<xsl:copy-of select="mdb:identificationInfo/*/mri:citation/*/cit:title"/>
</title>
<cloud_coverage_percentage>
<xsl:copy-of select="mdb:contentInfo/mrc:MD_ImageDescription/mrc:cloudCoverPercentage/gco:Real"/>
</cloud_coverage_percentage>
<category>
<xsl:value-of select="mdb:metadataScope/*/mdb:resourceScope/*/@codeListValue"/>
</category>
关于云覆盖率,特别是,如果缺少,请记住添加命名空间:
xmlns:mrc="http://standards.iso.org/iso/19115/-3/mrc/2.0"
如果对其他信息不感兴趣,请评论所有其他行,除了:
<xsl:copy-of select="gn:info"/>
因为它用于按架构对结果排序。
关于第二个文件, csv-search.xsl ,以避免自动打印3列:
"schema","uuid","id",
您必须注释以下行:
<xsl:text>"schema"</xsl:text>
<xsl:value-of select="$sep"/>
<xsl:text>"uuid"</xsl:text>
<xsl:value-of select="$sep"/>
<xsl:text>"id"</xsl:text>
<xsl:value-of select="$sep"/>
和
<xsl:value-of select="concat('"', $metadata/geonet:info/schema, '"', $sep,
'"', $metadata/geonet:info/uuid, '"', $sep,
'"', $metadata/geonet:info/id, '"', $sep)"/>
这些更改将创建所需的输出:
"uuid","title","cloud_coverage_percentage","category","date-creation"
"c94da70e-066e-11ea-aa22-02000a08f492","S2A_MSIL1C_20180320T101021_N0206_R022_T33TUM_20180320T122057","36.0368","dataset","2018-03-20T12:20:57",