ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

Изменение аргументов в классах

Доступно с лицензией Spatial Analyst.

  • Изменение значений или свойств классов
  • Изменение классов, созданных с помощью списков python
  • Классы, созданные с помощью списков в списках
  • Классы, созданные из ряда классов в списке

Вам может понадобиться изменить отдельный аргумент параметра, если у вас появилась дополнительная информация о явлении, которое вы моделируете, если вы хотите протестировать альтернативные сценарии, выполнить анализ ошибок или чувствительности или просто исправить ошибку. На ряде примеров вы научитесь изменять самые различные входные аргументы.

  • Обзор классов 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, #, #)>]
    

Связанные разделы

  • Обзор использования классов дополнительного модуля Spatial Analyst
  • Создание классов
  • Запрос классов

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2021 Esri. | Конфиденциальность | Правовая информация