Viac

Používanie mapovaní polí na neprenos polí


Viackrát som sa snažil porozumieť mapovaniu polí a stále som dosť zmätený. Predpokladám, že sa dá použiť na vykonanie geoprocesu (v mojom prípade to bude priestorové spojenie) a na obmedzenie polí v triede výstupných funkcií. Chcel by som, aby výstup obsahoval iba polia vygenerované priestorovým spojením (Pripojiť_počet, atď). Skúšal som vytvárať objekty mapovania prázdnych polí a používať ich, ale to nie je dobré. Radšej by som neurobil ďalší krok na odstránenie všetkých polí, pretože vo veľkej množine údajov to bude chvíľu trvať.

Môže niekto poskytnúť pomoc?


Odpovedať na otázku vrátenia výstupu bez ďalších polí. V dialógovom okne môžete jednoducho odstrániť všetko z parametra mapy poľa. Od Pythonu, keď nič (None, "", "#") až po argument field_mapping predpokladá, že chcete všetko. Môžete to trochu predstierať, napríklad niečím takým:

arcpy.SpatialJoin_analysis (fc1, fc2, output_fc, 'JOIN_ONE_TO_ONE', 'KEEP_ALL', 'dummy_field', 'INTERSECT')

Ktoré pridá iba jedno pole (lepšie ako všetko) a potom môžete dané pole odstrániť.

arcpy.DeleteField_management (output_fc, 'dummy_field')

Ak sa chcete oboznámiť s tým, čo robíte s mapovaním polí, odporúčam v rámci ArcMap vykonať priestorové spojenie alebo zlúčenie. Možno navštívte aj okno Výsledky geoprocesu. Toto skutočne pomôže, ak budete môcť najskôr programovo manuálne simulovať spojenie, ktoré chcete vykonať.

Môže byť s nimi zložité pracovať, ale stojí to za to. Ako ste predpokladali, ručné mazanie polí môže chvíľu trvať. Napísal som funkciu v Pythone, ktorá odstráni všetky polia okrem tých, ktoré určíte, a spustenie trvá chvíľu, keď je vo veľkej tabuľke veľa polí (Mohol by som sa s tým podeliť, ak to pomôže). Myslím si, že mapovanie polí je skutočne správna cesta, pretože bude bežať rýchlejšie (keď je čas vytvoriť výstup, ignoruje iba polia, ktoré sa nepoužívajú).

Funkcia Spatial Join môže byť zložitá, keď majú obidve vrstvy rovnaké pole a pole v jednej je obmedzujúcejšie (povedzme 50 znakov veľké oproti inej, ktorá má 250 znakov), takže môžete zistiť, že potrebujete niektoré z týchto spôsobov riadenia, aby ste sa vyhli kolíziám.

Tu je niekoľko odkazov, ktoré by vám mali pomôcť začať:

  • Príspevok z fóra Geonet
  • Používate ArcPy FieldMappings na priestorové pripojenie? (z GIS tejto stránky)
  • Priestorové pripojenie
  • Mapovanie polí (všeobecne)
  • Mapovanie polí (oblúkové)
  • Príspevok v blogu


Pozri si video: CS50 2014 - Week 9, continued (Október 2021).