ProConcepts Migrating to ArcGIS Pro - kataya/arcgis-pro-sdk GitHub Wiki

このドキュメントは、ArcGIS Pro SDK for Microsoft .NET を䜿甚しお ArcMap のカスタマむズを ArcGIS Pro に移行する際のアプロヌチ、ベストプラクティス、および実装䞊の考慮事項の抂芁を説明しおいたす。

    Language:      C#
    Subject:       Framework
    Contributor:   ArcGIS Pro SDK Team <[email protected]>
    Organization:  Esri, http://www.esri.com
    Date:          11/24/2020 
    ArcGIS Pro:    2.7  
    Visual Studio: 2017, 2019

In this topic

抂芁

このドキュメントでは、ArcGIS Pro SDK を初めお䜿甚し、初期戊略, アヌキテクチャ, およびアプリケヌション蚭蚈の決定に取りかかる開発者や管理者のために、埓来のデスクトップのカスタマむズを移行するための䞀般的なハむレベルなアプロヌチに぀いお説明しおいたす。

ArcGIS Pro SDK は、ArcGIS Pro の新しいリリヌスごずにリリヌスされたす。Pro SDK は、ArcGIS 10.0 で初めお導入されたアドむン 拡匵パタヌンに基づいおおり、最新の Microsoft .NET の機胜ずパタヌンを掻甚しおいたす。"アドむン" ずしお知られるこれらのカスタマむズは、1 ぀の圧瞮された zip ファむルにパッケヌゞ化されおおり、簡単に共有しおむンストヌルするこずができたす。アドむンは柔軟性があり、ArcGIS Pro を特定のナヌザのニヌズに合わせ、耇雑な線集ワヌク フロヌのための新しいカスタム Pro ツヌルセットを提䟛したり、カスタム空間解析凊理ルヌチンを提䟛したり、ずいうようなさたざたなレベルのカスタマむズを提䟛するこずができたす。

このドキュメントは4぀のセクションに分かれおいたす。

  • Customization Patterns – ArcGIS Pro をカスタマむズするための䞀般的なパタヌン。 アドむン や ゜リュヌション構成 を䜿甚するタむミングなど、アプロヌチや考慮すべき点が含たれおいたす。

  • Programming Patterns – WPF、MVVM、非同期プログラミングなど、Pro SDKでプログラミングする際に䜿甚する䞻なパタヌンを玹介したす。

  • Learning ArcGIS Pro – カスタマむズ䜜業には、Pro ずその新しい機胜を十分に理解しおおくこずが䞍可欠であるため、ArcGIS Pro を孊習するための ティップス や リ゜ヌス を玹介しおいたす。

  • Learning the ArcGIS Pro SDK – 始める際に泚目すべきキヌコンセプトを提案しおいる、Pro SDK を孊習するための ティップス や リ゜ヌス を玹介しおいたす。

カスタマむズ パタヌン

ArcGIS Pro のカスタマむズに取りかかる際には、必芁な拡匵性のレベルを考慮するず圹に立ちたす。 以䞋に、ArcGIS Pro を拡匵するための 3 ぀のアプロヌチを、難易床の䜎いものから高いものたで順に瀺したす。

  • 蚭定によるUI の構成ずタスク によるワヌクフロヌの実珟 この耇雑さの少ないアプロヌチは、必芁な機胜が既存のProツヌルや機胜でカバヌされおおり、Pro プロゞェクトやワヌクフロヌを敎理したい堎合に最適です。この堎合は、Customizing the Pro ribbonのように、UI に若干の倉曎を加える必芁があるかもしれたせん。たた、Pro の Tasksを䜿甚しお、繰り返し可胜なワヌクフロヌを蚭定したり、Pro のツヌルやゞオプロセシングツヌル、独自のゞオプロセシングモデル を埋め蟌むこずもできたす。

  • ゞオプロセシング ずPython を䜿っお自動化 次のアプロヌチは、ModelBuilderでゞオプロセシングモデルを䜜成し、ArcPyを䜿っおPython スクリプトを開発する方法です。このアプロヌチでは、䞀般的なタスクや操䜜を自動化するための匷力で再珟性の高いスクリプトを䜜成するこずができたす。

  • Pro SDK を䜿甚しお、独自のカスタム ツヌル や ゜リュヌションで拡匵 最も高床なアプロヌチは、Pro SDK を䜿甚しお独自のアドむン を開発するこずです。Microsoft Visual Studio ず .NET を䜿甚しお、ツヌルやワヌクフロヌを盎接Pro UI に統合し、シヌムレスなナヌザヌ゚クスペリ゚ンスを提䟛する掗緎されたPro アドむン を開発するこずができたす。たた、開発者は、より高床なアドむンの圢態である゜リュヌション 構成を構築するこずができ、組織や業界に合わせたカスタム起動゚クスペリ゚ンスをナヌザヌに提䟛するこずができたす。

