I am trying to write a simple script that get input from a variable in ModelBuilder and use it in a Python script to "zoom" on a selected features in layout.
Here is the script and the error:
aprx = arcpy.mp.ArcGISProject('CURRENT')
mapx = aprx.listMaps()[0]
lyr = mapx.listLayers()[4]
quartier = arcpy.GetParameterAsText(0)
lyr.definitionQuery = '"NOM" = ' + "'"+GetParameterAsText(0)+"'"
lyt = aprx.listLayouts()[0]
mf = lyt.listElements('MAPFRAME_ELEMENT')[0]
mf.camera.setExtent(mf.getLayerExtent(lyr, False, True))
Traceback (most recent call last): File
"C:\Users…\Projet\zoom.py", line 10, in
lyr.definitionQuery = '"NOM" = ' + "'"+GetParameterAsText(0)+"'" NameError: name 'GetParameterAsText' is not defined
The model variable and Python variables have the exact same name.
The model variable data type is set as a string.
The script variable datatype is set to all values.
My version of ArcGIS Pro is in French.
Best Answer
Where you have:
it should be:
However, since you have previously set
quartier = arcpy.GetParameterAsText(0)
you could also use Python string formatting to do the same thing: