Skip to content

Tool Land Cover Proportions

donebert edited this page Aug 24, 2022 · 34 revisions

Land Cover Proportions

Summary

Calculates percentages of selected land cover types within reporting unit polygons and creates an output table.

Optionally, per capita area of selected land cover types within each reporting unit may also be reported (square meters of land cover class per person).

Usage

  • This tool processes all polygons in the Reporting unit feature regardless of selections set. The ability to limit land cover calculations to only selected reporting unit polygons is not supported in this release.

  • The Reporting unit feature is a zone dataset.

    • A zone is defined as all areas in the input that have the same value. The areas do not have to be contiguous. The term "value" in this definition refers to the unique values in the Reporting unit ID field. Therefore, all polygons with the same reporting unit ID are treated as a single zone.

    • When more than one polygon has the same reporting unit ID, the areas for each polygon are combined and metrics are reported as a single record in the Output table.

  • As the Reporting unit feature is a vector dataset, ArcGIS will perform a vector to raster conversion during processing.

    • To better control the vector to raster conversion, the tool defaults the Snap raster and the Processing cell size to that of the Land cover grid. These may be changed from within the tool.

    • If a large size disparity exists between the extents of the Reporting unit feature and the Land cover grid, the user may wish to set the Extent in Environment Settings > Processing Extent to the smaller of the two to avoid unnecessary processing.

  • If the Reporting unit feature has overlapping features, the zonal analysis will be performed for each individual feature.

  • If a feature in the Reporting unit feature zone data does not overlap any cell centers in the secondary class rasters (e.g.,Land cover grid), those zones will not get converted to the internal zone raster. As a result, those zones will not be represented in the Output table.

  • The Land cover classification scheme must correspond to the Land cover grid.

    • Schemes for common land cover datasets are included with ATtILA. Supplied schemes may be designated as either "ALL" or "LAND" (e.g. NLCD 2001 ALL vs. NLCD 2001 LAND). Schemes designated as "ALL" include all land cover classes in reporting unit area calculations, while those designated as "LAND" include only terrestrial land cover classes, with non-terrestrial land cover classes such as water and snow/ice excluded. More information about each of the classification schemes supplied with ATtILA may be found in Supplied Land Cover Classification Schemas.

    • In addition to the common land cover schemes, the tool permits a user-defined land cover classification scheme to be used by specifying a Land cover classification file (.xml). Refer to Land Cover Classification for more information.

    • NOTE: When a classification scheme with excluded land cover classes is selected, the areas of the excluded classes are disregarded in metric calculations. For example, when selecting a "LAND" classification scheme, the tool will process individual land cover classes and calculate metrics based on the total terrestrial area they occupy within the reporting unit, rather than the percent of the total area within the reporting unit.

  • Final output is written to the location specified in the Output table parameter. The Output table may be saved as a File Geodatabase Table, or a dBASE Table.

    • NOTE: For most consistent results, it is highly recommended that tool output be saved to a file geodatabase.

    • When saving as a File Geodatabase Table, no extension is necessary for the Output table name. The output location must be a file geodatabase.

    • When saving as a dBASE Table, include the .dbf extension in the Output table name. dBASE tables may not be saved in a file geodatabase.

  • When the optional PER CAPITA (square meters of land cover type per individual) is checked, the tool allows the user to select a Population raster or polygon feature and a corresponding Population field.

    • The Population raster or polygon feature will allow you to choose either a raster, or a polygon feature.

      • When choosing a raster, this tool assumes the grid cell value to be the population count for the grid cell.

      • When choosing a polygon feature, this tool assumes that population is distributed evenly throughout each feature polygon. The tool apportions population by area weighting. For example, if 50% of a population polygon is within a reporting unit, the tool will assign 50% of the value in the polygon's Population field to that reporting unit. Caution should be exercised when population polygons do not have even population distributions as this could result in an overweighting or underweighting of population when the tool performs the apportionment. Generally, greater accuracy will be achieved if the population polygons are smaller than the smallest Reporting unit feature polygons.

      • NOTE: The Population field dropdown is only available when the Population raster or polygon feature is a polygon feature.

      • NOTE: The Population field will default to 'Value' when the Population raster or polygon feature is an integer grid.

      • NOTE: The Population field will be empty when the Population raster or polygon feature is a non-integer grid.

  • The user may elect to Add Quality Assurance Fields, Add Area Fields and/or Retain Intermediate Layers Generated During Metric Processing.

    • Choosing to Retain Intermediate Layers saves the intermediate products to one of the following locations:

      • When output is saved as a File Geodatabase Table, intermediate products are placed in the same file geodatabase.

      • When ouput is saved as a dBASE Table, a file geodatabase named "attilaScratchWorkspace" is automatically generated in the same output location specified for the Output table. Intermediate products are placed in the attilaScratchWorkspace file geodatabase.

  • Field names in the Output table follow this naming scheme:

    • [class lcpField] or 'p'+[class Id] - The percent of the non-excluded reporting unit occupied by the land cover class.

      • [class lcpField] is used if an lcpField attribute is provided in the class's element in the selected Land cover classification file.

      • 'p'+[class Id] - is used if an lcpField attribute is not provided.

    • When the PER CAPITA option is selected:

      • [output field name]+'_PC' - The area (m²) per person of the land cover class by reporting unit.
    • NOTE: Output field names can be altered by editing the Land cover classification file.

    • NOTE: The output field name for each class is shown as the second item next to the class's check box in Report metrics for these classes.

