收割

THREDDS目录描述了数据集的目录。它们以分层的方式组织,列出每个数据集的描述性信息和访问方法。它们通常对netCDF数据集进行编目,但不限于这些类型的文件。此收集类型在THREDDS目录中爬行,为其中或引用的netCDF数据集中描述的数据集和服务收集元数据。这种收集类型可以从THREDDS目录中提取元数据片段,允许用户将这些片段链接或复制到模板中以创建元数据记录。

添加THREDDS目录收割机

可用选项包括:

  • Site

    • Name -这是THREDDS目录的简短描述。它将在收割主页上显示为这个THREDDS harvester实例的名称。

    • 目录URL -将从中获取元数据的THREDDS目录的远程URL。这必须是目录的xml版本(即以.xml结尾)。收割机将在这个目录中定义的所有数据集和服务中爬行,为它们创建元数据,这些元数据由下面进一步描述的选项指定。

    • 元数据语言 -使用此选项指定要获取的元数据的语言。

    • ISO主题类别 -使用此选项可以指定服务元数据的ISO主题类别。

    • 为目录中的所有服务创建ISO19119元数据 -选择此选项可为THREDDS目录中定义的服务(例如OpenDAP、OGC WCS、ftp)和THREDDS目录本身生成iso19119元数据。

    • 为集合数据集创建元数据 -选择此选项可为每个集合数据集(包含其他数据集的THREDDS数据集)生成元数据。元数据的创建可以使用选择此选项时显示的选项进行自定义,如下所述。

    • 为原子数据集创建元数据 -选择此选项可为每个原子数据集生成元数据(THREDDS数据集不包含其他数据集,例如编目netCDF数据集)。元数据的创建可以使用选择此选项时显示的选项进行自定义,如下所述。

      • 忽略收获属性 -选择此选项可获取选定数据集的元数据,而不考虑THREDDS目录中数据集的“获取”属性。如果未选择此选项,则只会为“收获”属性设置为true的数据集创建元数据。

      • 提取DIF元数据元素并创建ISO元数据 -选择此选项可为THREDDS目录中具有DIF元数据元素的数据集生成ISO元数据。选择此选项时,将显示一个架构列表,其中包含DIFToISO.xsl可用的样式表(参见示例 GEONETWORK_DATA_DIR/config/schema_plugins/iso19139/convert/DIFToISO.xsl ). 元数据是通过将THREDDS中的DIF元数据项读取为DIF格式的元数据记录,然后使用DIF to ISO样式表将该DIF记录转换为ISO来生成的。

      • 使用片段提取Unidata数据集发现元数据 -当THREDDS或netCDF/ncml数据集中的元数据遵循Unidata数据集发现约定时,选择此选项(请参见http://www.unidata.ucar.edu/software/netcdf-java/formats/DataDiscoveryAttConvention.html). 您将需要编写自己的样式表,以将此元数据提取为片段,并定义一个与片段组合的模板。选择此选项时,将显示以下附加选项:

        • 为输出元数据记录选择架构 -为收集的元数据记录选择ISO元数据模式或配置文件。注意:只有具有THREDDS片段样式表的模式才会显示在列表中(这些样式表的位置请参见下一个选项)。

        • 用于创建元数据片段的样式表 -选择要用于将数据集的元数据(THREDDS metadata和netCDF ncml,如果适用)转换为元数据片段的样式表。这些样式表可以在模式目录的convert/ThreddsToFragments目录中找到,例如对于iso19139 GEONETWORK_DATA_DIR/config/schema_plugins/iso19139/convert/ThreddsToFragments .

        • 为片段创建子模板并将其XLink到模板中 -选择此选项可为生成的每个元数据片段创建子模板(=存储在GeoNetwork目录中的元数据片段)。

        • 与片段组合的模板 -选择将用为每个数据集生成的元数据片段填充的模板。如果 创建子模板 选项已选中。如果 创建子模板 未选中,则片段仅复制到模板元数据记录中。

        • 对于原子数据集,提供了一个附加选项 仅获取新的或修改过的数据集 . 如果选中此选项,则只会采集上次运行收获机时已修改或不存在的数据集。

    • 创建缩略图 -选择此选项可为引用的WMS服务中的WMS层创建缩略图

    • Icon -分配给已获取元数据的图标。显示搜索结果时将使用该图标。

  • 选项 -计划选项。

  • Privileges

  • 服务类别 -选择要分配给THREDDS服务的ISO19119服务记录的类别。

  • 数据集的类别 -选择要将生成的元数据记录(和任何子模板)分配给的类别。

页面底部有以下按钮:

  • Back -回到收割页面。未添加收割定义。

  • Save -保存此收割机定义以创建新的收割机实例。保存操作完成后,将显示主收割页面。

关于使用THREDDS Harvester获取THREDDS DIF元数据元素的更多信息

THREDDS目录可以包含来自DIF元数据标准的元素。Unidata netcdf java库提供了一个DIFWriter进程,可以从这些元素创建DIF元数据记录。geonnetwork有一个DIF to ISO样式表来将这些DIF记录转换为ISO。

关于使用THREDDS Harvester获取Unidata数据集发现元数据的更多信息

上述选项用于 使用片段提取Unidata数据集发现元数据 (见http://www.unidata.ucar.edu/software/netcdf-java/formats/DataDiscoveryAttConvention.html有关这些约定的更多详细信息),请为THREDDS目录中的每个集合数据集或原子数据集调用以下过程:

  1. harvester将目录URI、生成的uuid、数据集的THREDDS元数据(使用目录子集web服务生成)和netCDF数据集的ncml打包成一个xml文档。下面是一个例子。

  2. 然后使用指定的样式表转换此文档(请参见 样式表 选项)以获取元数据片段文档。

  3. 然后调用元数据片段采集器,根据请求为每个数据集创建子模板和/或元数据

例子

THREDDS目录中数据集上的DIF元数据元素不如遵循Unidata数据集发现元数据约定的元数据元素广泛使用。此示例将演示如何获取遵循Unidata数据发现约定的元数据元素(请参见http://www.unidata.ucar.edu/software/netcdf-java/formats/DataDiscoveryAttConvention.html).

提供了两个参考样式表作为如何从THREDDS目录中获取元数据片段的示例。其中一个样式表,thredds-元数据.xsl,用于根据Unidata数据集发现约定从THREDDS元数据生成iso19139元数据片段。另一个样式表netcdf-属性.xsl,用于根据Unidata数据集发现约定从netCDF数据集生成iso19139片段。这些样式表设计用于“收获模板-THREDDS-数据发现”模板,可以在模式“convert”目录中找到,例如对于ISO19139 GEONETWORK_DATA_DIR/config/schema_plugins/iso19139/convert/ThreddsToFragments .

提供了一个示例模板“收获模板-THREDDS-数据发现”,用于上述iso19139元数据模式的样式表。此模板位于模式“templates”目录中,例如对于ISO19139,这是 GEONETWORK_DATA_DIR/config/schema_plugins/iso19139/templates/thredds-harvester-unidata-data-discovery.xml . 之前 尝试运行此示例时,应确保已使用“管理”菜单中的“添加模板”功能将此模板和来自iso19139架构的其他模板加载到geonnetwork中。

现在我们将给出一个例子,说明如何设置一个收割机,并从一个公共的unidata motherlode目录中获取THREDDS元数据http://motherlode.ucar.edu网站:8080/thredds/catalog/satellite/3.9/WEST-CONUS km/目录.xml. 如果要将此URL粘贴到浏览器中,您将看到此THREDDS目录的XML表示。这是THREDDS harvester读取并转换为元数据的文档。

在GeoNetwork中,进入“管理”菜单,选择“收获管理”,如前所述。添加一个THREDDS目录收割机。填写收割管理表。

首先要注意的是 服务URL 应该是http://motherlode.ucar.edu网站:8080/thredds/catalog/satellite/3.9/WEST-CONUS km/目录.xml. 请确保使用目录的xml版本。如果使用html版本,将无法获取任何元数据。

现在,由于这个unidata motherload THREDDS目录有很多文件级数据集(实际上有数千个),我们将只获取集合元数据。你应该检查一下 为集合数据集创建元数据 忽略原子数据集。

接下来,因为这个目录中的元数据遵循Unidata数据发现约定,所以我们将选择 使用片段提取Unidata数据集发现元数据 .

接下来,我们会检查 忽略收获属性 . 我们这样做是因为THREDDS目录中的数据集可以有一个属性来指示是否应该获取该数据集。由于此目录中的任何数据集都没有“收获”属性,因此我们将忽略它。如果不选中此框,将跳过所有数据集。

下一步,我们将选择将在其中写入收获的元数据的元数据模式。我们会选择 国际标准组织19139 因为这是一个模式,我们有样式表,可以将THREDDS元数据转换为iso19139元数据片段,还有一个模板,可以将这些元数据片段复制或链接到其中。选择之后 国际标准组织19139 ,将显示显示这些样式表和模板的选项。

第一个选择是创建iso19139元数据片段的样式表。因为我们对thredds目录中的thredds元数据元素感兴趣,所以我们将选择 (iso19139) thredds-metadata (位于 GEONETWORK_DATA_DIR/config/schema_plugins/iso19139/convert/ThreddsToFragments )将这些元素转换为iso19139元数据片段。

为了演示的目的,我们将 not 检查 为片段(xlinks…)创建子模板 . 这意味着样式表创建的元数据片段将直接复制到元数据模板中。它们将无法重用(例如,在不同的元数据记录之间共享)。如果您不确定这意味着什么,请参阅前面关于元数据片段的部分。

最后,我们会选择 HARVESTING TEMPLATE - THREDDS - UNIDATA DISCOVERY 作为模板元数据记录,将与元数据片段组合以创建输出记录。此模板将从 GEONETWORK_DATA_DIR/config/schema_plugins/iso19139/templates/thredds-harvester-unidata-data-discovery.xml 通过管理界面中的添加模板功能。这个模板可以在收割机运行之前用所有记录通用的元数据填写。使用模板创建元数据记录的过程如下:

  1. 对于THREDDS目录中的每个数据集,将复制模板以创建新的iso19139元数据记录

  2. 从THREDDS数据集中获取的每个元数据片段将通过将模板中的标识符与片段中的标识符匹配(此匹配由模板和样式表的开发人员创建)而复制到新的iso19139元数据记录中。

  3. 然后将新记录插入GeoNetwork元数据目录,并在Lucene中索引记录内容以进行搜索。

然后,您可以根据希望更新捕获的元数据的频率、将为创建的元数据记录分配哪些类别、将在搜索结果中显示与元数据记录一起的图标以及对创建的元数据记录的权限来填写表单的其余部分。

保存收割机屏幕。然后在“收割管理”屏幕上,选中新创建的收割机旁边的复选框, 激活 然后 Run 它。几分钟后(取决于您的internet连接和计算机),您应该单击 刷新 . 如果你的收获是成功的,你应该看到一个结果面板出现类似于下面的屏幕截图。

注意,在这个THREDDS目录中,为48个集合级数据集创建了48个元数据记录。每个元数据记录都是通过复制元数据模板,然后将13个元数据片段复制到其中而形成的,因此总共获得624个片段。

下面是本例中由harvester创建并由GeoNetwork呈现的一个集合级元数据记录的示例。