Растровые таблицы по выбранным критериям с использованием Python - PullRequest
0 голосов
/ 11 марта 2019

Я наткнулся на загадку, и после нескольких часов попыток понять это, я обращаюсь к людям с большим опытом работы с этим материалом. Я новичок в Python и ArcGIS, все еще студент, у которого слишком много всего, чтобы учиться.

Все данные в базе геоданных

dem = arcpy.Raster("dem")
Zone = arcpy.Raster("geolgrid")
ReqZone = con(Zone, dem,"", "VALUE = 7")

ReqElev = ((dem >= 1000) & (dem <= 1550))
Final = ((ReqZone) & (ReqElev))
Final.save(*set workspace*\\Final)

InZoneData = "Final" #Raster of required elevations
ZoneField = "VALUE" #all that is left is 7
InValueRaster = "dem" #original data
OutTable = "OutTable"

OutZoneTable = ZonalStatisticsAsTable(InZoneData, ZoneField, 
InValueRaster, OutTable, "", "MEAN")

Я сделал все это вручную в arcMap и получил те же результаты. Я выбираю только между 1000 и 1550 так как я могу получить среднее значение возвышения 1586,41? не имеет смысла, кто-нибудь может увидеть, что я могу делать неправильно? Я знаю, что трудно без данных или полного кода, но есть ли возможность проверить высоту заданного выделения в ArcMap. К сожалению, я не очень хорошо разбираюсь с растрами в arcMap и не знаю, как это сделать.

Если я установлю свой InValueRaster на свой ReqElev, я получу среднее значение 0 и 1, что, как я знаю, неверно.

...