Viac

Ako ovládať, ktoré polia sa exportujú do ArcObjects? (prostredníctvom mapovania polí)

Ako ovládať, ktoré polia sa exportujú do ArcObjects? (prostredníctvom mapovania polí)


Ak v programe ArcMap 10.x použijete príkaz Exportovať údaje na vrstve, ktorá má skryté/zakázané polia, tieto polia nebudú prítomné vo vytvorenej triede/tabuľke prvkov. Moja otázka je jednoduchá: Ako duplikujete túto funkciu pomocou ArcObjects a C#? TheIFieldZdá sa, že rozhranie nemá žiadnu vlastnosť ani metódu na definovanie tohto aspektu tabuľkových údajov. Dá sa to?

Snažím sa to urobiť, aby som mohol z tabuľky extrahovať podmnožinu polí a ponechať si ich na neskoršie použitie (na rozdiel od toho, že sa budem musieť vysporiadať so všetkým nepotrebným nadúvaním údajov prítomným v mnohých štandardizovaných vydaniach údajov).

AKTUALIZÁCIA: V súčasnej dobe sa pokúšam použiťIFieldInfomožnosť navrhnutá v nižšie uvedených komentároch, ale zistil som, že nemôžem vykonať konverziu z súboruIFeatureClassdoIFeatureLayerzdá sa to nevyhnutné na prístupITableFields. Uniká mi niečo? Robím to v aplikácii WinForms, takže nie je otvorená žiadna nadradená inštancia ArcMap, z ktorej by sa získavali informácie o vrstve. Ak je to možné, chcem pracovať iba s triedami funkcií a tabuľkami.

AKTUALIZÁCIA 2: Zdá sa, že pretože tieto winformy sú oddelené od akejkoľvek inštancie ArcMap, nemôžem použiťIFeatureLayerna zapnutie a vypnutie polí pred exportom. Vie niekto, ako správne vytvoriť objekt mapy poľa v C#?


Nenapísal som to úplne, ale myslím si, že vidím cestu. Môžete skontrolovať IFieldInfo2.Visible. Keď určíte, ktoré polia sú viditeľné, môžete vykonať export. Môžete napríklad vytvoriť QueryFilter a nastaviť jeho vlastnosť SubFields a potom použiť IExportOperation prechádzajúci v QueryFilter.