Resumen
Returns the factor for converting an area measurement to a different areal unit.
Debate
The area units supported by the function are the same units returned from the geoprocessing Area Units parameter data type with the exception of Unknown, in which only known units can be converted.
Sintaxis
ArealUnitConversionFactor (from_unit, to_unit)
Parámetro | Explicación | Tipo de datos |
from_unit | The original or source areal unit.
| String |
to_unit | The destination areal unit.
| String |
Tipo de datos | Explicación |
Double | The conversion factor for converting values between the two areal units. |
Muestra de código
A simple use case for converting from hectare to square kilometers.
import arcpy
# Convert an area of 10000 Hectares to SquareKilometers
area = 10000 * arcpy.ArealUnitConversionFactor(from_unit="Hectares", to_unit="SquareKilometers")
print(area) # This will print a value of 100.0
Within a script tool, convert a specified value to square meters for processing.
import locale
import sys
area = arcpy.GetParameter(n) # Update n to the parameter index
area_value, area_unit = area.split(" ") # For example, "10 Acres"
# Convert the area into "SquareMeters" as needed later in this script
try:
conv_factor = arcpy.ArealUnitConversionFactor(area_unit, "SquareMeters")
except ValueError as e:
# If fails, the likely area; unit is "Unknown"
# Add code to either deal with it or produce an appropriateerror as shown below.
arcpy.AddError(arcpy.GetIDMessage('Invalid areal unit type.))
sys.exit()
# Apply the conv_factor to the supplied value
# locale.atof is required for locales that don't use a period as the separator
area_square_m = locale.atof(area_value) * conv_factor