计算脏区 (数据管理)

摘要

识别在指定时间点后发生更改的镶嵌数据集中的区域。对镶嵌数据集进行更新或同步,或需要更新衍生产品(例如缓存)时经常使用该工具。该工具可将此类进程限制为仅适用于已更改的区域。

使用情况

  • 此工具可构造一个面,用以界定包含一个或多个在指定时间点后发生过改动的镶嵌数据集项的区域。

  • 这使得那些根据镶嵌数据集来构造衍生产品(如缓存)的工具和应用程序,可以就自上次衍生产品与镶嵌数据集同步以后出现的最新变动执行部分更新。

  • 可以通过以下两种方式指定日期和时间参数:

    • XML 时间字符串
    • 非 XML 字符串

  • 有效的 XML 时间字符串必须为以下格式之一:

    • YYYY-MM-DDThh:mm:ss
    • YYYY-MM-DDThh:mm:ss.ssssZ
    • YYYY-MM-DDThh:mm:ss.ssss-00:00
    • YYYY-MM-DDThh:mm:ss+00:00
    • YYYY
    • YYYY-MM
    • YYYY-MM-DD
    • YYYY-MM-DDZ
    • YYYY-MM-DDThh
    • YYYY-MM-DDThhZ
    • YYYY-MM-DDThh:mm
    • YYYY-MM-DDThh:mmZ
    • YYYY-MM-DDThh:mm:ss
    • YYYY-MM-DDThh:mm:ssZ

  • 出现在某些 XML 时间字符串最后的部分表示的是时区。用 Z 指定的时区是祖鲁时间 (Zulu Time),即格林尼治时间 (Greenwich Mean Time)。您也可以通过与祖鲁时间的时差指定时区。如果未指定时区,将使用所在地的时区。

  • 有效的非 XML 时间字符串可以采取以下显示的任意格式:

    • YYYY/MM/DD hh:mm:ss.s
    • YYYY/MM/DD hh:mm:ss
    • YYYY/MM/DD hh:mm
    • YYYY/MM/DD hh
    • YYYY/MM
    • YYYY-MM-DDhhmmss.s
    • YYYY-MM-DDhhmmss
    • YYYY-MM-DDhhmm
    • YYYY-MM-DDhh
    • YYYY-MM-DD
    • YYYY-MM
    • YYYYMMDDhhmmss.s
    • YYYYMMDDhhmmss
    • YYYYMMDDhhmm
    • YYYYMMDDhh
    • YYYYMMDD
    • YYYYMM
    • YYYY

参数

标注说明数据类型
镶嵌数据集

想要针对更改进行分析的镶嵌数据集。

Mosaic Layer
查询定义
(可选)

用于选择镶嵌数据集中的特定栅格(将在其中计算脏区)的 SQL 表达式。

SQL Expression
起始日期和时间

计算自输入时间起更改的区域。

XML 时间语法:

  • YYYY-MM-DDThh:mm:ss
  • YYYY-MM-DDThh:mm:ss.ssssZ
  • 2002-10-10T12:00:00.ssss-00:00
  • 2002-10-10T12:00:00+00:00

非 XML 时间语法:

  • 2002/12/25 23:59:58.123
String
输出要素类

包含已更改区域的要素类。

Feature Class

arcpy.management.ComputeDirtyArea(in_mosaic_dataset, {where_clause}, timestamp, out_feature_class)
名称说明数据类型
in_mosaic_dataset

想要针对更改进行分析的镶嵌数据集。

Mosaic Layer
where_clause
(可选)

用于选择镶嵌数据集中的特定栅格(将在其中计算脏区)的 SQL 表达式。

SQL Expression
timestamp

计算自输入时间起更改的区域。

XML 时间语法:

  • YYYY-MM-DDThh:mm:ss
  • YYYY-MM-DDThh:mm:ss.ssssZ
  • 2002-10-10T12:00:00.ssss-00:00
  • 2002-10-10T12:00:00+00:00

非 XML 时间语法:

  • 2002/12/25 23:59:58.123
String
out_feature_class

包含已更改区域的要素类。

Feature Class

代码示例

ComputeDirtyArea 示例 1(Python 窗口)

ComputeDirtyArea 的 Python 示例。

import arcpy
arcpy.ComputeDirtyArea_management("c:/workspace/fgdb.gdb/md", "#", 
                                  "2010-01-12T18:00:00.00-08:00", "dirtyarea.shp")
ComputeDirtyArea 示例 2(独立脚本)

ComputeDirtyArea 的 Python 脚本示例。

##===========================
##Compute Dirty Area
##Usage: ComputeDirtyArea_management in_mosaic_dataset {where_clause} timestamp
##                                   out_feature_class

import arcpy
arcpy.env.workspace = "c:/workspace"

# Find the area changed after 6:00pm Jan 12th 2010
arcpy.ComputeDirtyArea_management("fgdb.gdb/md", "#", "2010-01-12T18:00:00.00-08:00", "dirtyarea.shp")