ArcGIS Pro SDK - Pro extending options

これらのオプションを評䟡する際には、それぞれの実装䞊のトレヌドオフがありたす。䟋えば、耇雑さの䜎い「構成蚭定」によるオプションは、タスクの䜿甚など、いく぀かの蚭定ステップを䌎うコアのすぐに䜿えるツヌルを掻甚したす。このアプロヌチは、実装ず保守がより簡単か぀迅速になりたす。堎合によっおは、タスク内の䞀連のステップで構成されたコア ツヌルのセットを䜿甚するだけで十分な堎合もありたす。プロゞェクトの芳点から芋るず、このアプロヌチは通垞、3぀のアプロヌチの䞭で実装ず保守が最も簡単です。プログラミングや開発に時間をかける必芁がなく、カスタムコヌドの倉曎を考慮する必芁がないため、将来的にPro をアップグレヌドする際に手盎しをする必芁がありたせん。

たた、蚭定は少人数のチヌムがすぐに始められ、ワヌクフロヌのステップや情報補品が゜リュヌションに本圓に必芁なものかどうかを確認し、埌から改善を怜蚎するための、簡単な方法かもしれたせん。しかし、ワヌクフロヌが頻繁に䜿甚されたり、耇雑なステップが倚数含たれおいたりするず、ナヌザヌにずっおは扱いにくいものになる可胜性がありたす。ナヌザヌは、より迅速に、より自動化された方法でタスクを完了できるような、よりカスタマむズされた゜リュヌションを奜むかもしれたせん。これは、アプロヌチを進化させ、Python やゞオプロセシング でステップを自動化したり、Pro SDKを䜿ったカスタム アドむンの開発を怜蚎する良い機䌚です。

開発者、アナリスト、管理者は、最小限の開発で必芁な効率ず機胜をナヌザヌに提䟛するリヌン開発の手法を遞択するこずをお勧めしたす。堎合によっおは、3぀のアプロヌチをすべお組み合わせたものが適切な遞択肢ずなるこずもありたす。䟋えば、単䞀チヌムのプロゞェクトでデヌタ管理機胜を備えた合理化されたUI が必芁な堎合、アドむン や ゜リュヌション構成 の開発に手間取るよりも、共有プロゞェクトの䞀郚ずしお Customizing the Pro ribbon ず Geoprocessing tool in the Pro favorites を提䟛するだけの方が、実行可胜なアプロヌチになる可胜性がありたす。

それでも、マップやシヌンなどずの察話的な操䜜を䌎う新しいPro ツヌルが必芁で、基本的な蚭定や自動化を超えおいる堎合や、Pro UI のカスタマむズが必芁な堎合は、Pro SDK を䜿甚したアドむン の開発を怜蚎する必芁がありたす。SDK を䜿甚しおアドむン を開発するこずは、粟床ず生産性の面で優れた遞択ずなりたす。たた、Pro UI を䞀貫しお改良たたは合理化し、新しくナニヌクで時間を節玄できる機胜を提䟛したい堎合にも、アドむン は非垞に有益なものずなりたす。

アドむン パタヌン

Pro アドむンのカスタマむズ パタヌンは3぀ありたす。

  • 埓来のアドむン (.esriAddinX ファむル) – 豊富なPro のカスタマむズ機胜を提䟛したす

  • ゜リュヌション構成 (.proConfigX ファむル) – 埓来のアドむン機胜に加え、カスタムブランディング、UI、ナヌザヌ゚クスペリ゚ンスのための、远加のスタヌトアップ機胜を提䟛したす。

  • Plugin デヌタ゜ヌス (.esriPlugin) - 開発者にサポヌトされおいないカスタムデヌタ゜ヌスをラップしお、Proで䜿甚できるようにする特殊なアドむン のパタヌンを提䟛したす。詳现に぀いおは、ProConcepts Geodatabase ず ProGuide Plugin Datasource を参照しおください。

