Jak v FME přidat sloupec do tabulky?

By 23 ledna, 201928 března, 2019FME
9-2019-01-22-fme_column

V FME můžete nový sloupec do již existující tabulky přidat pomocí AttributeCreator nebo AttributeManager s FeatureHolder, který zajistí, že bude operace provedena správně. Nechte se provést celým procesem!

Cílem tohoto cvičení bude pomocí nástroje AttributeManager přidat nový sloupec. Ten může být použit pro uchování informace o poslední aktualizaci dat, kdy lze dnešní datum automaticky vyplňovat pomocí DateTimeStampler. Případně můžete hodnotu nového sloupce spočítat na základě jiných atributů nebo ponechat pole prázdné.

Data

Budeme pracovat se souborovou geodatabází, ve které jsou adresní body ve Varšavě. Soubor s adresními body ve formátu SHAPE file můžete stáhnout zde.

Cvičení

1. Spusťte FME Workbench

Spusťte FME Workbench, pokud již není otevřen.

2. Vytvořte pracovní prostor – Workspace

Vyberte možnost Generate (vytvořit pracovní prostor). Můžete případně použít klávesovou zkratku Ctrl+G.

fme_dodawanie_kolumn

3. Nastavte formát čtečky – Reader

V dialogovém okně Generate Workspace nastavte formát čtečky na Esri Geosatabase (File Geodb Open API).

fme_dodawanie_kolumn2

4. Nastavte formát zápisu – Writer

Nastavte formát zápisu také na Esri Geodatabase (File Geodb Open API) a označte stejnou geodatabázi, protože ji budete aktualizovat.

5. Nastavte, jak pracovat s tabulkou – Feature Operation a Table Handeling

Po vytvoření pracovního prostoru poklepejte na Writer Feature Type, čímž otevřete dialogové okno Writer Feature Type Parameters. V části General (obecné) nastavte Table Name (název tabulky) na adresy_m_st__Warszawa_DATA. V části Table (tabulka) zajistěte, aby v případě, že taková tabulka již existuje, došlo ke zrušení a znovu vytvoření, takže nastavte Feature Operation (funkci) na Insert (vložit) a Table Handeling (zpracování tabulky) na Drop and Create (zahodit a vytvořit).

fme_dodawanie_kolumn3

Pokud se chcete dozvědět více o možnostech práce s tabulkou, přečtěte si náš další článek o databázích.

6. Aktualizace atributů

Přepněte na záložku User Attributes a v dialogovém okně Parameter Dialer nastavce Attribute Definition na Automatic. Díky tomu FME Workbench automaticky definuje seznam atributů založený na vstupních datech a změnách, které byly provedeny ve skriptu, jako přejmenování, mazání.

7. Ukončete zdrojovou tabulku (Source Table) pomocí funkce FeatureHolder

Chcete-li se vyhnout uzamknutí schématu, musí být stávající tabulka před odebráním uzavřena. Tento problém lze vyřešit pomocí funkce FeatureHolder, která čte a ukládá všechny zpracované objekty, dokud nejsou všechny převedeny, a poté sdíleny v původním pořadí. Přidejte FeatureHolder do skriptu a připojte k němu čtečku (Reader).

8. Vytvořte nový sloupec pomocí nástroje AttributeManager

Umístěte AttributeManager za FeatureHolder. AttributeManager bude použit k přidání nového sloupce do tabulky. Otevřete dialogové okno k transformaci parametrů a klikněte na poslední řádek ve sloupci Output Attribute a „Add new Attribute“ a vytvořte nový sloupec. Nastavte název nového atributu na „DATA“.

fme_dodawanie_kolumn4

9. Přidejte dnešní datum

Přidejte DateTimeStamper transformátor za AttributeManager a připojte ho přes výstupní port k zapisovači (Writer). Otevřete parametry transformátoru a nastavte Result Attribute na hodnotu “DATA” – toto nastaví hodnotu pole ve sloupci na aktuální datum, který jste právě vytvořili v AttributeManager.

fme_dodawanie_kolumn5

10. Pusťte Workspace

fme_dodawanie_kolumn6

Po spuštění překladu bude tabulka obsahovat sloupec s dnešním datem. Novou tabulku můžete zobrazit výběrem zapisovače a klepnutím na tlačítko Inspect (kontrola).

Výsledek

fme_dodawanie_kolumn7

Transformátory:

  • AttributeManager – umožňuje vytvářet, přejmenovávat, kopírovat a mazat atributy. Hodnoty nových a existujících atributů lze nastavit libovolnou kombinací konstantních hodnot získaných z atributů, podmíněných výrazů či vzorců.
  • DateTimeStampler – přidá časový otisk jako nový atribut.
  • FeatureHolder – uloží příchozí prvky, dokud nedorazí všechny, a pak je uvolní v původním pořadí.
Zajímá Vás více tipů pro FME?