HOW TO
Bei der Arbeit mit Kartendokumenten (MXDs) müssen Textelemente manchmal aufgrund von Datenänderungen oder Revisionen ersetzt oder aktualisiert werden. Mit der Funktion "text.Split()" in Python können Textelemente zeitsparend in mehreren MXDs gleichzeitig ersetzt werden, sodass der Text nicht in jeder MXD einzeln aktualisiert werden muss.
Mit einem Python-Skript in ArcMap können Sie zwei Textlisten mit jeweils den alten und neuen Textelementen der MXDs erstellen und dann jedes Textelement aus der ersten Liste mit dem entsprechenden Textelement in der zweiten Liste ersetzen lassen. Führen Sie dazu die folgenden Schritte aus.
import arcpy from arcpy import env import os arcpy.env.overwriteOutput = True #set path to the relevant folder arcpy.env.workspace = Input_Workspace = arcpy.GetParameterAsText(0) Output_Workspace = arcpy.GetParameterAsText(1) Old_Text = arcpy.GetParameterAsText(2) oldList = Old_Text.split(', ') #set the comma as separator for multiple inputs New_Text = arcpy.GetParameterAsText(3) newList = New_Text.split(', ') #list the mxds of the workspace folder for mxdname in arcpy.ListFiles("*.mxd"): arcpy.AddMessage(mxdname) #set the variable mxd = arcpy.mapping.MapDocument(Input_Workspace + "\\" + mxdname) #replace elements that occur in the map document for elm in arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT"): counter = 0 for text in oldList: if text in elm.text: elm.text = elm.text.replace(text, newList[counter]) arcpy.AddMessage('{} changed'.format(elm.text)) counter = counter + 1 else: counter = counter + 1 mxd.saveACopy(Output_Workspace + "\\" + mxdname)
Hinweis: Das Skript durchläuft die MXDs in alphabetischer Reihenfolge. Beginnen Sie mit dem Aktualisieren der Textelemente beim ersten MXD im Alphabet, sodass die Änderungen wie gewünscht vorgenommen werden.
Hinweis: Die Textelemente im Feld Old_Text müssen exakt dem zu ersetzenden Text in den jeweiligen MXDs entsprechen. Andernfalls erkennt das Skript den Text nicht, und die Änderungen sind in der Ausgabe-MXD nicht enthalten.
Unterstützung durch ArcGIS-Experten anfordern
Esri Support App herunterladen