埓来のアドむンの開発に぀いおは、新芏開発者のための基瀎的な抂念が ProConcepts Framework のドキュメントで説明されおいたす。

゜リュヌション構成に぀いおは、ProConcepts Configurations のドキュメントで詳しく説明されおおり、次が提䟛されおいたす。

  • Solution branding of the Pro UI – カスタムのスプラッシュ画面、スタヌトアップペヌゞ、アプリケヌション アむコンなどを䜿甚しお、高床にカスタマむズされたUI ずPro のスタヌトアップ ナヌザヌ ゚クスペリ゚ンスを䜜成するこずができたす。

  • Conditional / role-based customization – Pro の起動時の゚クスペリ゚ンスにロゞックを組み蟌み、状態やログむンなどに基づいお Pro UI リボンを合わせるこずができたす。

  • Add-in capabilities – 構成は、アドむンの暙準的なカスタマむズ機胜を提䟛したす。

  • Control over add-ins – どのアドむンをどのようにロヌドするかを遞択するこずができたす。

次のスクリヌンショットは、合理化された UI ずワヌクフロヌを持぀ ゜リュヌション構成 の䟋を瀺しおいたす。これは、開発者がビルドしお利甚できる倚くの Pro SDK community samples の䞭の 1 ぀である ConfigWithMap solution configuration community sample です。

Pro Solution Configuration

アドむン ず 構成 の比范

アドむンや蚭定の機胜を簡単に比范するず以䞋のようになりたす。

  • 共通点

    • Pro SDK プロゞェクトテンプレヌトからビルド
    • Pro UI のカスタマむズを可胜にする
    • 暙準のダブルクリック むンストヌルでコンパむルず配眮
  • 盞違点

    • アドむン:

      • Pro のセッションごずに耇数のアドむンを蚱可
    • 構成:

      • Pro のセッションごずに1぀の構成蚭定
      • カスタム起動の゚クスペリ゚ンス - スプラッシュ画面ず起動ペヌゞ、条件付き起動ロゞックナヌザヌロヌルなど。

構成は、完党な「゜リュヌション」゚クスペリ゚ンスを提䟛したい開発者のためのものです耇数のナヌザヌロヌルをサポヌトしおいるかどうかは別ずしお。アドむンよりもはるかに広範囲のカスタマむズ䜜業が必芁ずなりたす。アドむンは、特定のツヌルやツヌル セット、カスタム UI、特定のカスタムワヌクフロヌなど、より焊点を絞った機胜を提䟛するこずを目的ずしおいたす。

1぀のPro セッションに぀き 1぀の゜リュヌション構成 しか䜿甚できたせんが、同じPro セッションには耇数のアドむンを含めるこずができたす。 これにより、Pro セッション内でより柔軟な拡匵性のオプションを提䟛するこずができたす。たた、゜リュヌション構成 では、アドむンの読み蟌み順序を定矩できるため、Pro UI 内でアドむンがどのように䜿甚され、どのように衚瀺されるかを制埡するこずができたす。

これは、既存のアドむンの機胜を匷化するために、あるいはアドむンのセットにたたがっお機胜を段階的にリリヌスするために、耇数のアドむンを䜿甚しお゜リュヌションを実装する方法に぀いおの話題が出おきたす。 これに぀いおは、ProConcepts Advanced Topics のドキュメントで説明されおいたす。

ラむセンスの実装

アドむン や ゜リュヌション構成 にラむセンスを実装するための䞻なアプロヌチずしおは、以䞋の2぀がありたす。

  • アドむン を有効にするためにPro SDK を䜿甚したす
  • 既存の ArcMap ゜リュヌションのラむセンス プロセスを掻甚

ArcGIS Pro 専甚のアドむン ラむセンス手順を䜜成する堎合は、以䞋のオプションを䜿甚できたす。

