摘要
返回将面积测量值转换为其他面积单位的因子。
语法
ArealUnitConversionFactor (from_unit, to_unit)
参数 | 说明 | 数据类型 |
from_unit | The original or source areal unit.
| String |
to_unit | The destination areal unit.
| String |
数据类型 | 说明 |
Double | 在两个面积单位之间转换值的转换因子。 |
代码示例
从公顷转换为平方千米的简单用例。
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
在脚本工具中,将指定值转换为平方米以进行处理。
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