Классы запросов

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

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

Классы, создаваемые с использованием фиксированного числа входных аргументов

  • Для запроса значения аргумента в объекте класса вы можете обратиться к свойству объекта.
    circle = NbrCircle(5, "CELL")
    
    # varRadius will be assigned the radius property (which is 5)
    varRadius = circle.radius
  • Вы можете проверить значение объекта или свойства объекта.
    >>> circle = NbrCircle(5, "CELL")
    >>> print(circle)
    Circle 5 Cell
    >>> print(circle.radius)
    5

Классы создаются на основе списков или списка списков

  • Чтобы просмотреть всю таблицу сопоставлений, вы можете использовать функцию Python print.
    >>> remap = RemapValue([[1, 11], [2, 12], [3, 13]])
    >>> print(remap)
    1 11; 2 12; 3 13
    >>> print(remap.remapTable)
    [[1, 11], [2, 12], [3, 13]]
  • Для запроса отдельной записи в списке объектов класса, которые создаются на основе списков внутри списков, определите список, в котором находится запись, и определите местоположение этой записи в списке.
    >>> remap = RemapValue([[1, 11], [2, 12], [3, 13]])
    >>> print(remap.remapTable[1][1])
    12

Классы создаются на основе серий классов в списке

  • Чтобы запросить отдельные x- или y-координаты, либо x,y координаты точки в списке для объектов класса, который был создан на основе серий классов в списке, обратитесь к свойству отдельного класса во входных сериях.
    >>> points = [Point(0, 5), Point(15, 175), Point(225, 450)]
    >>> # The following statement queries the x value of the second input point
    >>> xvalue = points[1].X
    >>> print(xvalue)
    15.0

Определение типа

  • Чтобы определить тип объекта класса, используйте функцию Python type.
    >>> neighborhood = NbrCircle(5, "CELL")
    >>> neighType = type(neighborhood)
    >>> print(neighType)
    <class 'arcpy.sa.ParameterClasses.NbrCircle'>
  • Чтобы сравнить типы, используйте функцию Python isinstance.
    circle = NbrCircle(5, "CELL")
    
    # The general format is: isinstance(AnyObject, AnyClass)
    # In the following statement, val will be assigned True
    val = isinstance(circle, NbrCircle) 
    
    # In the following statement, val will be assigned False
    val = isinstance(circle, NbrRectangle)

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