我试图使用更新光标确定不同大小城市(小、中、大)的定性距离(非常近、近和远),并不断收到以下错误消息:
Traceback (most recent call last):
File "<string>", line 34, in <module>
RuntimeError: An invalid SQL statement was used. [SELECT NEAR_DIST, MedCities, OBJECTID_1 FROM popPlaces WHERE EST_POP>500ANDEST_POP<=10000]
我使用的代码如下:
#Task 7: Provide a qualitative classification of distance to hospitals for different size cities
#Create qualitative fields
arcpy.management.AddFields('popPlaces', [['SmallCities','TEXT'],['MedCities','TEXT'],['LargeCities','TEXT']])
#Assign qualitiative city size variabes to new fields
small=popCol+"<="+"500"
medium=popCol+">"+"500"+ "AND" +popCol+"<="+"10000"
large=popCol+">10000"
print('small', 'medium', 'large')
#Create an Update Cursor separately for the different size cities that assigns a qualitative class to each record based on distance to hospital.
#For SmallCities
with arcpy.da.UpdateCursor(popPlaces,(Dist,"SmallCities"),small) as cursor:
for i in cursor:
if i[0] <= 1000:
i[1] = "Very Close"
elif i[0] > 1000 and i[0] < 10000:
i[1] = 'Close'
else:
i[1] = 'Far'
cursor.updateRow(i)
#For LargeCities
with arcpy.da.UpdateCursor(popPlaces,(Dist,"LargeCities"),large) as cursor:
for i in cursor:
if i[0] <= 1000:
i[1] = "Very Close"
elif i[0] > 1000 and i[0] < 10000:
i[1] = 'Close'
else:
i[1] = 'Far'
cursor.updateRow(i)
#For MedCities
with arcpy.da.UpdateCursor(popPlaces,(Dist,"MedCities"),medium) as cursor:
for i in cursor:
if i[0] <= 1000:
i[1] = "Very Close"
elif i[0] > 1000 and i[0] < 10000:
i[1] = 'Close'
else:
i[1] = 'Far'
cursor.updateRow(i)
光标适用于大小城市,但不适用于中等城市,我不确定哪里出了问题。谢谢你的帮助
在中的
AND
周围缺少空格改变
到
相关问题 更多 >
编程相关推荐