POST
|
Mark would you tell me where this is? I am trying to use this with annotation Thanks Dan
... View more
01-31-2020
01:22 PM
|
0
|
3
|
8195
|
POST
|
The script is still failing at line 21 the more than two data frame is just incase. I will try that and see if it helps.
... View more
09-20-2017
05:58 AM
|
0
|
3
|
591
|
POST
|
It is down lower in the script the following fields .append(row.getValue(f))
... View more
09-18-2017
03:59 PM
|
0
|
3
|
1721
|
POST
|
Runtime error Traceback (most recent call last): File "<string>", line 19, in <module> File "c:\program files (x86)\arcgis\desktop10.3\arcpy\arcpy\arcobjects\arcobjects.py", line 1100, in getValue return convertArcObjectToPythonObject(self._arc_object.GetValue(*gp_fixargs(args))) RuntimeError: ERROR 999999: Error executing function.
... View more
09-18-2017
03:18 PM
|
0
|
5
|
1721
|
POST
|
09-18-2017
02:45 PM
|
0
|
7
|
1721
|
POST
|
I have gotten a script to run but I am getting a runtime error, any ideas? the error happens at fields .append(row.getValue(f)) import arcpy from arcpy import env arcpy.env.overwriteOutput = True arcpy.env.addOutputsToMap = False arcpy.env.workspace = "C:/temp" out_layer = "temp.lyr" mxd = arcpy.mapping.MapDocument('CURRENT') df = arcpy.mapping.ListDataFrames(mxd, '*')[0] # need to find way to get list of layers there can be more than one data frame listfields = [] thebadlist = [] for LayerNeedsFieldsTurnedOff in arcpy.mapping.ListLayers(mxd): if LayerNeedsFieldsTurnedOff.isGroupLayer: print "group print" elif LayerNeedsFieldsTurnedOff.isFeatureLayer: fields = dict((f.name, []) for f in arcpy.ListFields(LayerNeedsFieldsTurnedOff) if not f.required) rows = arcpy.SearchCursor(LayerNeedsFieldsTurnedOff,"","","","") for row in rows: for f in fields.keys(): fields .append(row.getValue(f)) #print row.getValue(f) for field, values in fields.iteritems(): #print field if field == "Shape": listfields.append(field) elif all(map(lambda s: s is None or not str(s).strip(), values)): thebadlist.append(field) else: listfields.append(field) # LayerNeedsFieldsTurnedOff = arcpy.mapping.ListLayers(mxd, 'exampledata', df)[0] # fill in your desired fields to remain visible desiredFields = listfields field_info = arcpy.Describe(LayerNeedsFieldsTurnedOff).fieldInfo # I need this for field count for i in range(field_info.count): if field_info.getfieldname(i) not in desiredFields: if field_info.getfieldname(i) == "SHAPE": field_info.setvisible(i, 'VISIBLE') elif field_info.getfieldname(i) == "Shape": field_info.setvisible(i, 'VISIBLE') else: field_info.setvisible(i, 'HIDDEN') arcpy.SaveToLayerFile_management(LayerNeedsFieldsTurnedOff, out_layer) arcpy.MakeFeatureLayer_management(LayerNeedsFieldsTurnedOff, 'temp_layer', '', '', field_info) refLyr = arcpy.mapping.Layer('temp_layer') # rename the ref layer the same as your target layer refLyr.name = LayerNeedsFieldsTurnedOff.name lyrfile = "C:/temp/temp.lyr" print LayerNeedsFieldsTurnedOff.name arcpy.ApplySymbologyFromLayer_management(refLyr, lyrfile) arcpy.mapping.UpdateLayer(df, LayerNeedsFieldsTurnedOff, refLyr, False) # mxd.save() print 'cleaning up-' if arcpy.Exists('temp_layer'): print '\'temp_layer\' still in memory...deleting now...' arcpy.Delete_management('temp_layer') print 'deleting obj refs...' del LayerNeedsFieldsTurnedOff, refLyr, fields, f, i print 'done.'
... View more
09-18-2017
02:23 PM
|
0
|
0
|
3037
|
POST
|
Hi all I am trying to write a arcpy script that will turn off all NULL and empty fields. The script runs for a while and then gives a run time error at fields .append(row.getValue(f)). Below is the script. import arcpy from arcpy import env arcpy.env.overwriteOutput = True arcpy.env.addOutputsToMap = False arcpy.env.workspace = "C:/temp" out_layer = "temp.lyr" mxd = arcpy.mapping.MapDocument('CURRENT') df = arcpy.mapping.ListDataFrames(mxd, '*')[0] # need to find way to get list of layers there can be more than one data frame listfields = [] thebadlist = [] for LayerNeedsFieldsTurnedOff in arcpy.mapping.ListLayers(mxd): if LayerNeedsFieldsTurnedOff.isGroupLayer: print "group print" elif LayerNeedsFieldsTurnedOff.isFeatureLayer: fields = dict((f.name, []) for f in arcpy.ListFields(LayerNeedsFieldsTurnedOff) if not f.required) rows = arcpy.SearchCursor(LayerNeedsFieldsTurnedOff,"","","","") for row in rows: for f in fields.keys(): fields .append(row.getValue(f)) #**the error happens here** #print row.getValue(f) for field, values in fields.iteritems(): #print field if field == "Shape": listfields.append(field) elif all(map(lambda s: s is None or not str(s).strip(), values)): thebadlist.append(field) else: listfields.append(field) # LayerNeedsFieldsTurnedOff = arcpy.mapping.ListLayers(mxd, 'exampledata', df)[0] # fill in your desired fields to remain visible desiredFields = listfields field_info = arcpy.Describe(LayerNeedsFieldsTurnedOff).fieldInfo # I need this for field count for i in range(field_info.count): if field_info.getfieldname(i) not in desiredFields: if field_info.getfieldname(i) == "SHAPE": field_info.setvisible(i, 'VISIBLE') elif field_info.getfieldname(i) == "Shape": field_info.setvisible(i, 'VISIBLE') else: field_info.setvisible(i, 'HIDDEN') arcpy.SaveToLayerFile_management(LayerNeedsFieldsTurnedOff, out_layer) arcpy.MakeFeatureLayer_management(LayerNeedsFieldsTurnedOff, 'temp_layer', '', '', field_info) refLyr = arcpy.mapping.Layer('temp_layer') # rename the ref layer the same as your target layer refLyr.name = LayerNeedsFieldsTurnedOff.name lyrfile = "C:/temp/temp.lyr" print LayerNeedsFieldsTurnedOff.name arcpy.ApplySymbologyFromLayer_management(refLyr, lyrfile) arcpy.mapping.UpdateLayer(df, LayerNeedsFieldsTurnedOff, refLyr, False) # mxd.save() print 'cleaning up-' if arcpy.Exists('temp_layer'): print '\'temp_layer\' still in memory...deleting now...' arcpy.Delete_management('temp_layer') print 'deleting obj refs...' del LayerNeedsFieldsTurnedOff, refLyr, fields print 'done.'
... View more
09-18-2017
01:58 PM
|
0
|
18
|
3814
|
POST
|
I this is the code I have tried so far for lyr in arcpy.mapping.ListLayers(mxd): ... fields = arcpy.ListFields(lyr) ... for field in fields: ... rows = arcpy.SearchCursor(lyr,"","","","") ... for row in rows: ... for field in fields.keys(): ... fields[field].append(row.getValue(field)) I am a newbie trying to get this to run any and all help would be appreciated Thanks
... View more
03-11-2016
06:29 AM
|
0
|
2
|
1338
|
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:24 AM
|