操作方法

操作方法:使用 ArcGIS API for Python 通过 REST 端点将元数据从现有服务复制到新项目

Last Published: April 23, 2021

摘要

可以使用 ArcGIS API for Python 将现有服务元数据复制到 ArcGIS Online 或 ArcGIS Enterprise 中的新项目。 当涉及多个数据时,这对于在整个组织中保持一致性特别有帮助。

过程

以下过程将介绍如何从现有服务中复制元数据。 可以通过两种方法来复制元数据:从要素图层中复制元数据,以及从地图服务中复制元数据。

使用要素图层

  1. 导入所需的模块。
import arcgis from arcgis.gis import GIS from arcgis.features import FeatureLayer
  1. 指定 FeatureLayer() 类以从服务端点中获取项目。
gis = GIS("https://arcgis.com", "Username", "Password") url = '<Feature Layer Service URL>' layer = FeatureLayer(url)
  1. 将服务中的元数据设置为相应变量。
itemTags = layer.properties.documentInfo.Keywords itemDescription = layer.properties.serviceDescription itemSnippet = layer.properties.documentInfo.Subject itemTitle = layer.properties.documentInfo.Title
  1. 使用现有服务中的信息在 ArcGIS Online 中创建一个新项目。
wmsUrl = '<URL to the service>' props = {'title': itemTitle, 'type': 'Feature Service', 'url': '<URL to the service>', 'tags': itemTags, 'description': itemDescription, 'snippet': itemSnippet} wmsItem = gis.content.add(item_properties=props, data=wmsUrl)
以下显示了完整脚本的示例:
import arcgis from arcgis.gis import GIS from arcgis.features import FeatureLayer gis = GIS("https://arcgis.com", "Username", "Password") url = 'https://services.arcgis.com/Wl7Y1m92PbjtJs5n/arcgis/rest/services/workers_dec6d6e11b564e338fb3254626cee2f0/FeatureServer' layer = FeatureLayer(url) itemTags = layer.properties.documentInfo.Keywords itemDescription = layer.properties.serviceDescription itemSnippet = layer.properties.documentInfo.Subject itemTitle = layer.properties.documentInfo.Title wmsUrl = 'https://domain.esri.com:6443/arcgis/rest/services' props = {'title': itemTitle, 'type': 'Feature Service', 'url': 'https://domain.esri.com:6443/arcgis/rest/services', 'tags': itemTags, 'description': itemDescription, 'snippet': itemSnippet} wmsItem = gis.content.add(item_properties=props, data=wmsUrl)
使用地图服务
  1. 导入所需的模块。
import arcgis from arcgis.gis import GIS from arcgis.mapping import MapImageLayer
  1. 指定 MapImageLayer() 类以从服务端点中获取项目。
gis = GIS("https://arcgis.com", "Username", "Password") url = '<Map Service URL>' layer = MapImageLayer(url)
  1. 将服务中的元数据设置为相应变量。
itemTags = layer.item_info['tags'] itemDescription = layer.item_info['description'] itemSnippet = layer.item_info['summary'] itemTitle = layer.item_info['title'] itemTumbnail = layer.thumbnail()
  1. 使用现有服务中的信息创建一个新项目。
wmsUrl = '<URL to the service>' props = {'title': itemTitle, 'type': 'Map Service', 'url': '<Url to the service>', 'tags': itemTags, 'description': itemDescription, 'snippet': itemSnippet} wmsItem = gis.content.add(item_properties=props, data=wmsUrl, thumbnail= itemTumbnail)
以下显示了完整脚本的示例:
import arcgis from arcgis.gis import GIS from arcgis.mapping import MapImageLayer gis = GIS("https://arcgis.com", "Username", "Password") url = 'https://sampleserver6.arcgisonline.com/arcgis/rest/services/DamageAssessment/MapServer' layer = MapImageLayer(url) itemTags = layer.item_info['tags'] itemDescription = layer.item_info['description'] itemSnippet = layer.item_info['summary'] itemTitle = layer.item_info['title'] itemTumbnail = layer.thumbnail() wmsUrl = 'https://domain.esri.com:6443/arcgis/rest/services' props = {'title': itemTitle, 'type': 'Map Service', 'url': 'https://domain.esri.com:6443/arcgis/rest/services', 'tags': itemTags, 'description': itemDescription, 'snippet': itemSnippet} wmsItem = gis.content.add(item_properties=props, data=wmsUrl, thumbnail= itemTumbnail)

文章 ID:000019020

从 ArcGIS 专家处获得帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项

相关信息

发现关于本主题的更多内容