Hi all,
I am working with a Python Notebook in ArcGis Pro 3.0.5. I would like to create a map series with tables. Every step should be done in Python.
Here is my code so far:
# Laoding the libraries
import arcpy
import os
import sys
# Reference the current project, MUST be run in the ArcGIS Pro application
aprx = arcpy.mp.ArcGISProject('current')
# Reference the appropriate map and layout
m = aprx.listMaps("Map")[0]
# Reference the appropriate layout
lyt = aprx.listLayouts("Gemeinden_2023")[0]
# Storing map layers on different variables
countyLayer = aprx.listMaps()[0].listLayers("Projekte")[0]
queryLayer = aprx.listMaps()[0].listLayers("Projekte")[0]
geplanteKUBA = aprx.listMaps()[0].listLayers("KUBA_SV")[0]
geplanteKS = aprx.listMaps()[0].listLayers("Projektideen")[0]
gemeindeLayer = aprx.listMaps()[0].listLayers("Gemeinden")[0]
state = arcpy.GetParameterAsText(0)
# Reference page layout elements
for elm in lyt.listElements():
if elm.name == "NoGrowth": noGrowth = elm
if elm.name == "NoMassnahmen": noMassnahmen = elm
#if elm.name == "horzLine": horzLine = elm
#if elm.name == "vertLine": vertLine = elm
if elm.name == "cellTxt": cellTxt = elm
if elm.name == "cell2Txt": cell2Txt = elm
if elm.name == "headerTxt": headerTxt = elm
if elm.name == "header2Txt": header2Txt = elm
if elm.name == "cellTxtRight": cellTxtRight = elm
if elm.name == "cell2TxtRight": cell2TxtRight = elm
if elm.name == "LaufendeProjekte": titelTxt = elm
# Delete elements in the layout that contain 'clone' in their name - clean up before next page
for elm in lyt.listElements("GRAPHIC_ELEMENT", "*clone*"):
elm.delete()
for elm in lyt.listElements("TEXT_ELEMENT", "*clone*"):
elm.delete()
# Defining the element positions
noGrowth.elementPositionX = -10
noMassnahmen.elementPositionX = -10
cellTxt.elementPositionX = -3
cell2Txt.elementPositionX = -3
headerTxt.elementPositionX = -3
header2Txt.elementPositionX = -3
#horzLine.elementPositionX = -17
#vertLine.elementPositionX = -3
cellTxtRight.elementPositionX = -2
cell2TxtRight.elementPositionX = -2
titelTxt.elementPositionX = -10
#Reference DDP object
ms = lyt.mapSeries
#Graphic table variable values
tableHeight = 4
table2Height = 3.5
tableWidth = 15
headerHeight = 0.4
titelHeight = 0.5
rowHeight = 0.4
upperX = 16.2
upperY = 9
upper2Y = 4.5
# Get the state name from the dropdown list
stateName = state
arcpy.AddMessage("Processing: "+ stateName)
# Deleting the memory
if arcpy.Exists("in_memory\select1"):
arcpy.Delete_management("in_memory\select1")
if arcpy.Exists("in_memory\sort1"):
arcpy.Delete_management("in_memory\sort1")
if arcpy.Exists("in_memory\select2"):
arcpy.Delete_management("in_memory\select2")
if arcpy.Exists("in_memory\select3"):
arcpy.Delete_management("in_memory\select3")
# Creating the first selection set
where_clause = "\"ZZGEMEINDE\" LIKE '" + stateName + "%'"
arcpy.Select_analysis(countyLayer, "in_memory\select1", where_clause)
numRecords = int(arcpy.GetCount_management("in_memory\select1").getOutput(0))
Well, and that is the error message, which I get:
ExecuteError Traceback (most recent call last)
In [10]:
Line 4: numRecords = int(arcpy.GetCount_management("in_memory\select1").getOutput(0))
File C:\Program Files\ArcGIS\Pro\Resources\ArcPy\arcpy\management.py, in GetCount:
Line 22757: raise e
File C:\Program Files\ArcGIS\Pro\Resources\ArcPy\arcpy\management.py, in GetCount:
Line 22754: retval = convertArcObjectToPythonObject(gp.GetCount_management(*gp_fixargs((in_rows,), True)))
File C:\Program Files\ArcGIS\Pro\Resources\ArcPy\arcpy\geoprocessing\_base.py, in <lambda>:
Line 512: return lambda *args: val(*gp_fixargs(args, True))
ExecuteError: Failed to execute. Parameters are not valid.
ERROR 000732: Input Rows: Dataset in_memory\select1 does not exist or is not supported
Failed to execute (GetCount).I don't get the error because everything seems correct for me (well it isn't, but yeah)....
Please help me to find a solution, I would be very thankful.
Thanks in advance,
Nadja