import arcpy
mxd = arcpy.mapping.MapDocument("C:\\Path\\To\\Map.mxd")
#Get layout elements:
elemList=arcpy.mapping.ListLayoutElements(mxd)
#Find title element:
for elem in elemList:
if elem.name=="Title": #Make sure you manually set the Element Name to "Title" (see attached screenshot)
titleElem=elem
#Edit text:
titleElem.text="This is the Title!"
mxd.save()
del titleElem, mxd
import arcpy fc="C:\\Path\\To\\FeatureClass.shp" cursor=arcpy.SearchCursor(fc) for row in cursor: if row.Field1=="Taret": #i'm not sure how you wanted to pick a record, but this would find where Field1 is "Target" targetInteger=row.Field2 #change 'Field2' to your integer data field break #ends for loop titleText="This is Title number: "+str(targetInteger) del row,cursor #Then add the code above to edit the title element in the mxd.
#user selects tract, Select by Attribute tool runs
arcpy.MakeFeatureLayer_management("plano_tract", "plano_tract_lyr")
arcpy.SelectLayerByAttribute_management("plano_tract_lyr", "NEW_SELECTION", "\"Tract_Number\" = "+ tract)
arcpy.CopyFeatures_management("plano_tract_lyr", "plano_tract_select")
#add field
arcpy.AddField_management("plano_tract_select", "density", "DOUBLE")
#calculate field
arcpy.CalculateField_management("plano_tract_select", "density", "[DP0010001] / [sq_mile_1]", "VB", "")
print "executed successfully"
#zoom to selected features
df = arcpy.mapping.ListDataFrames(mxd, "Layers")[0]
lyr = arcpy.mapping.ListLayers(mxd, "plano_tract_select", df) [0]
df.extent = lyr.getExtent(True)
arcpy.RefreshActiveView()
print "zoomed to layer"
cursor=arcpy.da.SearchCursor(lyr)
for row in cursor: #there should only be one row in your layer
density=row.density
del row,cursor
mxd = arcpy.mapping.MapDocument("C:\\Path\\To\\Map.mxd")
#Get layout elements:
elemList=arcpy.mapping.ListLayoutElements(mxd)
#Find title element:
for elem in elemList:
if elem.name=="Title": #Make sure you manually set the Element Name to "Title" (see attached screenshot)
titleElem=elem
#Edit text:
titleElem.text="Census tract: "+str(tract)+" - Density: "+str(density)
mxd.save()
del titleElem, mxd
#Edit text: titleElem.text="Census tract: "+str(tract)+" - "Density: "+str(density) mxd.save() del titleElem, mxd
titleElem.text="Census tract: "+str(tract)+" - Density: "+str(density)
import arcpy
#User defines tract number:
tract=raw_input("Enter census tract number:")
mxdPath="C:\\Path\\To\\Map.mxd"
mxd=arcpy.mapping.MapDocument(mxdPath) #use "CURRENT" if running in ArcMap Python Window or as a tool
#Get Lyr Files
allLyrs=arcpy.mapping.ListLayers(mxd)
for lyr in allLyrs:
if lyr.name=="Target Tract": #must be one and only one layer called "Target Tract" in your mxd's TOC
targetLyr=lyr
#if tract number is stored as a number use this line: (and remove the other one)
targetLyr.definitionQuery='"Tract_Num" = '+str(tract) #change Tract_Num to name of tract field
#if tract number is stored as a string/text use this line: (and remove the other one)
tractsLyr.definitionQuery='"Tract_Num" = \''+str(tract)+'\'' #change Tract_Num to name of tract field
cursor=arcpy.SearchCursor(targetLyr)
for row in cursor:
density=row.DP0010001/row.sq_mile_1
#Get layout elements:
elemList=arcpy.mapping.ListLayoutElements(mxd)
#Find title element:
for elem in elemList:
if elem.name=="Title": #Make sure you manually set the Element Name to "Title" (see attached screenshot)
titleElem=elem
#Edit text:
titleElem.text="Census tract: "+str(tract)+" - Density: "+str(density)
#zoom to selected features
df = arcpy.mapping.ListDataFrames(mxd, "Layers")[0]
df.extent = targetLyr.getExtent(True)
mxd.save() #remove this line if you're using "CURRENT" MapDocument
arcpy.RefreshActiveView()
del mxd, df, row, cursor, lyr, targetLyr, allLyrs
print "executed successfully"