... aby vyhovovala práci v kanceláři, práci v terénu, aby vyhověla dnešnímu pojetí, jak se mají v Esri technologiích dnešních dnů ideálně tvořit.
Omlouvám se za delší text, ale je to souhrn myšlenek, našich zkušeností z posledního období a podnětů, věci k zamyšlení a rad ze strany pracovníků Arcdata Praha za poslední týden, kdy jsme byli v nějaké komunikaci...... a po tom všem jsem si řekl, že vlastně asi nevíme, jak vlastně vytvořit správně webovou mapu, aby vyhovovala tomu, kde všude ji chceme použít. Buď jsme zaspali dobu, jedeme to ze zvyku po staru nebo se tu o tom moc nemluví nebo jsme to prostě jen nezachytili a je to tedy jen naše chyba.
Pokud nemáte ArcGIS Enterprise a využíváte jen ArcGIS Online (AGOL), máte asi míň starostí, protože data máte nejspíš hostovaná a nemusíte řešit, jaký "typ" služby vlastně použijete. My, co máme ArcGIS Server a Portál, tak publikujeme služby jednu za druhou a jedeme možná v takovém tom starém dobrém - mapová služba pro zobrazení (rychlost, symbolika, popisky, ....) a feature služby pro editaci. Tak to přece vždycky bývalo, ne?
No a pak tu máme původní, starý MapViewer, dneska nazývaný Classic a nový MapViewer. S novou verzí 10.9.1. už ne beta, ale použitelná pro to, aby už byla výchozí v rámci organizace. Ale nad mapou v novém MapVieweru nevytvoříte aplikaci ve WebApp Builderu (WAB), která je ale stále jakýmsi standardem pro aplikace pro využití v kanceláři. Je tu Experience Builder (ExB), ale pokud bychom zkusili sestavit kopii WAB aplikace v ExB, tak dřív nebo později narazíme na to, že jsme zvyklí (uživatelé jsou zvyklí) na nějaké widgety, které používáme v každé WAB aplikaci (pokud, tak min. WSDP widget Arcdat zatím nemáme).
Pak tu máme tu krásnou linku ArcGIS Pro (AGP), kdy už jen tímto způsobem publikujeme služby. Výhoda si všecko nastavit při tvorbě služby, třeba už jen konfiguraci vyskakovacího okna, což uděláme na jednom místě a pak už jen vkládáme položku této služby do jedné mapy za druhou. A pokud se "nerozpadne json", jak tomu u nás interně říkáme (konfigurace mapy nebo aplikace v json formátu dohledatelné v adresářové struktuře Portálu nebo ideálně přes AGO-assistant) tak se změna ve službě okamžitě projeví a není třeba ji vkládat nově, aby se načetlo nové nastavení. Super, tvoříme služby a velká spousta detailů už je nastavená na úrovni služby. Vložit takovou službu pomocí URL adresy (nebo jednu z vrstev z celé služby, pokud tam nechcete všecko) a ne jako položku z Portálu, tam to už jsme se přes Asistenta taky naučili opravovat, že stačí přidat parametr ItemId a ono si to to nastavení "chytí".
Kdo nepoužívá Arcade? Jak jsme bez něj dřív mohli vůbec existovat? Pro spoustu věcí ho máme snad všude. Vytvoření symbolů, výrazy v pop-upech, ale pak zjistíte, že si pomocí Arcade z několika atributů pokládáte URL adresu, ale.... ale ono to nefunguje v MapViewer Classic, ale jen v novém. Ale nad tou novou už nevytvořím WAB. Takže jsem zkusil tuto webovou mapu otevřít v novém MapViewer, uložit, spustit WAB aplikaci, která tuto mapu využívá a funguje. Máme přeuložit všecky webové mapy do nových? Nebude tam něco, co naopak vyvolá komplikace z kombinace nový MapViewer + WAB, když už to není standardně umožněno? Ale přijde mi, že přece Arcade ve původním MapVieweru fungoval.... jen jsem skládal řetězce dohromady, abych vytvořil unikátní URL pro každý prvek. V konfiguraci pop-upu ale jsou všecky výrazy vidět, jak nic do tohoto starého prostředí po kliknutí nevrací.
A takových nekompatibilit je tu víc a postupně je objevujeme..... a říkáte si super, seskupení vrstev v novém MapViewer, konečně, to ve starém nešlo. Pak to otevřete ve WAB a struktura nikde. Chápu, tady ne, v ExB a nových JS 4.x aplikacích by to bylo. Holt stará doba, struktura byla daná mapovými službami a kolik jich tam bylo, taková byla struktura a nešlo s tím nic dělat. Co naopak dělá MapViewer Classic a co jsme vlastně nikdo před tím neřešili a brali to jako fakt, tak to, když jste do jedné webové mapy vložili feature a mapovou službu (v tomto pořadí). Ta feature se v obsahu schovala a veškeré nastavení se odehrávalo na jednom místě, tedy u té mapové služby a ona věděla, že je tam jak mapová, tak feature reprezentace této služby, že je to tedy vrstva k editaci. A pak pustíte starý Collector a uživatel to v seznamu vrstev viděl taky jen jednou, po kliknutí do mapy vyskočil taky jen jeden pop-up. Znamenalo to jednu webovou mapu pro WAB i Collector zároveň. To bylo super.
A je tu Field Maps (FM), aplikace už z té nové generace, která už ale očekává nový způsob myšlení, jak webovou mapu vytvořit. A nejen jak, ale i v čem. Ideálně v novém MapVieweru. A do něj, když vložíte feature i mapovou službu, tak tam už nefunguje to kouzlo, že se ta feature část schová. Proč obě? Chci v této mapě editovat, symboly na linii feature služba ještě nezvládne zobrazit, takže proto obě. A když obě, tak ve FM je to dvakrát v seznamu vrstev, po kliknutí do mapy dvakrát i v pop-upu. Takže to různě pojmenováváme (hydranty - editace, hydranty - prohlížení), protože jen ta správná vrstva vám nabídne tužku pro editaci, ta druhá ne. Nebo nezbývá nic jiného, než zkoušet, které z těch dvou vypnout na úrovni webové mapy pop-up, které nastavit jakou průhlednost (jestli celému symbolu nebo celé vrstvě - pak se vypne pop-up automaticky) a prostě zjišťujete, že to je všecko dost komplikované to zkoumat, bádat, chtít dojít k tomu zásadnímu. Tím je, že uživatel není zmatený, na co má ve FM klikat, aby tam nebyla jedna a ta samá vrstva 2x a která je která a proč? S tak pro jeden účel vytváříme webové mapy dvě. Jedna "krmí" WAB aplikaci, jedna pro použití ve FM. A pro toto prostředí ještě nemáme nastavené myšlení a nemáme tu znalost, jak vlastně ji vytvořit správně.
Minulý týden jsem v prostředí nového MapVieweru na AGOL vytvářel mapu "Kvalita vody". Na AGOLu proto, že umožňuje nově vložit do konfigurace pop-upu blok Arcade kódu, pomocí kterého jsme vyřešili to, jak do pop-up vypsat jen neprázdné atributy. U této vrstvy jich je cca 160, takže nám @MatejVrtich poradil, jak to pomocí Arcade řešit. Poslal jsem mu výsledek e-mailem a v jeho odpovědi zaznělo "Chtěl jsem se ale zeptat, zda je nějaký důvod k tomu, že v mapě kreslíte data exportem mapy do obrázku, čili mapovou službou?". Tak to přece bylo, že mapová je rychlá pro vykreslení, ne? Ale to všecko už dle jeho argumentů není pravda a udělal kopii této mapy tak, jak by se dnes měla vlastně „správně“ tvořit. Ano, o rychlosti vykreslování v nových JS 4.x aplikacích slyšíme, ale nikdy jsme to moc nevnímali a jedeme to furt tak nějak po staru. Pokud někdo dočetl až sem, pomocí jakých služeb tvoříte jednoduché mapy?
Na téma duplicit pop-upů v prostředí nového MapVieweru jsem se minulý týden bavil s @DavidNovak z technické podpory. Otevřeli jsme tento případ, protože už jsme nevěděli, jak opravdu pro FM ty mapy tvořit. A skončili jsme opět u tématu feature služby jsou budoucnost. Padla řada dalších tipů jako vytvořit webovou mapu rovnou z prostředí ArcGIS Pro. Víme, že ta možnost tady je, ale nikdy jsme nezkusili. Proč taky, je tu MapViewer, služby, Portál, tam to poskládáme, nastavíme, vysdílíme a jedeme, ne? Ale asi je čas na změnu uvažování a asi toto je ta cesta, o které musíme začít přemýšlet a musíme ji začít zkoumat, abychom se dozvěděli víc. K čemu nám to je, kdy ji využívat, kdy je výhodná. @DavidNovak , je možné popsat ty možnosti, co jsme se bavili?
Zkusil už někdo u vás? Jak se referencují data? Je to obdoba toho, jak tvoříme sešity v Insights, kdy si čteme data rovnou z SDE, kterou tam máme jako položku a nepotřebujeme na to službu? Ano, už myslím s 10.8.1. máme naše SDE (Postgre) jako položku Portálu, kdysi jsme zaslechli zmínku přímé práci s položkami v SDE, ale využili jsme jen v Insights, nikdy při tvorbě webových map.
Jednoduše na závěr, potřebujeme vlastně jen umět správně vytvořit webovou mapu pro Field Maps, protože tam se u nás teď nejvíc "tluče" to, co děláme tím způsobem, kterým se to dělalo kdysi, a nevíme, jak to teď dělat správně. Pokud vám taky teď přijde, že jsme v pasti toho přechodu mezi starými a novými generacemi aplikací v platformě Esri, tak prosím napište. Ať víme, že se v tom plácáme sami anebo je nás víc, co vlastně nevíme, jak k tomu přistupovat.
Takže, jak vytvořit mapu, aby se správně dneska zobrazovala ve Field Maps? Používáte vůbec ještě mapové služby a kde? Jak přistupujute ke složitějším symbolům? V jakém prostředí probíhá konfigurace vašich webových map, v AGP nebo MapViewer? A který z těch dvou?