Thursday, January 30, 2014

OLD PROGAM QUIT WORKING, SO I WROTE A NEW AND BETTER ONE.

#written by Steve Atchison for Shawnee County Feb 24 2014
from Tkinter import *
mxd = arcpy.mapping.MapDocument('CURRENT')

def textfunc400():
    thepin=ent1.get() #Get parcel number from the GUI

    for elm in arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT"):
        if elm.name == "PIN":
            elm.text = str(thepin)    
    layout400()
    layer_control()
    
def layout400():
    df = arcpy.mapping.ListDataFrames(mxd)[0]
    
    mxd.activeView = 'Page_Layout'

    df = arcpy.mapping.ListDataFrames(mxd)[0]
    
    df.scale = 4800
    df.referenceScale = '2400'
    refresh()

def textfunc200():
    thepin=ent1.get() #Get parcel number from the GUI

    for elm in arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT"):
        if elm.name == "PIN":
            elm.text = str(thepin)    
    layout200()
    layer_control()     
def layout200():
    df = arcpy.mapping.ListDataFrames(mxd)[0]     
    mxd.activeView = 'Page_Layout'
    df = arcpy.mapping.ListDataFrames(mxd)[0]
    df.scale = 2400
    df.referenceScale = '1200'
    refresh()
def layout100():
    df = arcpy.mapping.ListDataFrames(mxd)[0]     
    mxd.activeView = 'Page_Layout'
    df = arcpy.mapping.ListDataFrames(mxd)[0]      
    df.scale = 1200
    df.referenceScale = '600'
    refresh()
def textfunc100():
    thepin=ent1.get() #Get parcel number from the GUI
    for elm in arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT"):
        if elm.name == "PIN":
            elm.text = str(thepin)    
    layout100()
    layer_control()
def textfunc50():
    thepin=ent1.get() #Get parcel number from the GUI
    for elm in arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT"):
        if elm.name == "PIN":
            elm.text = str(thepin)    
    layout50()     
def layout50():
    df = arcpy.mapping.ListDataFrames(mxd)[0]     
    mxd.activeView = 'Page_Layout'
    df = arcpy.mapping.ListDataFrames(mxd)[0]      
    df.scale = 600
    df.referenceScale = '600'
    refresh()
    layer_control()
def layer_control():
    lyr=arcpy.mapping.ListLayers(mxd,'Parcel_Point')[0]
    lyr.visible=False
    lyr=arcpy.mapping.ListLayers(mxd,'Parcel_Poly')[0]
    lyr.visible=False
    lyr=arcpy.mapping.ListLayers(mxd,'AERIALS_2012')[0]
    lyr.visible=False
    lyr=arcpy.mapping.ListLayers(mxd,'Owners')[0]
    lyr.visible=False
def photoon():
    lyr=arcpy.mapping.ListLayers(mxd,'AERIALS_2012')[0]
    lyr.visible=True
    refresh()     
def photooff():
    lyr=arcpy.mapping.ListLayers(mxd,'AERIALS_2012')[0]
    lyr.visible=False
    refresh()
def owneron():   
    lyr=arcpy.mapping.ListLayers(mxd,'Owners')[0]
    lyr.visible=True
    refresh()
def refresh():
    arcpy.RefreshActiveView()
    arcpy.RefreshTOC()  
    
layer_control()

root = Tk()
root.title("Steve's Layout Tool")
root.geometry("250x250")
root.config(bg="purple")

ent1=Entry(root)
ent1.pack()
btn3 = Button(root,text = "Map Title 400", command = textfunc400)
btn3.pack(padx=2,pady=2)
btn = Button(root, text = 'Map Title 200 ',command = textfunc200)
btn.pack(padx=2,pady=2)
btn2 = Button(root,text = "Map Title 100", command=  textfunc100)
btn2.pack(padx=2,pady=2)
btn4 = Button(root,text = "Map Title 50", command = textfunc50)
btn4.pack(padx=2,pady=2)
photobtn = Button(root,text = "Photo On", command = photoon)
photobtn.pack(padx=5, pady=5)
photobtn2 = Button(root,text = "Photo Off", command = photooff)
photobtn2.pack(padx=5,pady=5)
ownbtn=Button(root,text = "Show Owners", command = owneron)
ownbtn.pack()

ent1.insert(0,"Map Title")
root.mainloop()
 
#CLEAR REFERENCE SCALE AFTER USING THIS SCRIPT
#BE SURE AND CLOSE THE GUI OR IT WILL LOCK ARC MAP UP!   

Followers

Blog Archive

About Me

My photo
Biking helps me to cope with life.