ArcGIS Pro アドむンを䜿甚しお ArcMap のカスタマむズをパッケヌゞ化しお展開する予定がある堎合や、ArcMap のカスタマむズのためのラむセンスアプロヌチを既に開発しおいる堎合、 新しいProアドむンを有効にするために、このラむセンスアプロヌチを取り入れお掻甚するこずができるかもしれたせん。

プログラミング パタヌン

このセクションでは、開発者がPro アドむンを曞く際に䜿甚する䞻芁なプログラミング パタヌンに぀いお䞀般的な情報を提䟛したす。

WPF ず MVVM

ArcGIS Pro SDK は Microsoft .NET 䞊に構築されおいたす。開発は、Microsoft Visual Studio 統合開発環境 (IDE) で行いたす。Visual Studio 内では、開発者は、最新のデスクトップ アプリケヌション開発のための䞻芁な機胜を提䟛する Windows Presentation Foundation (WPF) を䜿甚しおデスクトップ アプリケヌションを䜜成したす。

Pro SDK は、MVVM (Model-View-ViewModel) ず同様に WPF を掻甚しおいたす。これらのパタヌンは、Pro SDK のドキュメントやサンプルで実装されおいるのを確認できたす。

MVVMは、XAMLベヌスの開発でよく䜿われるデザむンパタヌンで、アドむンのUIコンポヌネントをデヌタ および ビゞネスロゞック コンポヌネントから分離したす。Pro SDK では MVVM を䜿甚しお、カスタム ペむン、ドックペむン、ダむアログ、プロパティシヌト、および埋め蟌みコントロヌルを実装したす。ArcGIS Pro SDK のアむテム テンプレヌトは、MVVM パタヌンに必芁なボむラヌプレヌトコヌドの倚くを生成したす。この Microsoft document には、MVVM を䜿甚するこずで、アプリケヌションのテストやメンテナンスが容易になり、コヌドの再利甚機䌚が向䞊するこずが説明されおいたす。MVVM パタヌンに関する他の良い情報源はりェブ䞊にあり、ProConcept Frameworkのドキュメントは、SDK のための重芁な考慮事項をいく぀か提䟛しおいたす。

デスクトップ アプリケヌション マヌクアップ蚀語, DAML

デスクトップ アプリケヌション マヌクアップ蚀語DAMLに぀いおは、ProConcepts Framework のドキュメントで詳しく玹介されおいたす。DAML はアドむンプロゞェクトの Config.daml ファむルで定矩されたす。これは、アドむン に含たれるボタン、ツヌル、メニュヌ、ドックペむン、タブなどを宣蚀するために䜿甚され、Pro UI をカスタマむズするために䜿甚されたす。これらの実装は、Pro SDK アむテム テンプレヌトによっおプロゞェクトに自動的に远加される別個の「コヌドバむンディング」ファむルにありたす。

Config.daml を䜿甚するず、State ず Conditions を䜿甚しお Pro UI のコンテキスト動䜜を開発するこずもできたす。これらに぀いおは、ProConcepts Framework のドキュメントで独自のセクションで玹介されおおり、ProGuide Code Your Own States and Conditions でりォヌクスルヌが提䟛されおいたす。

非同期プログラミング

Pro SDK の䞻な機胜の1぀に非同期開発がありたす。 このパタヌンは、倚くのGIS開発者にずっおただ新しいものです。 これは、Pro の機胜を孊ぶ䞊で、どのようにしお応答性の高いUIを維持し、優れたナヌザヌ゚クスペリ゚ンスを構築するかを孊ぶ䞊で重芁な箇所です。

最良のリ゜ヌスは、ProConcepts Framework ドキュメントの Working with Multithreading in ArcGIS Pro のセクションです。QueuedTask class の䜿甚に慣れおおくこずが重芁です。 カスタム コヌドのほずんどは QueuedTask を䜿甚しお実行され、バックグラりンド / ワヌカヌ スレッドずも呌ばれる Pro のメむン CIM スレッド (MCT) 䞊でバックグラりンドで実行されたす。QueuedTask を䜿甚しお実行される機胜は、「キュヌむング」され、sequentially (ただし、バックグラりンドでは UI が応答性を維持したたた) で実行されたす。QueuedTask䞊で実行されおいるものは䜕であれ、QueuedTask䞊の他の䜕かを実行する前に完了しなければなりたせん。蚀い換えれば、機胜は非同期的に実行されたすが、予枬可胜なシヌケンシャルな順序で実行されたす。

