联合数据和管理源

站点管理员可使用适用于 ArcGIS Hub 站点的源将站点公开内容与外部目录联合,并通过搜索引擎和第三方目录提高发现力。 管理员和访问者可使用源了解站点目录的最新变化。

使用目录源

可使用 ArcGIS Hub 源了解站点目录的变化,例如添加了新内容。 对于目录中包含公共项目的所有公共 Hub 站点,会在站点页脚和搜索界面中显示浏览源按钮。 选择此项时将打开一个窗口,其中显示各个源以及添加每个源所需的代码。 Hub 支持以下源:

  • DCAT US 1.1 (<siteURL>/api/feed/dcat-us/1.1.json)
  • DCAT AP 2.1.1 (<siteURL>/api/feed/dcat-ap/2.1.1.json)
  • OGC API – 记录 (<siteURL>/api/search/definition)
  • RSS (<siteURL>/api/feed/rss/2.0)

DCAT 源

每个站点都具有一个目录(内容库),其中包含您要通过站点共享的内容。 要联合站点的目录,可以共享为每个公共 Hub 站点自动生成的公共源输出 URL。 Hub 支持两个 DCAT 源:DCAT US 1.1. 和 DCAT AP 2.1.1。 此目录源(例如 www.yourhubsite.gov/api/feed/dcat-us/1.1.json)符合 DCAT US 1.1。 您还可以使用 Hub 中的 DCAT 配置编辑器来编辑站点目录的内容。

警告:

只有公开共享的数据项才会填充 <DCAT type>.json 目录。 当前无法通过 DCAT 目录方法共享或联合组织中的私人内容。

注:

每个站点的数据目录都会在 <siteURL>/data.json 中生成符合 DCAT US 1.1 的公共源输出 URL。 2022 年初,ArcGIS Hub 正式迁移到位于 <siteURL>/api/feed/dcat-us/1.1.json 的新端点。 有关详细信息,请阅读在 ArcGIS Hub 站点上对 DCAT 配置进行的更改博客。

OGC API - 记录

可使用 OGC 记录 API 通过标准化集合和资源元数据探索地理空间资源。 对于此源,可以通过编程查询、过滤和搜索 Hub 站点的目录。 使用此浏览器可测试 API 端点并搜索目录,无需使用站点客户端搜索界面。 常见用例包括在其他工具中渲染地图上的要素,包括 ArcGIS Online Map Viewer、GIS 桌面应用程序、OWSLib 等。

RSS 源

RSS 是一种 Web 内容联合格式,是传播有关目录条目(尤其是经常更新或附加的目录)的标准方式。 RSS 源包含已共享到站点的所有公开提供的内容的高级元数据,例如标题、描述和发布日期。 Hub 站点编辑者可以选择要显示的元数据,即覆盖默认元数据值并提供在用户更新时最重要的值。 例如,站点编辑者可以将元数据值配置为高亮显示内容更新时间、简短描述和相关地理位置。 用户可以及时了解搜索目录的变化或将源送入 RSS 阅读器(聚合器)以在其他站点上显示该内容。

配置和管理源

站点管理员可以选择要应用于 DCAT US 1.1、DCAT AP 2.1.1 和 RSS 的站点输出源的属性和值。 可保留 ArcGIS Hub 的默认配置,也可以自己配置某些字段/属性。 在源编辑器中,您必须提供与数据集元数据对应的有效键。

  1. 选择编辑按钮 编辑编辑模式下打开站点。
  2. 选择此项以打开顶部导航栏中的站点菜单,然后选择内容库
  3. 选择更多操作按钮 更多操作,然后选择配置源
  4. 选择要配置的源。 在配置编辑器中,将您的代码复制粘贴到逗号后及最后一个括号前的任意位置处。
  5. 选择保存

默认方案示例

ArcGIS Hub 将使用以 JSON 编写的方案来确定为相应源中的每条记录显示的元数据属性。 下面是一个默认 DCAT US 1.1 方案。 其中包含 "title”: “{{name}}”“description”: {{description}} 等键值对。 对于源中的每条记录,您将看到键 (“title”) 和模板化值 (“<项目的元数据标题>”)。 该方案的设计基于 ArcGIS 项目元数据和 DCAT US 1.1 标准之间最直接的映射。

默认 DCAT US 1.1 方案

{
	"title": "{{name}}",
	"description": "{{description}}",
	"keyword": "{{tags}}",
	"issued": "{{created:toISO}}",
	"modified": "{{modified:toISO}}",
	"publisher": {
		"name": "{{source}}"
	},
	"contactPoint": {
		"fn": "{{owner}}",
		"hasEmail": "{{orgContactEmail}}"
	},
	"spatial": "{{extent}}"
}

您可以编辑 DCAT US 和 DCAT AP 源的 "spatial" 属性。 Hub 将在新模板中使用项目范围(默认情况下)。 对于没有范围值的项目,系统将移除空间属性。 您可以使用替代值 "spatial": "{{extent || 'SPATIAL_FALLBACK'}}" 来覆盖 "spatial" 值,并更新默认模板。

自定义方案示例

可以通过添加、更新或移除键/值对来自定义方案。 一些键无法编辑,具体取决于源类型。 下面是一个自定义 DCAT US 1.1 方案示例,其中包含的多项修改如下所示:

  • 添加键/值对
  • 更新键/值对
  • 为键/值对添加回退

自定义 DCAT US 1.1 方案

