Přehled
GitHub: https://github.com/brianmcleer/add-edit-etl-widget
Add, Map & Edit Data je přizpůsobený widget, který kombinuje dva standardní widgety Esri, Add Data a Edit, a vkládá mezi ně krok mapování polí. Vznikl kvůli opakujícímu se problému, na který jsem narážel. Někdo má tabulku nebo vrstvu, kterou chce přidat do existující editovatelné vrstvy, ale názvy příchozích polí nikdy neodpovídají cílovým, takže je třeba data před úpravami v Experience Builderu přeformátovat. Chtěl jsem, aby celý proces – přidání, mapování, načtení a úpravy – probíhal v jediném widgetu, aniž by bylo nutné opouštět aplikaci.
Uživatel přidá data stejně jako ve standardním widgetu Add Data, tedy ze souboru, z URL nebo z obsahu ArcGIS. Poté namapuje příchozí pole na pole cílové vrstvy. Mapování podporuje vztahy jedna ku jedné, mnoho ku jednomu, jedna k mnoha i mnoho k mnoha, takže můžete spojit několik polí do jednoho, rozdělit jedno pole na několik, sloučit hodnoty, vložit konstantu nebo v případě potřeby napsat krátký výraz. Po rychlé kontrole a náhledu se záznamy načtou do cílové vrstvy po dávkách a uživatel pak může právě načtená data upravovat v mapě pomocí běžných nástrojů Edit.
Stejně jako u mých ostatních widgetů se cílová vrstva a všechny možnosti nastavují v panelu nastavení, takže widget stačí nasměrovat na vlastní vrstvu bez úprav kódu. Mapování lze také exportovat a importovat jako XML, takže mapování vytvořené pro opakované načítání můžete uložit a znovu použít, místo abyste ho pokaždé vytvářeli znovu.
Přidání dat
Krok přidání odpovídá standardnímu prostředí Add Data, takže zdroj může pocházet ze tří míst:
- Soubor z počítače. Podporované formáty jsou shapefile, souborová geodatabáze, CSV, GeoJSON, KML a GPX. Shapefiles a souborové geodatabáze musí být zazipované. Platí limity Esri: CSV je omezeno na 1 000 záznamů, ostatní typy na 4 000, limit velikosti je 2 MB pro shapefiles a 10 MB pro vše ostatní a najednou lze přidat až 30 souborů.
- URL webové služby. Můžete zadat adresu služby prvků, mapové služby, vektorové dlaždicové služby, obrazové služby, scénové služby, WFS, WMS, WMTS, KML, GeoJSON nebo CSV.
- Obsah ArcGIS. Prohledávejte vlastní obsah, své skupiny, organizaci i veřejný obsah včetně ArcGIS Living Atlas of the World.
Ať už použijete jakýkoli zdroj, po načtení se jeho pole v kroku mapování přiřadí k polím cílové vrstvy, takže na formátu původních dat při zápisu záznamů nezáleží.
Funkce
Ve skutečnosti jde o jednoduchý nástroj ETL, který běží přímo v Experience Builderu. Add představuje extrakci, krok mapování transformaci a zápis do cílové vrstvy načtení. Přeformátování, které byste běžně prováděli v desktopovém nástroji nebo v samostatném kroku ETL, tak probíhá přímo v aplikaci.
- Jednoduchý pracovní postup ETL přímo v aplikaci: extrahujte data pomocí Add Data, transformujte je mapováním polí a načtěte do cílové vrstvy, bez samostatného desktopového nástroje nebo kroku ETL.
- Přidání dat, mapování polí, načtení a úpravy v jediném průvodci ve widgetu.
- Mapování polí ve vztazích jedna ku jedné, mnoho ku jednomu, jedna k mnoha i mnoho k mnoha, včetně převodu datových typů a kontroly před zápisem.
- Krok kontroly a náhledu, po kterém následuje dávkové načítání se zobrazením průběhu.
- Export a import mapování ve formátu XML pro opakované a znovupoužitelné načítání.
- Možnost přidat cílovou vrstvu do mapy, přiblížit načtené prvky a při úpravách přiblížit vybraný prvek.
- Nastavitelné měřítko přiblížení, takže příkaz pro přiblížení skutečně změní měřítko, místo aby pouze posunul mapu.
- Oprávnění pro úpravy, možnosti přichytávání a pokročilé nástroje pro úpravy dostupné v panelu nastavení.
- Ovládací prvky přístupné z klávesnice a popisky pro čtečky obrazovky v celém widgetu.
Požadavky
ArcGIS Experience Builder Developer Edition 1.19 nebo 1.20, které používají React 19. Verze EB 1.18 a starší používají React 18 a nejsou podporovány.
Instalace
Stáhněte přiložený soubor ZIP a rozbalte jej. Umístěte složku add-edit-etl do client\your-extensions\widgets tak, aby soubor manifest.json byl přímo v client\your-extensions\widgets\add-edit-etl, nikoli o úroveň níže v podsložce. Ve složce client spusťte npm install a poté aplikaci restartujte. Podrobný postup včetně opravy konfliktu duplicitních názvů najdete v souboru README na GitHubu.
Zpětná vazba
Jde o první verzi, takže počítejte s několika nedostatky. Pokud narazíte na chybu nebo vás napadne, co by widget měl umět, napište to prosím do komentářů k tomuto příspěvku a já se na to podívám.
Poděkování a licence
Toto odvozené dílo vychází z widgetů Add Data a Edit od Esri R&D Center Beijing, které jsou oba zveřejněny pod licencí Apache License, Version 2.0. Město Grand Junction v Coloradu je zkombinovalo, upravilo a rozšířilo. Licence: Apache-2.0. Původní dílo: copyright Esri; úpravy: copyright City of Grand Junction, CO.
Historie změn
12. 10. 2026: Widget nyní přebírá jazyk aplikace (?locale=, přepínače jazyka, profilu ArcGIS nebo prohlížeče) a podporuje 39 jazyků; včetně průvodce nápovědou.
Máte vlastní widgety? Stejný bezplatný nástroj, exb-i18n-kit, je dokáže přeložit jediným příkazem: localize. Takto doplní překlad každé fráze:
- Nejprve Esri. Načte překlady, které už jsou součástí vaší instalace Experience Builderu, takže fráze jako „Zoom to“ použije ve znění, jaké mají widgety Esri.
- Standardní termíny. Názvy jednotek, například stopy a akry, přebírá z Unicode CLDR, stejného zdroje dat, který používají prohlížeče.
- Sdílená překladová paměť. Vše, co ještě zbývá, přeloží pomocí sdíleného slovníku vytvořeného s nástrojem LibreTranslate, překladačem s otevřeným zdrojovým kódem, a modelů Opus-MT od Helsinki-NLP pro bosenštinu, chorvatštinu a srbštinu. Běží zdarma na GitHubu, takže nepotřebujete klíč API ani účet.
- Propojení. Najde také anglický text pevně zapsaný mimo soubor překladů widgetu, například výchozí nastavení nebo průvodce nápovědou, a propojí jej s překlady.
Ruční úpravy mají vždy přednost před strojovým překladem a nikdy se nepřepisují. Některé překlady vytvořil stroj, takže pokud narazíte na nepřesný překlad, odpovězte zde s lepší formulací.
23. července 2026:
- Verze v1.2.1 aktualizuje widget pro kompatibilitu s Experience Builderem 1.21, zvyšuje verze v manifestu a balíčku na 1.21 a přidává tsconfig na úrovni widgetu pro přesnější rozpoznávání typů v editoru.
7. července 2026:
- Vkládání, aktualizace nebo vkládání s aktualizací. Vyberte klíčové pole a při opětovném načtení se záznamy aktualizují namísto duplikování.
- Zkontrolujte data před načtením. Nahlásí prázdné hodnoty, neplatné hodnoty, porušení domén a duplicitní klíče, aniž by cokoli zapsala.
- Nové transformace: parsování dat s nápovědou k formátu, mapování hodnot pro překódování, převod jednotek a šablony {field}.
- Neúspěšné řádky lze stáhnout jako soubor CSV s chybou u každého z nich.
- Export XML nyní obsahuje vše, včetně režimu načítání a klíče.
23. června 2026: Přidání více cílových vrstev a úpravy symboliky přímo v mapě; přesunutí a změna stylu panelu symboliky.
22. června 2026: První vydání, nyní na GitHubu.