Доступно с лицензией Spatial Analyst.
Вам может понадобиться изменить отдельный аргумент в параметре, когда у вас появляется дополнительная информация о моделируемом явлении, вы хотите проверить разные сценарии, выполнить анализ ошибочности или чувствительности, либо исправить возникающую ошибку. В примерах ниже показано, как менять различные входные аргументы.
Значения или свойства класса
- Чтобы изменить значение объекта класса, вы можете создать класс повторно.
neighborhood = NbrCircle(5, "MAP") # The neighborhood object can be changed from a circle to a rectangle neighborhood = NbrRectangle(3, 3, "MAP")
- Отдельный аргумент может быть изменен напрямую, путем доступа к свойству, в котором хранится аргумент объекта.
>>> neighborhood = NbrCircle(5, "MAP") >>> # The following statements change the radius to 7 and the units to CELL >>> neighborhood.radius = 7 >>> neighborhood.units = "CELL" >>> print(neighborhood) CIRCLE 7 CELL
- Числовой аргумент, который хранится как свойство объекта, может быть изменен алгебраически.
circle = NbrCircle(5, "CELL") # The following statement changes the radius to 5.5 circle.radius = circle.radius * 1.1
Вы также можете использовать оператор назначения, чтобы поменять значение.
# The following statement changes the radius to 5.5 circle.radius *= 1.1
Классы, создаваемые с помощью списков Python
- Вы можете добавлять элементы в список inFeatures для классов, которые были созданы на основе списков.
>>> arguments = TopoStream(["features1", "features2"]) >>> arguments.inFeatures.append("features3") >>> arguments.inFeatures += ["features4", "features5"] >>> print(arguments.inFeatures) ['features1', 'features2', 'features3', 'features4', 'features5']
- Вы также можете удалить элемент из входного списка.
>>> arguments = TopoStream(["features1", "features2", "features3", "features4", "features5"]) >>> del arguments.inFeatures[2] >>> print(arguments.inFeatures) ['features1', 'features2', 'features4', 'features5']
- Вы можете изменить отдельную запись в списке.
>>> arguments = TopoStream(["features1", "features2"]) >>> arguments.inFeatures[1] = "lake2" >>> print(arguments.inFeatures) ['features1', 'lake2']
Классы, созданные с помощью списков в списках
- Вы можете изменить запись в таблице перекодировки (изменение записей внутри вложенных списков) для классов, которые были созданы на основе списков внутри списков.
>>> remap = RemapValue([[1, 11], [2, 12], [3, 13]]) >>> # Change the newValue 12 in the second reclassification to a 10 >>> remap.remapTable[1][1] = 10 >>> print(remap.remapTable) [[1, 11], [2, 10], [3, 13]]
- Отдельную запись в таблице перекодировки можно изменить алгебраически.
remap = RemapRange([[1, 10, 5], [10, 20, 8], [20, 30, 10]]) # The following statement increases the endValue 20 by 5 percent remap.remapTable[1][1] *= 1.05 # Another implementation of increasing an entry by 5 percent remap.remapTable[1][1] = remapTable.table[1][1] * 1.05
- Вы можете изменить отдельную строку в таблице перекодировки (изменение целых вложенных списков).
>>> remap = RemapValue([[1, 11], [2, 12], [4, 13]]) >>> # Change the second reclassification [2, 12] to [3,10] >>> remap.table[1] = [3, 10] >>> print(remap.remapTable) [[1, 11], [3, 10], [4, 13]]
- Вы можете добавить записи в таблицу перекодировки (добавление вложенного списка).
>>> remap = RemapValue([[1, 11], [2, 12], [3, 13]]) >>> # Add a forth reclassification, [4, 14] to the end >>> remap.remapTable.append([4, 14]) >>> # Another approach for adding a row >>> remap.remapTable += [[5, 15]] >>> print(remap.remapTable) [[1, 11], [2, 12], [3, 13], [4, 14], [5, 15]]
- Вы можете удалить записи из таблицы перекодировки (удаление вложенного списка).
>>> remap = RemapValue([[1, 11], [2, 12], [3, 13], [4, 14], [5, 15]]) >>> # Delete the entire second reclassification >>> del remap.remapTable[1] >>> print(remap.remapTable) [[1, 11], [3, 13], [4, 14], [5, 15]]
Классы создаются на основе серий классов в списке
- Вы можете изменить отдельную точку в списке для класса, который был создан на основе серий классов в списке.
>>> points = [Point(0, 5), Point(15, 175)] >>> # Change the X value of the second input to 25 >>> points[1].X = 25 >>> print(points) [<Point (0.0, 5.0, #, #)>, <Point (25.0, 175.0, #, #)>]