Úvod
Ve společnosti ESRI Japan pořádáme GIS komunitní fórum a další akce, kde se konají sezení pro začátečníky s ArcPy. V dotaznících často zaznívá přání „chci vědět, jak používat referenční příručku“. Abychom na toto přání odpověděli, představíme v tomto článku tipy, jak číst referenční příručku po zvládnutí základů ArcPy.Jak hledat v referenční příručce Tento článek se zaměřuje na stránku s referencí k ArcPy. Pokud chcete získat komplexní znalosti základů ArcPy, podívejte se prosím na
tento materiálArcPyreferenční příručku. Pokud chcete studovat od základů po pokročilé techniky s odborným lektorem, zvažte využití
školení.
Proč je potřeba číst referenční příručku?
ArcPy je knihovna umožňující automatizaci operací v ArcGIS Pro pomocí Pythonu. Díky možnosti přímo odkazovat na geoprocessingové nástroje a bohatým ukázkovým kódům či existenci školení lze někdy psát skripty bez nutnosti číst referenční příručku. Nicméně pokud chcete kombinovat více ukázek do jednoho pracovního postupu, detailně přizpůsobit proces nebo design, nebo když nelze použít metodu vytváření skriptů přímo z ArcGIS Pro, může být potřeba sáhnout po referenční příručce. Ta vám pomůže tyto problémy vyřešit a umožní vám provádět operace přesně podle vašich představ.ArcGIS Pro Když tato metoda není použitelná, může se vám zdát nedostatečná. V takových chvílích vám čtení referenční příručky pomůže tyto omezení překonat a lépe ovládat procesy podle vašich potřeb.
Popis rozhraní obrazovky
Následující obrázek ukazuje hlavní stránku Python referenční příručky ArcGIS Pro, tedy hlavní stránku referenční příručky ArcPy.
Obsah týkající se ArcPy je dostupný z této stránky. U geoprocessingových nástrojů lze přistupovat přes záložku Tool Reference vedle záložky Python.
Na levé straně stránky jsou zobrazeny moduly rozdělené podle funkcí, včetně „ArcPy funkce“ a „ArcPy třídy“. Zaměříme se na některé často používané moduly.
Modul Data Access
obsahuje třídy a funkce pro přístup k datům.Typickými představiteli jsou funkce Describe a kurzory.
Modul Mapping
slouží k práci s projektovými soubory (.aprx), mapami a vrstvami. Často se používá při automatizaci tvorby a exportu map. Tento modul je pravděpodobně nejznámější mezi uživateli.V tutoriáluje vysvětlen celý proces od získání projektového souboru až po export vytvořené mapy.
Sdílený modul
umožňuje pomocí ArcPy nahrávat obsah z ArcGIS Pro do ArcGIS Online nebo ArcGIS Enterprise. Můžete zde publikovat a sdílet nejen mapy a vrstvy, ale i nástroje či služby.
Kromě modulů a geoprocessingových nástrojů jsou k dispozici různé třídy a funkce. Podrobnosti najdete v ArcPy třídách a ArcPy funkcích. V následujících sekcích si ukážeme, jak číst stránky s referencemi nástrojů, funkcí a tříd ArcPy.
Jak číst reference nástrojů, tříd a funkcí
Čtení reference nástrojů
Podíváme se například na stránku Attribute Search (atributové vyhledávání).
Stránka reference nástroje je strukturována do následujících sekcí:
・Souhrn
・Použití
・Parametry
・Dialogové okno
・Python
・Prostředí (Environment)
・Informace o licenci
・Související témata
Popis nástroje najdete v souhrnu a části použití. Při používání ArcPy kontrolujte parametry v části Python. Například u exportu prvků je to znázorněno na následujícím obrázku.
Podíváme se na čísla na obrázku postupně. Číslo 1 ukazuje syntaxi použití. U nástrojů je to obvykle ve formátu „arcpy.alias_toolbox.nástroj(parametry)“.
Číslo 2 uvádí názvy parametrů a jejich popisy. Parametry označené "{}" jsou volitelné (označené jako (volitelné)). Tyto parametry můžete přidat podle potřeby; pokud nejsou potřeba, můžete je vynechat pro jednodušší skript.
Číslo 3 ukazuje datový typ požadovaných dat. Pokud potřebujete zjistit datový typ proměnné během skriptu, můžete použít funkci type().
Po spuštění nástroje se jako návratová hodnota vrací objekt typu Result.Objekt Result umožňuje získat informace o provedených operacích nástroje, jako jsou výstupy nebo zprávy. Tyto informace lze také použít jako parametry v jiných voláních.
Sloupek -Jak snížit počet nepotřebných parametrů -
Například spustíte geoprocessingový nástroj Attribute Search a odešlete výsledek do Python okna.
Následující obrázek ukazuje výsledek odeslaný do Python okna po spuštění nástroje.
・サマリー
・説明
・構文
・戻り値
・コードのサンプル
前述のツールの場合でも紹介していますが、「{}」がついているものは任意となるのでパラメーターやメソッドを入力する時に自分で調整します。
ここでは最もよく目にするクラスの 1 つである ArcGISProject クラスを見てみましょう。
冒頭からサマリーや説明が書かれていますが、その次にプロパティが現れます。このセクションでは各クラスに含まれるプロパティ、その説明とデータ タイプが書かれています。プロパティが別のクラスになる場合はリンクから辿ることもできます。
その次はクラスに含まれるメソッドの説明が現れます。メソッドについてはまず、「方法の概要」セクションで各メソッドの名前と短い概要が列挙され、その次の「方法」セクションで個別に詳しくメソッドの説明が書かれています。
サンプル コードはクラスや関数により数が異なります。例えば、ArcGISProject クラスでは 8 つのサンプル コードがあります。
リファレンスを見たい場面 -Python に送信機能が使えないとき-
ここまで ArcPy リファレンスの構成についてツールと「クラス・関数」に分けて確認しました。ArcPy でスクリプトを作成する際にはリファレンスを見ながら書いていくと思いますが、ArcGIS Pro を使用する場合はツールの履歴画面から「Python ウィンドウに送信」や「ノートブックに送信」を使用してスクリプトの一部を作る方もいると思います。
この手法はツールのみが対象で、ツールにないシンボル設定やエクスポートなどのコマンドはリファレンスを参照し自作する必要があります。例えば ArcPy を利用して ArcGIS Pro 上のフィーチャ レイヤーを ArcGIS Online にフィーチャ サービスとして公開する流れは一部の過程のみツールが対応しているのでリファレンスを見ながらスクリプトを自作する必要があります。次の章ではコマンドの一例としてシンボル変更のスクリプトを見ていきます。
リファレンスを見ながら短いスクリプトを作成してみよう
今回はレイヤーの見た目を変更したいと思います。色分けをするレンダラーと色を設定するシンボルを使って変更を行います。
# lyrs はレイヤーのリスト、lyr は一つ一つのレイヤーのオブジェクト
for lyr in lyrs:
if lyr.name == "放置車両":
sym = lyr.symbology
sym.updateRenderer("GraduatedColorsRenderer") # 等級色
sym.renderer.classificationField = "total" #分類するフィールド名
sym.renderer.classificationMethod = "Quantile" # Kvantily
sym.renderer.breakCount = 5 # Třídy
lyr.symbology = sym
Nejprve přistoupíme k rendereru.Třída Layer vlastnost symbology získáme, abychom mohli přistupovat k rendereru.
sym = lyr.symbology
Tentokrát budeme měnit symbol, takžetřída symbology má metodu updateRenderer, kterou spustíme. Podívejme se na referenci. Tentokrát je povinný jeden parametr, který vybereme z předdefinovaných řetězců. Protože chceme GraduatedColorsRenderer, zadáme "GraduatedColorsRenderer". Pět parametrů najdete v seznamu pod obrázkem.
sym.updateRenderer("GraduatedColorsRenderer")
- GraduatedColorsRenderer→ Graduovaná barva
- GraduatedSymbolsRenderer→ Graduované symboly
- SimpleRenderer→ Jednoduchý symbol
- UnClassedColorRenderer→Strečování
- UniqueValueRenderer→ Unikátní hodnota
Dále pro specifikaci obsahu rendereru přistoupíme k vlastnosti renderer třídy symbology.
sym.renderer
Zde najdeme objekt, který jsme specifikovali v updateRenderer , konkrétně GraduatedColorsRendererオブジェクトを見つけられます。次は
sym.renderer.classificationField = "total"
sym.renderer.classificationMethod = "Quantile"
sym.renderer.breakCount = 5
Nakonec přiřadíme upravený objekt symbology zpět do vlastnosti symbology třídy Layer.
lyr.symbology = sym
Takto jsme vytvořili skript, který nastavuje metody a vlastnosti pro změnu symbolu. Zde jsme použili "GraduatedColorsRenderer" pro změnu symbolu pomocí rendereru, ale můžete také použít SimpleRenderer, kde nastavíte jednoduchý symbol přes vlastnost symbol.
for lyr in lyrs:
if lyr.name == "<název vrstvy>":
sym = lyr.symbology
sym.updateRenderer("SimpleRenderer")
sym.renderer.symbol.applySymbolFromGallery("バス ターミナル")
sym.renderer.symbol.color = {"RGB" : [243,32,41,100]}
sym.renderer.symbol.outlineColor = {"RGB" : [0,0,0,100]}
sym.renderer.symbol.size = 21
lyr.symbology = sym
Pokud chcete vytvořit takový symbol ve skriptu, musíte se podívat do reference symbolu.
V tomto článku jsme vysvětlili strukturu a způsob čtení referenční stránky ArcPy jako návod k hledání informací v referenci. Může to být užitečné při přizpůsobování ukázkového kódu vašemu prostředí nebo při tvorbě nových skriptů. Doufáme, že tento článek trochu sníží bariéru vstupu do ArcPy.
ArcPy úvodní workshop
Pro ty, kteří chtějí studovat ArcPy komplexněji, doporučujeme tento zdroj.
Blogové články o ArcPy zde