Layers not appearing when updated with UpdateLayer in arcpy

المشرف العام

Administrator
طاقم الإدارة
I have a script that calculates kernel density for several sets of points, adds the output to a base map, updates the added layer to use the same color scheme and resampling function of a template layer, then zooms to the extent of the new layer.

This works fine for some of the resulting maps; the density output shows on the map, the color is as it should be, and it is sampled using bilinear interpolation as I wanted. The problem is that most of the resulting maps do not show the kernel output at all; only the basemap is visible.

I have isolated the code I am using and have altered it to compute one simple test case. Here is what I have:

SubjectLyr = arcpy.mapping.Layer(r"F:\\testFiles\\output\\Population23_KDens.lyr")mxd = arcpy.mapping.MapDocument("F:\\testFiles\\testMap.mxd")df = arcpy.mapping.ListDataFrames(mxd)[0] wPath = "F:\\testFiles\\output\\" # same as in line 1#Add the layer to basemaparcpy.mapping.AddLayer(df, SubjectLyr,"AUTO_ARRANGE") #Update the layerSubjectLyr = arcpy.mapping.ListLayers(mxd, SubjectLyr.name, df)[0] # change reference to layer in mxdsourceLayer = arcpy.mapping.Layer(wPath+"templates\\template.lyr") # get template layerarcpy.mapping.UpdateLayer(df, SubjectLyr, sourceLayer, True)###Zoom to selectiondf.zoomToSelectedFeatures()lyrExtent = SubjectLyr.getSelectedExtent()df.extent = lyrExtentarcpy.mapping.ExportToPDF(mxd, r"F:\\testFiles\\output\\Population23_KDens_Map.pdf")print('DONE!')I have read that there is some existing issue with UpdateLayer in ArcMap 10.1, though I am using 10.0. As shown, my code is practically identical to the code that is a "workaround" to this problem described in the above linked forum. This code works for some, but not all of my datasets.

I have also tried using the ApplySymbologyFromLayer_management() function, which does make all the kdens output layers appera; however, this does not change the resampling function used when drawing the output, and I need to to use bilinear interpolation.

Does anyone know what could be going on? Are there any other functions I could use?



أكثر...
 
أعلى