Syntax

LCP (Reporting_unit_feature, Reporting_unit_ID_field, Land_cover_grid, Land_cover_classification_scheme, Land_cover_classification_file, Report_metrics_for_these_classes, Output_table, {Processing_cell_size}, {Snap_raster}, Select_options)

Parameter Explanation Data Type
Reporting_unit_feature The vector polygon dataset that defines the reporting units. Feature Layer
Reporting_unit_ID_field The field in the Reporting unit feature layer that contains the unique ID for each reporting unit.

It may be an integer or a string data type.
Field
Land_cover_grid The raster dataset representing land cover classes upon which core and edge area metrics will be derived within each Reporting unit feature.

The class input must be an integer raster layer.
Raster Layer
Land_cover_classification_scheme The land cover classification schemes included in ATtILA and a User Defined option.

The default schemes correspond to common input land cover datasets. Two schemes are supplied for each dataset included in ATtILA:

  • {DATASET NAME} ALL - includes all land cover types in the grid with no exclusions.
  • {DATASET NAME} LAND - excludes non-terrestrial land cover types.
String
Land_cover_classification_file The full pathname to the user-defined .xml file for custom or non-standard land cover classification schemes.

Pathname is automatically filled when a default scheme is selected.
File
Report_metrics_for_these_classes A list of the land cover classes and metric combinations for processing.

Check the box to calculate metrics for each land cover class and/or combination class desired within the reporting units.
Multiple Value
Output_table The output reporting unit metrics table to be created.

It is recommended that the Output table be saved within a file geodatabase.
Table
PER_CAPITA (Optional) Specifies whether the per capita value for each land cover class and/or combination class desired within the reporting units will be added to the output table.

  • false - The per capita value(s) will not be included. This is the default.
  • true - The per capita value(s) will be included. These values report the area (m²) per person of selected land cover class within the reporting unit.
Boolean
Population_raster_or_polygon_feature The raster or vector polygon dataset that contains population data. Feature Layer or Raster Layer
Population_field (Optional) The field in the Population raster or polygon feature that contains population data.

The behavior of this parameter is dependent on the input for the Population or polygon feature:

  • The field selection dropdown is available when the input is a polygon feature.
  • The field selection will default to 'Value' when the input is an integer grid.
  • The field selection will be empty when the input is a non-integer grid.
Field
Processing_cell_size (Optional) The Processing cell size for the zonal operation.

The default Processing cell size is the cell size of the input raster land cover data. Optionally, the user may select a different cell size.
Analysis cell size
Snap_raster (Optional) The raster that the cell alignment of the Land cover grid and rasterized Reporting unit feature layer will be matched to during processing.

The default Snap raster is the Land cover grid.
Raster Layer
Select_options Three tool options are available to provide additional information:

  • Add Quality Assurance Fields - Adds area fields to the Output table to facilitate quality assurance checking.
  • Add Area Fields for All Land Cover Classes - Adds fields to the Output table that includes the areas of each land cover class and combination class selected.
  • Retain Intermediate Layers Generated During Metric Calculation - Saves the intermediate table and/or raster that is normally deleted after processing is complete.
Multiple Value