{
 "title": "{{name}}",
"description": "{{description}}",
	"keyword": "{{tags}}",
	"issued": "{{created:toISO}}",
	"modified": "{{modified:toISO}}",
	"publisher": {
		"name": "{{source}}"
	},
	"contactPoint": {
		"fn": "{{owner}}",
		"hasEmail": "{{orgContactEmail}}"
	},
	"culture": "{{culture}}",
	"summary": "{{snippet}}",
	"platform": "ArcGIS Hub",
	"bureauCode": [
		"010:86",
		"010:04"
	],
	"programCode": [
		"015:001",
		"015:002"
	]
}
注:

自定义 DCAT US 1.1 方案包括添加 5 个新键:“culture”, “summary”, “platform”, “bureauCode”“programCode”。 键 “culture”“summary” 具有从 Hub V3 API(最新版本 Hub API)中提取的模板值。 键 “platform”, “bureauCode”“programCode” 具有字符串文本值。

自定义值示例

为了符合组织的元数据标准,许多站点管理员希望调整出现在源中的元数据。 键可以是任何文本字符串,例如 “title”“”,但通常它们应符合目标元数据标准。 相应的值可以是字符串文本或者用于从 Hub V3 API 中提取键的模板。 对于模板,可以提供从 V3 API 返回的任何顶级或嵌套键。

例如,在 ArcGIS Hub 源示例站点 (dc.esri.com) 中,有一个标题为 “USA Weather Watches and Warnings” 的公共图层。可通过使用 Hub V3 API (https://hub.arcgis.com/api/v3/datasets/c7a223914778420db8bf000b4eb6ec6f) 访问图层 ID 查看该数据集的 JSON 元数据:c7a223914778420db8bf000b4eb6ec6f。 如果项目具有多个图层,将图层编号添加至项目 ID 的结尾处 (`<项目 ID>_<图层编号>`)。

当访问以上示例 API 响应时,您应看到一个 JSON 响应,如下所示:

自定义值示例 DCAT US 1.1

"data": 
{
    "id": "c7a223914778420db8bf000b4eb6ec6f",
    "type": "dataset",
    "attributes": {
        "errors": [],
        "access": "public",
        "additionalResources": [],
  …
}

如果向下滚动,您将看到更多可供选择并在编辑器中用作模板值的键,例如“created”,它表示创建内容的日期。 要使用来自 Hub V3 API 的值,需要在源编辑器中,为 “attributes” 下的所有 Hub V3 API 键添加模板值。 例如,如果您希望在源记录中包含“created”,例如以下所示:

自定义值示例 DCAT US 1.1

{
…
 	"bureauCode": ["010:86","010:04"],
 	"programCode": ["015:001","015:002"],
 	"created": 1610151009000,
…
}
在此相同示例中,您需要将以下行添加至自定义 DCAT US 1.1 方案:
{
…
  "bureauCode": [
   "010:86",
   "010:04"
],
  "programCode": [
   "015:001",
   "015:002"
],
  "created": "{{item.created}}"
…
}

内容管理员可以配置源以包含其他自定义分发。 这些将追加到 Hub 为内容项目的可下载资源自动生成的现有分发中。

通过 Hub 源联合目录

Hub 源编辑器允许站点管理员标准化其数据描述方式。 站点管理员可以选择在获取源的每个数据集之前为其显示的元数据值。

与 Data.gov 联合

在美国,您可以修改输出以专门使用国家的 Data.gov 目录等大数据交换中心。 此类互操作性意味着您可以将这些第三方聚合器指向提供数据集时采用的多种格式(分发)。 分发是提供的诸多格式,以用作 Web 服务、下载或 API。

站点管理员可以选择应用于站点 DCAT US 1.1 输出源的属性和值。 在源编辑器中,您必须提供与数据集元数据对应的有效键。

与 CKAN 联合

如果您的组织使用编目软件(例如 CKAN)或与其他使用编目软件的组织合作,则可以联合 Hub 站点数据目录。 必须正确配置 CKAN 实例以支持数据采集。 首先,安装并配置下面两个由 CKAN 团队开发并维护以及由 Data.gov 和其他用户使用的扩展模块来采集数据集:CKAN Harvesting 扩展模块CKAN DCAT 扩展模块

确认已安装这些扩展模块后,确保 Harvester Gather_Consumer 和 Fetch_Consumer 服务运行为后台服务。 有关详细信息,请查阅 CKAN 文档

采集 ArcGIS Hub 目录

要采集 目录,请完成以下步骤:

  1. 转至 CKAN 采集管理页面并登录 http://yourCKANinstance/harvest
  2. 选择添加采集源并提供关于 Hub 站点的信息:
    • 使用 http://yourOpenDataSite/data.json 填写 URL。
    • 提供的采集源标题应与站点标题类似。
    • 可以选择性地填写描述框。
    • 选择 DCAT JSON Harvester 作为源类型。
    • 对于更新频率,选择手动
    • 完成后选择保存
  3. 选择管理并选择重新采集
  4. 在您的 CKAN 实例中运行采集作业。

    CKAN 将处理您的 data.json 文件,并包含您所有的数据集。 可以通过查看采集源来查看采集到的内容。 所有来自 Hub 的描述、标记和数据集分布均可以从 CKAN 实例处访问。

注:

初次预览 .csv.json 文件时,可能会遇到一些延迟,因为 Hub 会生成数据的缓存,而 CKAN 无法确定在处理数据时如何处理这些缓存。 下一次预览文件时将不会出现这种情况。