Microsoftには、非同期プログラミングに関する this article などのリ゜ヌスがありたす。

スタむル

Pro SDK には、カスタム UI で䜿甚できる倚数のスタむル、ブラシ、およびカラヌが甚意されおいたす。アドむンが Pro に溶け蟌むように、可胜な限り WPF UI 芁玠に ArcGIS Pro SDK のスタむルを䜿甚しおください。Pro の察応するラむトたたはダヌクのテヌマを倉曎するず、Pro スタむルは自動的に正しい配色に切り替わりたす。以䞋のリ゜ヌスでは、カスタム UI でメむンの WPF コントロヌルを Pro スタむルでスタむリングする際に考慮すべき詳现を説明しおいたす。

  • ProGuide Style Guide – このProGuide では、異なるWPF UI コントロヌルのそれぞれのスタむリングに関する考慮事項を説明しおいたす。

  • Esri Brushes – このペヌゞでは、Esri XAML ブラシの䞀芧を衚瀺したす。

  • Esri Colors – このペヌゞでは、 Esri XAML カラヌの䞀芧を衚瀺したす。

  • ProGuide – Applying Custom Styles – このProGuide では、ラむトずダヌクの䞡方のテヌマをサポヌトするカスタムスタむリングのりォヌクスルヌを提䟛しおいたす。

  • Custom Styling community sample – このコミュニティ サンプルでは、ラむトずダヌクの䞡方のテヌマをサポヌトするようにスタむリングされたカスタム Pro ナヌザヌ コントロヌルを備えたドックペむンを提䟛しおいたす。

ArcGIS Pro ぞの移行

移行の蚈画を立おる際には、既存の゜リュヌションタスク、3Dシヌンなどを匷化できるProの機胜をどのように掻甚するかを怜蚎する必芁がありたす。たた、必芁に応じお、すぐに䜿えるコア機胜を䜿っおワヌクフロヌにどのように察応するかを考える必芁がありたす。䟋えば、ナヌザヌがPro ずどのように察話的に操䜜するか、コンテキスト リボンUI によっおUI の実装方法がどのように倉わるかを怜蚎したす。アドむンの蚭蚈に螏み蟌む前に、Pro アプリケヌションをしっかりず理解しおおきたしょう。

新しいPro UI 芁玠ず甚語に慣れるために、Pro のトレヌニング、ドキュメント、クむックスタヌトガむドのリ゜ヌスの包括的なセットがありたす。

ArcGIS Pro SDKの習埗

ArcObjects からカスタマむズを移行する堎合、ArcObjects コヌドは、Pro SDK を䜿甚するために曞き換える必芁がありたす。ここでは、Pro SDK の孊習を開始する際の䞀般的なヒントず、最初のプログラミング䜜業に぀いお説明したす。

* The Pro SDK documentation, community samples and snippets are written in C#.
  • Your UIs will be written using WPF and XAML, not Windows Forms. The primary pattern to become familiar with is MVVM.

  • The Pro SDK is an asynchronous API. This will be new to many desktop developers. Consult the Microsoft documentation on asynchronous programming and the Pro SDK documentation on the use of QueuedTask.

  • Leverage the Pro SDK community samples for a view of best practices, and integrate the code as needed.

  • Leverage the Pro Concepts, Pro Guides, and Pro Snippets for step-by-step "how to's" as well as code snippets of many common tasks. Tip: Start with the "Framework" topic found on the margin of the SDK wiki page and work your way through these ProConcepts documents first.

  • Use the GeoNet ArcGIS Pro SDK Group for both questions on SDK functionality and best practices as well as requests for new feature functions. -->

  • Pro SDK のドキュメント、コミュニティサンプル、スニペットはC#で曞かれおいたす。

  • あなたのUI は、Windows Forms ではなく、WPF ずXAML を䜿っお曞かれたす。慣れるべき䞻芁なパタヌンはMVVM です。

  • Pro SDKは非同期APIです。これは倚くのデスクトップ開発者にずっおは初めおのこずでしょう。Microsoftの documentation on asynchronous programming や Pro SDKの use of QueuedTask を参照しおください。

  • Pro SDK community samples を掻甚しおベストプラクティスを確認し、必芁に応じおコヌドを統合したす。

  • Pro Concepts、Pro Guides、Pro Snippetsを掻甚しお、ステップ バむ ステップの「ハりツヌ」や、倚くの䞀般的なタスクのコヌドスニペットを䜜成できたす。
    ヒント: SDK wiki ペヌゞの䜙癜にある "Framework" トピックから始めお、最初にこれらの ProConcepts ドキュメントに沿っお䜜業しおください。

  • SDK の機胜やベスト プラクティスに関する質問や新機胜の芁望は、GeoNet ArcGIS Pro SDK Group をご利甚ください。

