Создание классов
Чтобы использовать классы для входных параметров инструментов геообработки, их необходимо прежде всего создать. После создания экземпляра вы получаете доступ к их свойствам и можете запрашивать или модифицировать объекты. Чтобы научиться создавать различные объекты классов, проще всего рассмотреть примеры их создания с использованием различных типов входных данных.
Подсказка:
Документация для каждого класса содержит пример создания скрипта, показывающий как определить и применить класс в параметре инструмента.
Классы, создаваемые с использованием фиксированного числа входных аргументов
- Ниже представлены примеры создания различных классов с использованием фиксированного числа входных аргументов:
# Creating a neighborhood class and assigning it to a variable neighborhood = NbrRectangle(10, 10, "CELL") outFocalStats = FocalStatistics(inRas, neighborhood, "MINORITY")
# Creating the Kriging model to be used kModelOrdinary = KrigingModelOrdinary("CIRCULAR", 2000, 2.6, 542, 0) # Creating a radius class and assigning it to a variable kRadius = RadiusFixed(20000, 1) outKriging = Kriging(inFeatures, field, kModelOrdinary, cellSize, kRadius, outVarRaster)
Классы, создаваемые с помощью списков Python или списков списков
- Ниже представлен пример создания класса из списка для использования в инструменте Топо в растр (Topo to Raster):
# Create classes as input for TopoToRaster myTopoPtElev = TopoPointElevation([["spots.shp", "spot_meter"], ["spots2.shp", "elev"]]) myTopoContour = TopoContour([["contours.shp", "spot_meter"]]) myTopoBoundary = TopoBoundary(["boundary.shp"]) myTopoLake = TopoLake(["lakes.shp"]) myTopoSink = TopoSink([["sink1.shp", "elevation"], ["sink2.shp", "NONE"]]) myTopoStream = TopoStream(["streams.shp"]) # Applying the tool outTopoToRaster = TopoToRaster([myTopoPtElev, myTopoContour, myTopoBoundary, myTopoLake, myTopoSink, myTopoStream])
- Ниже представлен пример создания класса из списка для использования в инструменте Переклассификация (Reclassify):
# The RemapValue class has a usage of: # RemapRange(startValue, endValue, newValue) RemapTable = RemapValue([[1, 5], [2, 8], [3, 1], [4, 10]]) # Run the tool outReclass = Reclassify("inRas", RemapTable)
Классы, созданные из ряда классов в списке
- Ниже представлен пример создания классов из ряда Точечных классов в списке, которые будут использоваться для извлечения ячеек растра:
# Identify the points to be extracted by creating a list # of Point objects. PointsToExtract = [Point(0, 5), Point(15, 175), Point(225, 450)] # Run the tool Outraster = ExtractByPoints(PointsToExtract)
Аргументы по умолчанию
- Некоторые аргументы являются необязательными и обозначаются при использовании фигурными скобками {}. Например, синтаксис для класса клинообразной окрестности выглядит следующим образом:
NbrWedge({radius}, {startAngle}, {endAngle}, {units})
- Если дополнительный аргумент не задан, будет использоваться значение по умолчанию.
# The circle neighborhood will default to # a radius of 3 and units of CELL circle = NbrCircle()
- Для дополнительных аргументов можно использовать либо пустые кавычки "", либо знак решетки "#", указывающие на то, что значение нужно пропустить и использовать значение по умолчанию.
Связанные темы
5/10/2014