POST
|
I have a Python Addin that selects a feature by mouse click location and updates the attributes (to a per-determined value) or deletes it based on the button I click in the toolbar (I am flagging the layer on the fly). This layer I am updating is simply a reference layer (a result of QC script). The layer the QC script was run on, will be edited to correct mistakes, so I really only want that as my selectable layer, so I can continue editing after flagging a QC polygon as resolved, ignored, etc. The problem is that when I run my tool to update the polygon, it changes the list of selectable layers in my table of contents and adds the layer I updated through the tool. I want to be able to set that back/set it to a particular layer after using my button. Otherwise I have to keep setting it manually. Anyone know how to set the selectable layers through a script and not by clicking buttons in the TOC? It should be part of arcpy.mapping, but it is not: http://resources.arcgis.com/en/help/main/10.1/index.html#//00s300000008000000
... View more
06-23-2014
08:38 AM
|
0
|
4
|
1996
|
POST
|
I will give that a shot. I think I had the merge right in my last attempt, but it gave me a field warning (couldn't populate it with a value). I think that value is simply too long because the length is variable between shapefiles (the process that creates them unfortunately chops the length of text fields to the longest value in it. So, I think I am going to have to scrap the merge and just append them all to a feature class with the correct schema already. I am hoping this works (list is the same value from my previous code, or feature_list in your code): AppendTarget = thisGDB + '/' + "Exp_merged" arcpy.Append_management (list, AppendTarget, "NO_TEST")
... View more
09-06-2012
09:55 AM
|
0
|
0
|
469
|
POST
|
I am trying to move some scripts from 9.3 over to 10.1 and a portion of my script is hanging up on the merge tool. Below is the code from 9.3 pertaining to the merge (tested and worked). Obviously I set Input_Workspace at run time. The goal is to merge all shapefiles in the directory. All are same type (polygon): print "\nSetting the current workspace to: " + Input_Workspace + "...\n"
gp.Workspace = Input_Workspace
# Delete Merge file if exists...
merged_file = Input_Workspace + '/' + "Exp_merged.shp"
if gp.Exists(merged_file):
gp.Delete(merged_file)
print "Merge file exists, deleted...\n"
# Start a blank list for appending
list = []
# For each file in the current directory
for file in os.listdir(Input_Workspace):
# Get files that end with *.shp
if (file.endswith("shp")):
# Append all the files together into one big list
filepath = list.append(file)
# Hard-code the output merged shapefile name
shapefile = "Exp_merged.shp"
# Given a list of shapefiles, separate each by a ";"
# and put quotes around the whole thing
def Lst(filepath):
return '"%s"' % ';'.join(list)
# Set the variable "mergedlist" to the newly formatted list of shapefiles
mergedlist = Lst(filepath)
print "Merging exports...\n"
gp.merge_management(mergedlist, shapefile)
print "Merged " + mergedlist + " to get " + shapefile + "...\n" Can anybody help me convert this? I have tried changing the semicolon to a comma (as it appears arcpy merge wants a different format for the input). If you have a better way I am of course open to that.
... View more
09-06-2012
07:33 AM
|
0
|
2
|
3066
|
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:24 AM
|