ArealUnitConversionFactor
Краткая информация
Возвращает коэффициент для конвертации измеряемой площади в другую площадную единицу.
Обсуждение
Площадные единицы, поддерживаемые функцией, — это те же единицы, которые возвращаются из типа данных параметра геообработки Единицы площади, за исключением Unknown, поскольку только известные единицы могут быть конвертированы.
Синтаксис
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 areal unit is "Unknown"
# Add code to either deal with it or produce an appropriate error as shown below.
arcpy.AddError('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