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.
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).
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).
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“.
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.
10. Pusťte Workspace
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
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í.
Mohlo by Vás také zajímat…
FME SERVER JAKO PLATFORMA PRO INTEGRACI PODNIKOVÝCH SYSTÉMŮ? ROZHODNĚ!
Jak udělat hromadnou aktualizaci databáze s FME?
Zdroj: https://knowledge.safe.com/