Запрос классов

Доступно с лицензией 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

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

  • Чтобы определить тип объекта класса, можно использовать функцию Python type.
    >>> neighborhood = NbrCircle(5, "CELL")
    >>> neighType = type(neighborhood)
    >>> print(neighType)
    <class 'arcpy.sa.ParameterClasses.NbrWedge'>
  • Чтобы сравнить типы, можно использовать функцию 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)

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