Запрос классов
Вы можете идентифицировать отдельный аргумент, который был использован в параметре, и выполнить на его основе определенный набор функций. В разделах ниже описаны правила запроса различных аргументов для классов дополнительного модуля 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, eval will be assigned True eval = isinstance(circle, NbrCircle) # In the following statement, eval will be assigned False eval = isinstance(circle, NbrRectangle)
Связанные темы
5/10/2014