当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python ArcGIS OfflineMapAreaManager.create用法及代码示例


本文简要介绍 python 语言中 arcgis.mapping.OfflineMapAreaManager.create 的用法。

用法:

create(area, item_properties=None, folder=None, min_scale=None, max_scale=None, layers_to_ignore=None, refresh_schedule='Never', refresh_rates=None, enable_updates=False, ignore_layers=None, tile_services=None, future=False)

返回:

Item 已创建的离线Map区域项目的对象。如果 Future==True,则结果是 PackagingJob 对象。

create 方法为ArcGIS 运行时驱动的应用程序创建离线Map区域项目和包。 create 方法创建两种不同类型的 Item 对象。它首先为指定范围或书签创建Map Area 项目。接下来,它会创建一个或多个与范围中的每个图层类型相对应的Map区域包。

注意:

  • 一个范围或书签只能有 1 个Map区域项目。

  • 您需要成为 web Map的所有者或 GIS 的管理员。

Parameter

Description

area

必需的对象。书签或范围。指定为:

  • 书签名称

    >>> area = 'Bookmark1'
    注意:

    bookmarks 返回书签列表。

  • 坐标对列表:

    >>> area = [['xmin', 'ymin'], ['xmax', 'ymax']]
  • 字典:

    >>> area = {
                'xmin': <value>,
                'ymin': <value>,
                'xmax': <value>,
                'ymax': <value>,
                'spatialReference' : {'wkid' : <value>}
               }
注意:

如果未指定空间参考,则假定为‘wkid’: 4326。

item_properties

必需的字典。有关键和值,请参见下表。

folder

可选字符串。如果您希望在文件夹内创建离线Map区域项目和包,请指定文件夹名称。

min_scale

可选整数。指定缓存切片和矢量切片图层的最小比例。当缩小超过此比例时,缓存图层将不会显示。

max_scale

可选整数。指定缓存切片和矢量切片图层的最大比例。当放大超出此比例时,缓存图层将不会显示。

layers_to_ignore

创建离线包时要排除的图层对象的可选列表。您可以通过调用 WebMap 对象的 layers 属性来获取 web Map中的图层列表。

refresh_schedule

可选字符串。允许在给定时间安排刷新。

以下是有效变量:

  • Never - 从不刷新离线包(默认)

  • Daily - 每天刷新

  • Weekly - 每周刷新一次

  • Monthly - 每月刷新一次

refresh_rates

可选字典。此参数允许自定义调度程序。字典接受以下内容:

{
 "hour" : 1
 "minute" = 0
 "nthday" = 3
 "day_of_week" = 0
}
  • 小时 - 0-23 之间的值(整数)

  • 分钟 0-60 之间的值(整数)

  • nthday - 这仅用于每月。这表示刷新将在每月的‘x’ 日发生。

  • day_of_week - 0-6 之间的值,其中 0 是星期日,6 是星期六。

# Example **Daily**: every day at 10:30 AM UTC

 >>> refresh_rates = {
                      "hour": 10,
                      "minute" : 30
                     }

# Example **Weekly**: every Wednesday at 11:59 PM UTC

 >>> refresh_rates = {
                      "hour" : 23,
                      "minute" : 59,
                      "day_of_week" : 4
                     }

enable_updates

可选布尔值。允许更新图层。

ignore_layers

可选列表。Map中要忽略的单个图层列表,使用其服务 URL 指定。该任务默认为所有Map图层生成包。

>>> ignore_layers = [
                     "https://services.arcgis.com/ERmEceOGq5cHrItq/arcgis/rest/services/SaveTheBaySync/FeatureServer/1",
                     "https://services.arcgis.com/ERmEceOGq5cHrItq/arcgis/rest/services/WildfireSync/FeatureServer/0"
                    ]

tile_services

可选列表。一组 JSON 对象,其中包含需要为其创建切片包(.tpk 或 .vtpk)的其他启用了导出切片的切片服务。每个磁贴服务都使用其 URL 和所需的详细信息级别进行指定。

>>> tile_services = [
                     {
                      "url": "https://tiledbasemaps.arcgis.com/arcgis/rest/services/World_Imagery/MapServer",
                      "levels": "17,18,19"
                     }
                    ]

future

可选布尔值。如果为 True,则将返回 future 对象,并且进程不会等待任务完成。默认为False,表示等待结果。

注意:

您的 min_scale 值始终大于您的 max_scale 值。

参数 item_properties 的键:值字典选项

Key

Value

description

可选字符串。项目的说明。

title

可选字符串。项目的名称标签。

tags

可选字符串。以逗号分隔值或字符串列表形式列出的标签。用于搜索项目。

snippet

可选字符串。提供项目内容的简短摘要(最多 250 个字符)。

示例 1:

# USAGE EXAMPLE: Creating offline map areas

wm = WebMap(wm_item)

# create offline areas ignoring a layer and for certain min, max scales for other layers
item_prop = {'title': 'Clear lake hyperspectral field campaign',
            'snippet': 'Offline package for field data collection using spectro-radiometer',
            'tags': ['python api', 'in-situ data', 'field data collection']}

aviris_layer = wm.layers[-1]

north_bed = wm.definition.bookmarks[-1]['name']
wm.offline_areas.create(area=north_bed, item_properties=item_prop,
                      folder='clear_lake', min_scale=9000, max_scale=4500,
                       layers_to_ignore=[aviris_layer])

注意:

此方法以静默方式执行。要查看信息性状态消息,请设置详细环境变量,如下所示:

示例 2:

# USAGE EXAMPLE: setting verbosity

from arcgis import env
env.verbose = True

相关用法


注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 arcgis.mapping.OfflineMapAreaManager.create。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。