Additional Options

  • Retain Intermediate Layers Generated During Metric Calculation

    • Choosing INTERMEDIATES retains several of the key intermediate products (e.g., rasters, feature classes, tables) used to generate the final too output. By examining the intermediate products, the user can gain a better understanding how the metric is calculated. The following intermediate products are listed in the order they are generated:

      • lcp_TabArea* table - A table of areas corresponding to the values in the Land cover raster within each reporting unit. The name of the intermediate table has the prefix "lcpTabArea" followed by a number (e.g. lcpTabArea0, lcpTabArea1, lcpTabArea2, etc.). The number suffix is added when the table is saved in order to give each successive table a unique name when the tool is executed more than once and results saved to the same output location.

      • lcp_[Reporting unit feature]* vector - A copy of the

      • lcp_populationCnt* table -

  • Add Quality Assurance Fields

    • LCP_OVER - The percent overlap between the Reporting unit feature layer and the Land cover grid for each reporting unit.

    • LCP_TOTA - The total raster zonal area for each reporting unit (zone) after the Reporting unit feature layer has been rasterized.

    • LCP_EFFA - The effective raster area of each reporting unit (zone) after excluded classes have been removed.

    • LCP_EXCA - The raster area of the excluded classes within each reporting unit (zone) based on exclusions in the Land cover classification scheme.

  • Add Area Fields

    • Choosing AREAFIELDS adds area fields for all selected land cover classes. The field naming conventions is dependent on whether an lcpField is provided in the :

      • [lcpField]_A - The area of the rasterized reporting unit occupied by the land use class.

      • p[class]_A - The area of the rasterized reporting unit occupied by the land cover class (e.g. "pfor_A" is the name of the field for the metric representing the area of NLCD "Forest" class within the reporting unit).

Tool Messages (Example)

  • Start Time: Day, Month dd, yyyy hh:mm:ss AM/PM
  • Started: yyyy-mm-dd hh:mm:ss Setting up environment variables
  • Intermediates are stored in this directory: workspace path
  • Time: yyyy-mm-dd hh:mm:ss Constructing the ATtILA metric output table
  • Time: yyyy-mm-dd hh:mm:ss Generating a zonal tabulate area table
  • Time: yyyy-mm-dd hh:mm:ss Calculating population within each reporting unit
  • Time: yyyy-mm-dd hh:mm:ss Processing the tabulate area table and computing metric values
  • Succeeded at Day, Month dd, yyyy hh:mm:ss AM/PM (Elapsed Time: ##.## units)

Code Samples

Land Cover Proportions example (Python window)

This example returns a table with the proportion of the reporting unit zone comprised of agriculture and all natural land cover classes. The options to calculate the square meters of each land cover class per captia, to retain the intermediate calculation products, and to generate the quality assurance fields have also been selected.

NOTE: ATtILA tools that utilize the Report metrics for these classes parameter will clear all class selections when the tool is opened. This results in setting any variable set for that parameter to None when calling the tool from a script. Because of this, the standard scripting syntax (e.g. arcpy.ATtILA.LCP(variable 1, variable 2, variable 3, etc.) will fail. To overcome this idiosyncrasy, use the scripting example provided below.

import arcpy
from arcpy.sa import *
arcpy.ImportToolbox(r"D:\Destination Folder\ATtILA v2.tbx")
from ATtILA2 import metric

Reporting_unit_feature = r"D:\pyexamples\data.gdb\Watersheds"
Reporting_unit_ID_field = "HUC_12"
Land_cover_grid = r"D:\pyexamples\data.gdb\NLCD_2016"
Land_cover_classification_scheme = "NLCD LAND"
Land_cover_classification_file = r"D:\ATtILA2\src\ATtILA2\ToolboxSource\LandCoverClassifications\NLCD LAND.xml"
Report_metrics_for_these_classes = "'agr  -  [pagr]  Agriculture';'NI  -  [NINDEX]  All Natural Land Use'"
Output_table = r"D:\pyexamples\results.gdb\Watersheds_LCP"
PER_CAPITA = "true"
Population_raster_or_polygon_feature = r"D:\pyexamples\data.gdb\Census2010"
Population_field = "TOTALPOP"
Processing_cell_size = "30"
Snap_raster = r"D:\pyexamples\data.gdb\NLCD_2016"
Select_options = "'INTERMEDIATES  -  Retain Intermediate Layers Generated During Metric Calculation';'QAFIELDS  -  Add Quality Assurance Fields)'"

metric.runLandCoverProportions(Reporting_unit_feature,
                               Reporting_unit_ID_field,
                               Land_cover_grid,
                               Land_cover_classification_scheme,
                               Land_cover_classification_file,
                               Report_metrics_for_these_classes,
                               Output_table,
                               PER_CAPITA,
                               Population_raster_or_polygon_feature,
                               Population_field,
                               Processing_cell_size,
                               Snap_raster,
                               Select_options)

Tags

There are no tags for this item.

Credits

There are no credits for this item.

Use Limitations

There are no access and use limitations for this item.

arrow_up Page

Table of contents

Clone this wiki locally