У меня есть некоторый код Python, который проходит через слои в моем проекте ArcGIS и выводит имена слоев и их соответствующее максимальное значение в поле «SUM_USER_VisitCount». Выходное изображение
Что я хочу, чтобы код делал, так это распечатывал только имя слоя и значение поля SUM_USER_VisitCount для одного слоя с абсолютным наивысшим значением. Желаемый результат
Я не смог понять, как это сделать, и не могу найти ничего в Интернете. Может ли кто-нибудь помочь мне достичь желаемого результата?
Извините, если макет кода немного странный. Он испортился, когда я вставил его в «образец кода».
Вот мой код:
import arcpy
import datetime
from datetime import timedelta
import time
#Document Start Time in-order to calculate Run Time
time1 = time.clock()
#assign project and map frame
p =
arcpy.mp.ArcGISProject(r'E:\arcGIS_Shared\Python\CumulativeHeatMaps.aprx')
m = p.listMaps('Map')[0]
Markets = [3000]
### Centers to loop through
CA_Centers = ['Castro', 'ColeValley', 'Excelsior', 'GlenPark',
'LowerPacificHeights', 'Marina', 'NorthBeach', 'RedwoodCity', 'SanBruno',
'DalyCity']
for Market in Markets:
print(Market)
for CA_Center in CA_Centers:
Layers =
m.listLayers("CumulativeSumWithin{0}_{1}_Jun2018".format(Market,CA_Center))
fields = ['SUM_USER_VisitCount']
for Layer in Layers:
print(Layer)
sqlClause = (None, 'ORDER BY ' + 'SUM_USER_VisitCount') # + 'DESC'
with arcpy.da.SearchCursor(in_table = Layer, field_names = fields,
sql_clause = sqlClause) as searchCursor:
print (max(searchCursor))