Daha çox

Mövcud lüğət açar dəyərlərinə geniş obyekt necə əlavə olunur?


Düymələri xəritə seqment adları olan və dəyəri üç sahə dəyərinin siyahısı olan bir lüğətim var.

FeatureLayer xəritə seqmentlərində bir arcpy.da.SearchCursor istifadə edərək ölçü obyektini və seqmentlərin adlarını çıxardım.

Bənzər xəritə seqment adlarından istifadə edərək ölçü düymələrini lüğət düymələrinə əlavə etmək istəyirəm (daha sonra onlara müraciət edə biləcəyim üçün). Bunu necə edərdim, bir Extent obyektini indeksləşdirə bilməzsən.

Məsələn:

{'m32': [7, 10, 13], 'm33': [7, 10, 13]}…

kimi bir şeyə çevrilir:

{'m32': [7, 10, 13, XMin, Ymin, XMax, YMax], 'm33': [7, 10, 13, XMin, Ymin, XMax, YMax]}…

indekslədiyim zaman açarı, orijinal dəyərləri və ölçü dəyərlərini indeksləşdirə bilərəm.


Python siyahısı obyektinə yeni bir maddə əlavə etmək üçün əlavə edin. Əsas sintaksis list.append (addedItem). Siyahını ehtiva edən bir lüğət ilə lüğətdir (açar) .append (addItem).

Dəyəri siyahıların siyahısı olan bir lüğət yaradan bir skript skeleti:

# Xüsusiyyət sinfi dəyişənini təyin edin relateFC = r "C:  Users  OWNER  Documents  ArcGIS  Centerline_Edit.gdb  CL_INTERSECTIONS_PAIRS" # əvvəl əlaqələndirilən sahə ilə bir sahə siyahısı yaradın (ROUTE_NAME), # sonra sıralama sahələri (lər) (MEASURE) ), sonra etiket sahələri (CROSS_STREET) relateFieldsList = ["ROUTE_NAME", "MEASURE", "CROSS_STREET"] # arcpy.da.SearchCursor (relateFC, relateFieldsList) ilə məlumatı lüğətə köçürmək üçün bir axtarış imlecini işləyin. as relateRows: for relateRow in relateRows: # açar dəyəri dəyişəndə ​​saxla, beləliklə aidiyyəti # satırdan yalnız bir dəfə oxunur, sürəti yaxşılaşdırır relateKey = relateRow [0] # cari satırın relate açarı tapılmırsa # açarı yaradın və onu dəyərləndirin, əgər relateKict ilə əlaqələndirilmirsə, sahə dəyərlərinin siyahısının siyahısıdır: # [searchRow [1:]] düymədən sonra # sahə dəyərlərinin siyahısını ehtiva edən bir siyahıdır. relateDict [relateKey] = [relateRow [1:]] başqa: # əlaqələndirici düymə artıq lüğətdədirsə # sahə dəyərlərinin növbəti siyahısını açar ilə əlaqəli # mövcud siyahıya əlavə edin relateDict [relateKey] .append (relateRow [ 1:])