def make_paz_layer(keyhole): paz_units = [] SelPaz = arcpy.SelectLayerByLocation_management (PAZ_lyr, 'Intersect', keyhole) rows = arcpy.SearchCursor(SelPaz," \"POWERPLANT\" = 'North Anna Power Station'", "", "PAZ;PAZ_NUM;PAZ_ALPHA","PAZ_NUM A;PAZ_ALPHA A") for row in rows: unit = str(row.PAZ) unum = "'" + unit + "'" paz_units.append(unum) txt_paz = ','.join(paz_units) paz_list = '(' + txt_paz + ')' paz_qry = ' "POWERPLANT" = '+ station_name + ' AND "PAZ" in ' + paz_list new_paz = arcpy.MakeFeatureLayer_management(paz, keyhole + '_paz', paz_qry) arcpy.SaveToLayerFile_management(new_paz, outfolder + '\\' + keyhole + '_paz.lyr')
mxd = arcpy.mapping.MapDocument("CURRENT") df = arcpy.mapping.ListDataFrames(mxd, "Layers")[0] for lyr in arcpy.mapping.ListLayers(mxd): if lyr.name == "Point": lyr.definitionQuery = "" Point = lyr if lyr.name == "Polygon": Polygon = lyr arcpy.SelectLayerByAttribute_management(Polygon, "NEW_SELECTION", "\"SITE\" = 'Pad 1'") arcpy.SelectLayerByLocation_management(Point, "WITHIN", Polygon, "", "NEW_SELECTION") pointList = [] for row in arcpy.SearchCursor(Point): strrow = str(row.OBJECTID) soilList.append(strrow) txt_row = ','.join(soilList) row_list = '(' + txt_row + ')' row_qry = ' "OBJECTID" in ' + row_list for lyr in arcpy.mapping.ListLayers(mxd): if lyr.name == "Point": lyr.definitionQuery = row_qry arcpy.SelectLayerByAttribute_management(Point, "CLEAR_SELECTION") arcpy.SelectLayerByAttribute_management(Polygon, "CLEAR_SELECTION") arcpy.RefreshActiveView() arcpy.RefreshTOC() mxd.save()
I want to select the points that lie in the first polygon (so a select by location, not a select by attribute like I mentioned below) and then save only the selected points in a layer
Angemeldete Mitglieder können Beiträge verfassen, Updates folgen und mehr. Neu hier? Registriere ein kostenloses Konto.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.