def onRectangle(self, rectangle_geometry): mxd = arcpy.mapping.MapDocument("CURRENT") ext = rectangle_geometry #Creates a polygon object a = arcpy.Array() a.add(ext.lowerLeft) a.add(ext.lowerRight) a.add(ext.upperRight) a.add(ext.upperLeft) a.add(ext.lowerLeft) thepoly = arcpy.Polygon(a) for lyr in arcpy.mapping.ListLayers(mxd): if lyr.name=="mylayer": dlyr = lyr arcpy.SelectLayerByLocation_management(dlyr, "INTERSECT", thePoly, "", "NEW_SELECTION") arcpy.RefreshActiveView()
Solved! Go to Solution.
def onRectangle(self, rectangle_geometry): mxd = arcpy.mapping.MapDocument("CURRENT") df = arcpy.mapping.ListDataFrames(mxd)[0] ext = rectangle_geometry thepoly = arcpy.Polygon(arcpy.Array([ext.lowerLeft, ext.lowerRight, ext.upperRight, ext.upperLeft]),df.spatialReference) for lyr in arcpy.mapping.ListLayers(mxd): arcpy.AddMessage(lyr.name + " first layer found") if lyr.name=="mylayer": dlyr = lyr arcpy.SelectLayerByLocation_management(lyr, "INTERSECT", thepoly, "", "NEW_SELECTION") arcpy.RefreshActiveView()
def onRectangle(self, rectangle_geometry): mxd = arcpy.mapping.MapDocument("CURRENT") df = arcpy.mapping.ListDataFrames(mxd)[0] ext = rectangle_geometry thepoly = arcpy.Polygon(arcpy.Array([ext.lowerLeft, ext.lowerRight, ext.upperRight, ext.upperLeft]),df.spatialReference) for lyr in arcpy.mapping.ListLayers(mxd): arcpy.AddMessage(lyr.name + " first layer found") if lyr.name=="mylayer": dlyr = lyr arcpy.SelectLayerByLocation_management(lyr, "INTERSECT", thepoly, "", "NEW_SELECTION") arcpy.RefreshActiveView()