Možná jste se už setkali s úkolem, jak lokalizovat textovou informaci o poloze (adresu, název ulice, nebo třeba parcelního čísla) do geografické polohy. A nezáleží na tom, zda to bylo v rámci pracovních úkolů nebo na dovolené, když jste hledali cestu do hotelu. Tuto úlohu nazýváme geokódování. A jak seznáte v pokračování tohoto textu nejedná se o obyčejné vyhledávání, jak se na první pohled může znát.
Předně je třeba si říct jaký je rozdíl mezi vyhledáváním a geokódováním. Pro geokóding se používá komponenta lokátor. Na rozdíl od obyčejného vyhledávání, geokóding pracuje s pravděpodobností mezi vstupním textem a daty lokátoru. To výsledku znamená, že každému vstupnímu textu na základě podobnosti lokátor přidělí záznam ze své vlastní databáze (tj. může se jednat o adresním místo, zájmové místo jako je restaurace, ulici, parcelu apod.) a ohodnotí jej mírou shody (match score). Lokátor je nám tak schopen vrátit správnou polohu (lokalizaci vstupu) i v případě neúplného vstupu nebo překlepu (jen nebude mít hodnotu shody 100%, ale například jen 95%).
Pokud chcete geokódovat v Esri světě – ať už v ArcGIS Pro, Map Viewer, Field Maps…., nemusíte se vůbec o nic starat – většina aplikací nabízí možnost zadat vstup a obratem obdržíte polohu zadaného místa s bodem v mapě. Je to dáno tím, že Esri v rámci celé platformy pro celý svět poskytuje svoji webovou geokódovací službu – ArcGIS World Geocoding Service.
Kromě toho, že tuto službu můžete použít pro zadání jednotlivého vstupu, můžete pomocí nástroje Geocode Addresses (https://pro.arcgis.com/en/pro-app/latest/tool-reference/geocoding/geocode-addresses.htm) lokalizovat více vstupů najednou. Této úloze říkáme batch geocoding a pokud jej budete používat proti službě ArcGIS World Geocoding service, bude vás její použití stát kredity (40 kreditů za 1000 adres) – viz: https://doc.arcgis.com/en/arcgis-online/administer/credits.htm. Více o této úloze najdete níže.
Pokud Vám výchozí služba ArcGIS World Geocoding service nevyhovuje nebo potřebujete lokalizovat nad vlastními daty, můžete si vytvořit lokátor vlastní. K tomu je určen nástroj Create Locator: https://pro.arcgis.com/en/pro-app/latest/tool-reference/geocoding/create-locator.htm. Takový vlastní lokátor pak využijete přímo v ArcGIS Pro nebo v mobilních aplikacích jako součásti MMPK balíčků. Nebo jej můžete publikovat jako vlastní geokódovací službu na ArcGIS Enterprise a využít ve všech aplikacích systému ArcGIS.
To první, co pro vlastní lokátor potřebujete, jsou data. Vhodným zdrojem jsou například data RÚIAN. Druhou nutnou podmínkou je, jak z předchozího odstavce vyplývá, ArcGIS Pro.
Jakmile otevřete nástroj, vybereme patřičnou šablonu lokátoru – v našem případě Czechia. Česká adresní šablona se v ArcGIS Pro objevuje od verze 3.1. a od té doby prošla ještě výrazným vylepšením. Spolu s kolegy z Esri se jí v ARCDATA PRAHA snažíme neustále vylepšovat.
Proto pro tvorbu lokátoru doporučujeme používat nejnovější verzi ArcGIS Pro. Druhým parametrem je role, pomocí které definujete s jakým typem vstupu bude lokátor pracovat. Těchto rolí může být v jednom lokátoru více –například adresy, ulice, parcely nebo zájmová místa (POI). Z této vlastnosti lze vyčíst dvě základní poučky:
Ke každé roli přiřadíte třídu prvků vstupních dat. Následně provedete mapování polí zadané třídy prvků v šabloně role lokátoru.
Výsledkem je pak lokátor, který se skládá ze dvou souborů Loc a Loz a který obsahuje všechna vstupní data. Nenechte se zmást velikostí, lokátor vstupní data maximálně optimalizuje a minimalizuje velikost výstupních souborů – takže v našem modelovém případě adresy RÚIAN a ulice RÚIAN za celou ČR zabírají v lokátoru cca 65 MB, což na tak velký objem vstupních dat není mnoho.
Hotový lokátor a lokátory obecně, počítám sem i ArcGIS World Geocoding Service nebo vlastní geokódovací služby, můžete v ArcGIS Pro obratem použít hned třemi různými způsoby.
V nástroji Locate – ten vám umožní vyhledat (i neúplnou) položku dle role – například adresu.
Zároveň si pro každý vstup můžete nechat zobrazit informace, které Vás informují o přesnosti, s jakou operace GeoSearch vstup identifikovala.
Terminologická á poznámka:
Během prací s lokátory se můžete setkat se dvěma výrazy GeoSearch a Geocode. Obě úlohy jsou co do výsledku podobné. Liší se hlavně v tom, že GeoSearch neukládá výsledek do geodatabáze a pouze jej zobrazí v mapě (jako výstup z nástroje Locate), kdežto Geocode primárně ukládá výsledek v geodatabázi (například geoprocessingový nástroj Geocode Addresses popisovaný níže).
Už během zadávání si můžete všimnout, že se Vám objevují návrhy (tzv. suggestions, které má na starosti stejnojmenná operace), a která vám mohou urychlit vyhledávání – nemusíte vstup dopisovat, stačí kliknout na návrh, odpovídá-li prvku který hledáte.
Pokud ne, pište dál a objeví se zpřesněný návrh.
Mimo adresu můžeme vyhledávat i ostatní elementy lokátoru a v případě ulic i jejich křížení (které běžně v datech nenaleznete). Viz obrázek a níže vyhledané křížení ulice Hybernská a Havlíčkova.
Druhým způsobem využití lokátoru je operace hromadného vyhledání adres – tzv. Batch geocoding. Využijete jej v situaci, kdy máte za úkol lokalizovat tabulku adres (a můžeme se bavit i o stovkách tisíc záznamů nebo více).
K hromadnému geokódování slouží geoprocessingový nástroj Geocode Addresses: https://pro.arcgis.com/en/pro-app/latest/tool-reference/geocoding/geocode-addresses.htm. Na vstupu zadáte vstupní tabulku, jakou je v našem případě tabulka škol ČR ve formátu XLSX. Dále lokátor, pomocí kterého budeme školy lokalizovat a výstupní třídu prvků. Tou bude bodová třída, která bude obsahovat (mimo jiné) vstupní adresu, spárovanou adresu určenou lokátorem a informaci o pravděpodobnosti shody (match score).
Toto je tedy velmi efektivní a rychlý způsob, jak lokalizovat více adres najednou.
Poslední případ použití je opačný tomu předchozímu, tedy že pro danou polohu chceme vyhledávat její adresu. Této úloze říkáme reverzní geokóding. Opět pro ni existuje geoprocessingový nástroj Reverse geocode: https://pro.arcgis.com/en/pro-app/latest/tool-reference/geocoding/reverse-geocode.htm, ale můžeme tuto úlohu zpracovat i interaktivně v mapě pomocí kontextového menu. Stačí kliknout do místa v mapě, které nás zajímá pravým tlačítkem a vybrat možnost Co je zde (What´s here).
Výsledkem je pak dynamicky zobrazený bod nejbližšího adresního místa a informace o něm ve vyskakovacím okně.
Toto je tedy stručný úvod do geokódování a proč by vás to mělo zajímat. Pokud byste se chtěli dozvědět více, určitě nevynechejte letošní webinář kolegy @MatejVrtich , který bude o lokátorech hovořit více do detailu.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.