䞻なPro SDK の孊習リ゜ヌスは以䞋の通りです。

  • Pro SDK Documentation - これは、あなたが珟圚ご芧になっおいるサむトです。目次(TOC)を参照しお、倚くの ProConcept および ProGuide の基瀎ずなるドキュメント、コヌドスニペット、リ゜ヌスリンクを参照しおください

  • Pro SDK Tutorials - Pro SDK のチュヌトリアルでは、コヌドサンプルを䜿っおアドむンの構築を始めるための簡単なりォヌクスルヌ圢匏を提䟛しおいたす。

  • Community Samples – サンプルは、フレヌムワヌク、コンテンツ、線集、ゞオデヌタベヌス、地図探玢など、Pro の機胜領域ごずに分類されおいたす。たた、サンプルで䜿甚するためのsample dataset もダりンロヌドしおください。サンプルを䜿い始める際の参考になるガむドがありたす here。

  • Pro SDK Snippets – これはPro の機胜領域でもあるコヌドスニペット珟圚のgithub wikiではの完党なリストです。

  • FAQ – “Migration from 10x” を必ず確認しおください。

  • GeoNet ArcGIS Pro SDK Group – ここは、GeoNet の Pro SDK 開発者コミュニティスペヌスです。 以前の投皿から質問に察する回答を怜玢したり、ご自身の質問をここに投皿したりするこずができたす。

  • API Reference – 完党な ArcGIS Pro API リファレンス。

  • Videos – Esri Developer Summit および User Conference で行われた Pro SDK のテクニカル セッションの録画はすべお、Esri Events チャンネルの YouTube で公開されおいたす。

  • Formal Training – むンストラクタヌによるトレヌニングは、3 日間の Esri コヌス「Extending ArcGIS Pro with Add-Ins」で受けるこずができたす。

  • Blog posts – 䞊蚘の ArcGIS ブログず GeoNet グルヌプには、有甚な曎新情報ずリ゜ヌスリンクが含たれおいたす。

䞀般的には、䞊蚘の各サむトに詳しくなる時間を費やすこずで、必芁な具䜓的な情報を芋぀けるこずができるのに圹立ちたす。

ArcGIS Pro のトラむアルが必芁な堎合は、free trial here で登録しおから始めるこずができたす。

User Feedback

フィヌドバックを提䟛する重芁な機䌚は、Pro SDK で重芁なプロトタむピングを実斜した埌です。 倚くの SDK ず同様に、ArcGIS Pro チヌムでは、ニヌズや芁件に関するお客様からのご意芋に基づいお Pro SDK の開発を進めおいたす。フィヌドバックは、ArcGIS Pro SDK Group on GeoNet を介しお投皿しおください。 たた、Esri のアカりント マネヌゞャに連絡しおフィヌドバックを共有するこずもできたす。

The ArcGIS Marketplace

ArcGIS ゜リュヌションを怜玢できる ArcGIS Marketplace に぀いおの最埌のメモ。 このサむトでは、ArcGIS Pro アドむン のリスト、および プロバむダになる ずリストの䜜成に関する圹立぀情報が提䟛されるようになりたした。Esri パヌトナヌで、Pro アドむンを ArcGIS Marketplace に掲茉するこずに興味がある堎合は、Esri パヌトナヌ マネヌゞャに連絡しお詳现を確認しおください。

⚠ **GitHub.com Fallback** ⚠