Programování v GIS 3
2024-11-11
Pozor
V seznamu nástrojů se uvádí název třídy, nikoliv instance nástroje - tzn. Tool
nikoliv Tool()
.
__init__
, getParameterInfo
, isLicensed
, updateParameters
, updateMessages
, execute
, postExecute
, s příslušnou signaturouclass Tool:
def __init__(self):
"""Define the tool (tool name is the name of the class)."""
self.label = "Tool"
self.description = ""
def getParameterInfo(self):
"""Define the tool parameters."""
params = None
return params
def isLicensed(self):
"""Set whether the tool is licensed to execute."""
return True
def updateParameters(self, parameters):
"""Modify the values and properties of parameters before internal
validation is performed. This method is called whenever a parameter
has been changed."""
return
def updateMessages(self, parameters):
"""Modify the messages created by internal validation for each tool
parameter. This method is called after internal validation."""
return
def execute(self, parameters, messages):
"""The source code of the tool."""
return
def postExecute(self, parameters):
"""This method takes place after outputs are processed and
added to the display."""
return
arcpy.Parameter
s různými typy parametrů, které vytvoří příslušný objektparam0 = arcpy.Parameter(displayName, name, datatype, parameterType, direction)
, detaily nutné vyčíst v dokumentacigetParameterInfo
- return [param0, param1, ...]
param0
, který je typu GPFeatureLayer
a param1
, který je typu GPValueTable
param1
, které závisí na hodnotě parametru param0
param0.defaultEnvironmentName = "workspace"
param0.value = os.path.join(os.path.dirname(__file__), 'Fire_Station.lyrx')
param1.symbology = os.path.join(os.path.dirname(__file__), 'raster_symbology.lyrx')
execute
parameters
, obvykle jako test - param0 = parameters[0].valueAsText
execute
lze využít proměnnou messages
pro výpis chyb a informacímessages.addMessage("Message")
, messages.addWarning("Warning")
, messages.addError("Error")
messages.addGPMessages()
- přidá všechny zprávy z posledního spuštěného nástroje - užitečné tam, kde v rámci nástroje spouštíme dílčí nástrojePozor
Heslo nelze obnovit, pokud se zapomene, je toolbox ztracen.
Materiály dostupné: https://jancaha.github.io/vsb-vyuka/