Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import arcpy
- import pythonaddins
- class Add(object):
- """Implementation for AP_Zoom_addin.button_0 (Button)"""
- def __init__(self):
- self.enabled = True
- self.checked = False
- def onClick(self):
- mapdoc = "CURRENT"
- mxd = arcpy.mapping.MapDocument(mapdoc)
- for df in arcpy.mapping.ListDataFrames(mxd):
- for reflayer in arcpy.mapping.ListLayers(mxd,"Ap_Map_Numbers", df):
- symbologyLayer = r'G:\Texas\Potter-Randall\Database\Ownership.lyr'
- hazards = arcpy.mapping.ListLayers(mxd, "Zones_A_AE", df)[0]
- #create a search cursor to get relevant information about a parcel
- sc = arcpy.SearchCursor(reflayer)
- #for loop to get the selected data
- for row in sc:
- #select the relevant fields to be put on the map
- ap = row.getValue("MAP_NUMBER")
- insertLayer = arcpy.mapping.Layer(r'G:\Texas\Potter-Randall\Database' + '\\' + str(ap) + '\\' + str(ap) + ".gdb" + '\\' + str(ap))
- arcpy.env.addOutputsToMap = False
- arcpy.ApplySymbologyFromLayer_management(insertLayer, symbologyLayer)
- arcpy.mapping.InsertLayer(df, reflayer, insertLayer, "BEFORE")
- hazards.visible = True
- df.zoomToSelectedFeatures()
- arcpy.RefreshActiveView()
- class Layout(object):
- """Implementation for ParcelMapperAddin_addin.Layout (Button)"""
- def __init__(self):
- self.enabled = True
- self.checked = False
- def onClick(self):
- #set the map document reference
- mxd = arcpy.mapping.MapDocument("CURRENT")
- #set the dataframe reference using the map document and the first data frame in the list
- df = arcpy.mapping.ListDataFrames(mxd)[0]
- #set the layer reference using the map document reference and the first layer in the list of layers
- layer = arcpy.mapping.ListLayers(mxd)[0]
- #heading of the map
- map_title = "Ap_Map"
- #create a search cursor to get relevant information about a parcel
- sc = arcpy.SearchCursor(layer)
- #for loop to get the selected data
- for row in sc:
- #select the relevant fields to be put on the map
- Block_Number = row.getValue("BLOCK_NUMB")
- Lot_number = row.getValue("LOT_NUMBER")
- Job_Number = row.getValue("Job_Num")
- Job_Number2 = row.getValue("Job_Num2")
- Job_Number3 = row.getValue("Job_Num3")
- Address =row.getValue("ADDRESS_1")
- City =row.getValue("m_city")
- State =row.getValue("m_state")
- Zip =row.getValue("m_zip")
- #text element of the map
- elm = arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT", "Heading")[0]
- elmBlockNumber = arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT", "BlockNumber")[0]
- elmLotNumber = arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT", "LotNumber")[0]
- elmJob_Number = arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT", "JobNumber")[0]
- elmJob_Number2 = arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT", "JobNumber2")[0]
- elmJob_Number3 = arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT", "JobNumber3")[0]
- elmAddress = arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT", "Address")[0]
- elmCity = arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT", "City")[0]
- elmState = arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT", "State")[0]
- elmZip = arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT", "Zip")[0]
- #font of the heading
- elm.text = '<FNT name ="Arial" size="32">' + map_title + '</FNT>'
- elmBlockNumber.text = '<FNT name ="Arial" size="14">' + 'Block Number: ' + Block_Number + '</FNT>'
- elmLotNumber.text = '<FNT name ="Arial" size="14">' + 'Lot Number: ' + Lot_number + '</FNT>'
- elmJob_Number.text = '<FNT name ="Arial" size="14">' + 'Job Number: ' + Job_Number + '</FNT>'
- elmJob_Number2.text = '<FNT name ="Arial" size="14">' + 'Job Number 2: ' + Job_Number2 + '</FNT>'
- elmJob_Number3.text = '<FNT name ="Arial" size="14">' + 'Job Number 3: ' + Job_Number3 + '</FNT>'
- elmCity.text = '<FNT name ="Arial" size="14">' + City + '</FNT>'
- elmAddress.text = '<FNT name ="Arial" size="14">' + Address + '</FNT>'
- elmState.text = '<FNT name ="Arial" size="14">' + State + '</FNT>'
- elmZip.text = '<FNT name ="Arial" size="14">' + Zip + '</FNT>'
- #Change the view to layout view
- arcpy.mapping.MapDocument("CURRENT").activeView = "PAGE_LAYOUT"
- #refresht the active view
- arcpy.RefreshActiveView()
- #delete search cursor and row variables
- del sc
- del row
- class Remove(object):
- """Implementation for AP_Zoom_addin.button_1 (Button)"""
- def __init__(self):
- self.enabled = True
- self.checked = False
- def onClick(self):
- #set the map document reference
- mxd = arcpy.mapping.MapDocument("CURRENT")
- for df in arcpy.mapping.ListDataFrames(mxd):
- for lyr in arcpy.mapping.ListLayers(mxd, "AP_Map_Numbers", df):
- #create a search cursor to get relevant information about a parcel
- sc = arcpy.SearchCursor(lyr)
- for row in sc:
- #select the relevant fields to be put on the map
- ap = row.getValue("MAP_NUMBER")
- removeLayer = arcpy.mapping.Layer(ap)
- arcpy.mapping.RemoveLayer(df, removeLayer)
- if lyr.isFeatureLayer:
- arcpy.SelectLayerByAttribute_management(lyr, "CLEAR_SELECTION")
- df.extent = lyr.getSelectedExtent()
- df.scale *= 1.5
- arcpy.RefreshActiveView()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement