Select to view content in your preferred language

Modul arcgis.gis a vyhledávání obsahu pomocí ArcGIS API pro Python

805
0
02-22-2023 04:20 AM
DavidDaveNovak
Esri Contributor
0 0 805

Použití funkcí modulu arcgis.gis z ArcGIS API pro Python

Modul arcgis.gis poskytuje přístup k obsahu, který je hostovaný v rámci ArcGIS Online nebo Portal for ArcGIS. Tento modul obsahuje funkce pro správu (vytváření, čtení, aktualizaci a mazání) uživatelů, skupin a obsahu GIS.

Následující obrázek znázorňuje hlavní modul gis a různé třídy s atributy a funkcemi, ke kterým lze přistupovat.

JanSouek_0-1676907529137.png

 

Příklady použití funkce search pro správu obsahu 

Na úvod je nutné načíst potřebné moduly a přihlásit se do prostředí, ve kterém chceme obsah spravovat.

 

 

 

from arcgis.gis import GIS
gis = GIS("https://arcgis.com", "Username")
print ("Úspěšné přihlášeno do: ", gis)

 

 

 


Nyní můžeme začít přistupovat k našemu obsahu přímo pomocí modulu gis.content a pomocí funkce search následně definovat výrazy pro upřesnění vyhledávání.

Pro vyhledání veškerého obsahu stačí použít jako parametr výraz (query='').

Nalezený obsah lze jednoduše zobrazit v seznamu items.

 

 

items = gis.content.search(query='')
items

 

 

DavidDaveNovak_2-1676651454512.png

 

Jako vhodné doplnění na úvod je dobré rozšířit výraz o další parametr určující maximální počet vypsaných prvků: 

 

 

items = gis.content.search(query='', max_items=20)

 

 

V případě potřeby vyhledávání obsahu podle klíčového slova lze do těchto uvozovek vložit hledané klíčové slovo:

 

 

items = gis.content.search(query='KEYWORD')

 

 

Pro vyhledávání obsahu podle vlastníka je podmínka výběru následující:

 

 

items = gis.content.search(query='owner:YOUR USERNAME')

 

 

Naopak pokud bychom rádi vybrali položky, které nevlastní daný uživatel, snadno lze význam podmínky otočit. 

 

 

items = gis.content.search(query='NOT owner:YOUR USERNAME')

 

 

Vyhledávání obsahu podle vlastníka, pokud je jako parametr již zadáno uživatelské jméno:

 

 

username = "YOUR USERNAME"
items = gis.content.search(query='owner:'+username)

 

 

Vyhledat obsah, jehož vlastníkem je přihlášený uživatel:

 

 

items = gis.content.search(query="owner:" + gis.users.me.username)

 

 

Vyhledávání obsahu podle názvu:

 

 

items = gis.content.search(query='title:TITLE') 

 

 

 

Vyhledávání podporuje použití zástupných znaků. Můžete použít hvězdičku "*" pro vyhledávání více znaků a otazník "?" pro vyhledávání jednoho znaku.

Vyhledávání obsahu, který začíná definovaným výrazem nebo předponou:

 

 

items = gis.content.search(query='title:TITLE*')

 

 

 

Vyhledávání obsahu podle typu položky:

 

 

items = gis.content.search(query='', item_type='Feature Service')
items = gis.content.search(query='', item_type='Web Map')
items = gis.content.search(query='', item_type='Web Mapping Application')

 

 

 

Následující podmínka zahrnuje jak webovou mapu, tak i webové aplikace:

 

 

items = gis.content.search(query='', item_type='Map')

 

 

 

Vyhledávání obsahu mimo organizaci (parametr query nemůže být prázdný):

 

 

items = gis.content.search(query='title:TITLE', outside_org=True)

 

 

 

Dotazy lze kombinovat do složitějších výrazů, viz například:

 

 

items = gis.content.search(query='title:TITLE, owner:YOUR USERNAME', item_type='Feature Layer')

items = gis.content.search(query='title:TITLE, type:map, owner:YOUR USERNAME')

 

 

 

Následuje jednoduchá ukázka praktického použití pro vyhledání obsahu, týkajícího se například Prahy.

DavidDaveNovak_1-1676650448541.png

V případě importování modulu display z knihovny IPython lze výstup zobrazit přehledně i s náhledovými obrázky a odkazem na konkrétní položku:

 

 

from IPython.display import display
for item in items:
display(item)

 

 

DavidDaveNovak_0-1676650348917.png

S každou položkou lze následně dále pracovat. 

Zde je ukázka pro zobrazení Esri identifikačního kódu nalezené položky v seznamu, pomocí kterého lze dále prvek identifikovat pro snadné použití v jiných aplikacích.

 

 

first_item = items[0]
known_item_id = first_item.id
print(known_item_id)

 

 

3b640da3af8a40ddb65f667044f76c70

 

V tomto článku jsme se zaměřili na úvod do vyhledávání obsahu v prostředí ArcGIS Online nebo Portal for ArcGIS. Jedná se o základní konstrukce, které mohou posloužit pro další práci s obsahem pomocí jazyka Python.