- 工作上用的數據,涉及中文的使用,所以加上轉碼u
- 代碼中使用的路徑不要過長,容易報錯
- Arcgis10.1如果結果爲空不生成shp,Arcgis10.2會生成空shp
#coding = utf-8
import arcpy
import os
#Workspace
inWorkspace = r'D:\19Q4\DATA\19Q4_BACK\prjBACK'
updateWorkspace = r'D:\PythonCode_inWork\06BACK_SYMDIFF_COUNT\19Q3G2_BACK\prj_result_19Q3G2'
outWorkspace = r'D:\19Q4\DATA\19Q4_BACK\BACK_SYMDIFF_19Q4G2'
#City List
##file_names_ls = os.listdir(inWorkspace)
###print(file_names_ls)
##city_ls = []
##for file in file_names_ls:
## city = file.split('_')[0]
## if city not in city_ls:
## city_ls.append(city)
##print(city_ls)
city_ls = [u'三亞', u'東莞', u'中山', u'烏魯木齊', u'佛山', u'保定', u'蘭州',\
u'南京', u'南寧', u'南昌', u'南通', u'廈門', u'台州', u'合肥',\
u'呼和浩特', u'哈爾濱', u'唐山', u'大連', u'天津', u'太原', u'寧波',\
u'常州', u'徐州', u'惠州', u'成都', u'揚州', u'無錫', u'昆明', u'杭州',\
u'柳州', u'武漢', u'泉州', u'濟南', u'海口', u'溫州', u'濰坊', u'煙臺', \
u'珠海', u'鹽城', u'石家莊', u'福州', u'秦皇島', u'紹興', u'蕪湖', \
u'蘇州', u'西寧', u'西安', u'貴陽', u'鄭州', u'重慶', u'金華', u'銀川',\
u'長春', u'長沙', u'青島', u'瀋陽', u'廣州', u'上海', u'深圳', u'北京']
dict = {u'綠地':'_GREENURBAN.shp',u'水系':'_WATER.shp'}
num_ok = 0
num_fail = 0
for city in city_ls:
cnt = 0 #計數器
for key in dict:
inFeatures = inWorkspace + '\\' + city + dict[key]
updateFeatures = updateWorkspace + '\\' + city + dict[key]
outFeatureClass = outWorkspace + '\\19Q4' + city + key + u'差分量.shp'
clusterTolerance = 0.001
# Execute SymDiff
try:
arcpy.SymDiff_analysis(inFeatures, updateFeatures, outFeatureClass, "ALL", clusterTolerance)
cnt += 1
except:
print(city + key + u'差分失敗!請確認!')
num_fail += 1
if cnt==2:
num_ok += 1
print(u'差分完成!共{0}城市成功,{1}差分失敗項,請確認!'.format(num_ok,num_fail))