Home - EsriJapan/arcgis-pro-sdk GitHub Wiki

ArcGIS Pro 3.4 SDK for .NET

ArcGIS Pro Version: 3.4.0.55405

ArcGIS Pro SDK for Microsoft .NET を使用して ArcGIS Pro を拡張することができます。 ArcGIS Pro SDK には、アドイン、構成管理、プラグイン データソース、および CoreHost アプリケーションという 4 つの主要な拡張パターンが用意されています。タスク非同期プログラミング(TAP)、LINQ、WPF バインディング、MVVM などの最新の .NET 機能およびパターンを活用し、ArcGIS Pro API を使用して 2D および 3D アドインを構築することができます。


トピック

ArcGIS Pro SDK の概要

開発要件

ArcGIS Pro

  • ArcGIS Pro 3.4

サポートするオペレーティング システム

  • Windows 11 (Home, Pro, Enterprise)
  • Windows 10 (Home, Pro, Enterprise) (64 bit)

サポートする .NET

Microsoft .NET Runtime 8.0.0 または それ以上が必要です。.NET 8.0 のダウンロード

サポートする統合開発環境

  • Visual Studio 2022 (バージョン 17.8 以降)
    • Community Edition
    • Professional Edition
    • Enterprise Edition

.NET 8 と同時にリリースされた Visual Studio 2022 17.8 リリースでは、.NET 8 がサポートされます。

サードパーティー アセンブリ

Newtonsoft Json

  • ArcGIS Pro 3.4 では、Newtonsoft Json NuGet のバージョン 13.0.3.27908 を使用しています。アドイン で Newtonsoft NuGet が必要な場合は、同じバージョンの Newtonsoft Json を使うことを推奨します。

WebView2

  • アドイン開発者は、Microsoft Edge WebView2 ベースの新しい WebViewBrowser コントロールを使用できます。 Microsoft Edge WebView2 Runtime バージョン 117 以降が必要です。

ArcGIS Pro システム要件

ArcGIS Pro API

ArcGIS Pro API は、ArcGIS Pro のインストールごとにインストールされる マネージド .NET アセンブリ です。.NET メタデータまたは PIA (Primary Interop Assemblies) を含む中間アセンブリは必要ありません。

API を構成する ArcGIS Pro マネージド アセンブリを、Visual Studio アドイン プロジェクトで直接参照として追加します。

パブリックAPI に含まれる ArcGIS Pro アセンブリ の完全なリストを以下に示します。各アセンブリの具体的な詳細については、オンラインの API Reference を参照してください。

Core

Core アセンブリは {ArcGIS Pro インストール フォルダ}\bin にあります。

アセンブリ 説明
ArcGIS.Core.dll Provides CIM, Geodatabase, Geometry Utility Network API を提供します。
ArcGIS.CoreHost.dll スタンド アロンで利用するために ArcGIS.Core.dll を初期化するための Host.Initialize を提供します。
ArcGIS.Desktop.Framework.dll アドイン コントラクト、DAMLサポート、および基本クラスを含めるめのアプリケーション フレームワークを提供します。このアセンブリは、すべてのアドインによって参照される必要があります
ESRI.ArcGIS.ItemIndex.dll カスタム アイテムを作成および操作する機能を提供します。

エクステンション

ArcGIS Pro 内の主要なサブシステムは、エクステンションと呼ばれる単位で構成されています。Extension アセンブリは、{ArcGIS Pro インストール フォルダ}\bin\Extensions フォルダ内の個々のサブフォルダにあります。 Extension サブフォルダは、例えば、Mapping, Editing, Layout などのように、それらが表す機能単位に合わせて論理的に命名されています。

アセンブリ 説明
ArcGIS.Desktop.Catalog.dll プロジェクト コンテンツ アイテム(マップ アイテム、レイアウト アイテム、スタイル アイテム、フォルダー アイテムなど)へのアクセスを提供します。
ArcGIS.Desktop.Core.dll プロジェクトを作成および管理する機能、現在のプロジェクトに関連付けられているイベントへのアクセス、およびジオプロセシング ツールを実行する機能を提供します。
ArcGIS.Desktop.DataReviewer.dll プロジェクトのレビュアーの結果、セッション、およびバッチ ジョブを確立および管理する機能を提供します。
ArcGIS.Desktop.Editing.dll カスタム編集ツールの実装に必要な編集環境とコア編集機能へのアクセスを提供します。
ArcGIS.Desktop.Extensions.dll 他の ArcGIS Pro クラスのエクステンション メソッドを提供します。カスタム マップ ツールの基本クラスを提供します。
ArcGIS.Desktop.Geoprocessing.dll プロジェクトに保存されているジオプロセシングの履歴アイテムへのアクセスを提供します。(注:ジオプロセシング ツールを実行するための ArcGIS.Desktop.Core.dll への参照を追加)
ArcGIS.Desktop.Layouts.dll レイアウト上の要素を操作し、さまざまな画像形式にエクスポートするための機能を提供します。
ArcGIS.Desktop.Mapping.dll マップとレイヤーの作成、フィーチャのラベル付け、クエリ操作の実行、およびそれらを2Dまたは3Dで視覚化するための型を提供します。ラスター レイヤーを作成してラスター レンダリングをカスタマイズするためのラスター API と、スタイル、スタイル アイテム、およびシンボルを管理するための API を提供します。
ArcGIS.Desktop.TaskAssistant.dll タスク フレームワークを提供し、開発者がタスク アイテムにアクセス、開く、閉じる、またはエクスポートできるようにします。
ArcGIS.Desktop.Workflow.dll Workflow Manager Classic のジョブとクエリを作成、構成、および実行する機能を提供します。Workflow Manager Classic のデータベースから構成情報を取得する機能を提供します。
ArcGIS.Desktop.Workflow.Client.dll Workflow Manager のジョブ ID と接続情報を取得する機能を提供します。

パブリック API を持たないエクステンション

{ArcGIS Pro インストール フォルダ}\bin\Extensions サブフォルダには、パブリック API を持たない Extension アセンブリがあります。これらは現在 Esri 内部でのみ使用されています。

  • ArcGIS.Desktop.Analyst3D.dll
  • ArcGIS.Desktop.Aviation.dll
  • ArcGIS.Desktop.Bathymetry.dll
  • ArcGIS.Desktop.BusinessAnalyst.dll
  • ArcGIS.Desktop.CAD.dll
  • ArcGIS.Desktop.Charts.dll
  • ArcGIS.Desktop.DataEngineering.dll
  • ArcGIS.Desktop.DataSourcesRaster.dll
  • ArcGIS.Desktop.Defense.dll
  • ArcGIS.Desktop.DefenseMapping.dll
  • ArcGIS.Desktop.Editing.PushPull.dll
  • ArcGIS.Desktop.FullMotionVideo.dll
  • ArcGIS.Desktop.GAWizard.dll
  • ArcGIS.Desktop.GeoProcessing.BDC.dll
  • ArcGIS.Desktop.GeoProcessing.SAModels.dll
  • ArcGIS.Desktop.Geostatistics.dll
  • ArcGIS.Desktop.Indoors.dll
  • ArcGIS.Desktop.Intelligence.dll
  • ArcGIS.Desktop.Intelligence.Common.dll
  • ArcGIS.Desktop.LocationReferencing.dll
  • ArcGIS.Desktop.Maritime.dll
  • ArcGIS.Desktop.Metadata.dll
  • ArcGIS.Desktop.MotionImagery.dll
  • ArcGIS.Desktop.NeighborhoodExplorer.dll
  • ArcGIS.Desktop.NetworkAnalysis.Facility.dll
  • ArcGIS.Desktop.NetworkAnalysis.NetworkDiagrams.dll
  • ArcGIS.Desktop.NetworkAnalysis.Transportation.dll
  • ArcGIS.Desktop.Search.dll
  • ArcGIS.Desktop.Sharing.dll
  • ArcGIS.Desktop.TerritoryDesign.dll

注: パブリックAPI アセンブリに含まれる静的文字列リソース プロパティおよびイメージ リソースは、Esri 内部での使用のみを目的としています。サードパーティのアドインでの使用は意図していません。

ArcGIS Pro Extensions NuGet

ArcGIS Pro Extensions NuGet には、アドイン や 構成 のコンパイルに必要なすべての Pro API アセンブリが含まれており、従来のファイル ベースの参照に代わり、アドイン や 構成 で ArcGIS Pro アセンブリを参照する方法を提供します。

ArcGIS Pro Extensions の NuGet を使用するには、Visual Studio の NuGet パッケージ管理形式の設定を PackageReference にします。

ProGuide: ArcGIS Pro Extensions NuGet

3.4 での開発者向けの新機能

1. API の機能拡張:

3.4 では、以下のような API の機能拡張を利用することができます:

Knowledge Graph:

  • ナレッジ グラフを編集し、2D マップ、調査、リンク チャートにグラフの内容を含める。
  • リレーション シップ 行を作成するための新しいナレッジ グラフアソシエーション クラス。
  • SchemaBuilder によるナレッジ グラフ スキーマの編集(作成、変更、削除を含む)。
  • 編集中の行イベント サブスクリプション。

3D Analyst:

  • LAS ポイント カーソルの事前割り当て配列による性能向上。
  • TIN と標高ラスターの標高クエリ。
  • サーフェス レイヤー上のラインとポリゴンの補間。

Content:

  • Enterprise ポータルにアップロードされた Pro プロジェクトを開いて保存。 (ベータ版)

Layout:

  • レイアウト内のマップ フレームにグリッド スタイルを適用。

Map Authoring:

  • LayerFactory と BulkLayerCreationParams でレイヤーをマップに一括ロード。
  • SymbolFactory を使用して、ポイント シンボル マーカーを複数の画像形式(png、jpeg、gif、bmp など)や SVG にエクスポートできます。

Geometry:

  • z 値のドロップ、点と距離のクエリ、曲線を扱うための測地法の強化。

Geodatabase:

  • リニア リファレンスのためのルート作成と編集の強化。

API の機能強化の完全なリストは、API リファレンス の [API Changes セクション] で確認できます。

2. SDK リソース

Pro のコンセプト、ガイド、スニペット、サンプルが多数用意されており、SDK の新機能を使いこなすのに役立ちます。SDK リソースの更新内容は以下の通りですが、これらに限定されるものではありません。

ArcGIS Pro SDK for .NET のインストール

ArcGIS Pro SDK for .NET は Visual Studio からダウンロードし、インストールすることができます。インストールできるエクステンションは 2 つに分かれます。

  • ArcGIS Pro SDK for .NET
  • ArcGIS Pro SDK for .NET (Utilities)

** 注: ** 2.x から ArcGIS Pro 3.4 SDK (または 3.0 SDK) への移行は、アップグレードではありません。インストールするには、

  1. ArcGIS Pro 3.4 SDK をインストールする場合、2.x を使用していて 3.x を使用していない場合は、2.x からの移行 を参照してください。
  2. 2.x のアドインを 3.4 に移行する場合、移行ツールをインストールすることで、変換処理を自動化することができます。詳細は移行ガイド ProConcepts: 3.0 移行ガイド および ProGuide:.NET 8 Upgrade を参照してください。

詳しいインストール方法は、ProGuide: インストール を参照してください。

リリースノート

ArcGIS Pro SDK for .NET コンポーネント

次の表は、ダウンロードする SDK の各 .vsix ファイルの機能をまとめたものです:

名称 ファイル 機能
ArcGIS Pro SDK for .NET proapp-sdk-templates.vsix ArcGIS Pro アドインを作成するための、プロジェクトとアイテム テンプレートのコレクション
ArcGIS Pro SDK for .NET (Utilities) proapp-sdk-utilities.vsix ArcGIS Pro アドインの作成に役立つユーティリティのコレクション
ArcGIS Pro SDK for .NET (Migration) proapp-sdk-migration.vsix ArcGIS Pro SDK 2.x のエクステンションを ArcGIS Pro SDK 3.x for .NET に移行

ArcGIS Pro SDK for .NET テンプレート

パッケージ: proapp-sdk-templates.vsix

ArcGIS Pro SDK for .NET は次のプロジェクトとアイテム テンプレートを提供しています:

C# VB 名称
ArcGIS Pro モジュール アドイン プロジェクト テンプレート
ArcGIS Pro 構成管理 プロジェクト テンプレート
N/A ArcGIS Pro Plugin プロジェクト テンプレート
N/A ArcGIS Pro CoreHost アプリケーション プロジェクト テンプレート
N/A ArcGIS AllSource アドイン プロジェクト テンプレート
ArcGIS Pro バックステージ タブ
ArcGIS Pro ボタン
ArcGIS Pro ボタン パレット
ArcGIS Pro コンボ ボックス
ArcGIS Pro 作図ツール
ArcGIS Pro カスタム コントロール
N/A ArcGIS Pro カスタム アイテム
N/A ArcGIS Pro カスタム プロジェクト アイテム
ArcGIS Pro ドッキング ウィンドウ
ArcGIS Pro ドッキング ウィンドウ (ハンバーガー ボタン付き)
ArcGIS Pro ドロップ ハンドラー
ArcGIS Pro 埋め込み可能なコントロール
ArcGIS Pro ギャラリー
ArcGIS Pro インラインギャラリー
N/A ArcGIS Pro レイアウト ツール
N/A ArcGIS Pro レイアウト トレイ ボタン
ArcGIS Pro マップ ウィンドウの偽装
ArcGIS Pro マップ ツール
N/A ArcGIS Pro マップ トレイ ボタン
ArcGIS Pro メニュー
ArcGIS Pro ウィンドウ
ArcGIS Pro プロパティシート
ArcGIS Pro ProWindow
ArcGIS Pro 分割ボタン
N/A ArcGIS Pro Table Construction Tool

一般的に、フレームワークの UI 要素の拡張ポイント(ボタン, ツール, メニュー, ドッキング ウィンドウなど)とアイテム テンプレートの間には 1 対 1 の対応関係があります。 対応する拡張ポイントをアドインに追加するには、関連するアイテム テンプレート を使用します。

ArcGIS Pro SDK for .NET ユーティリティ

パッケージ: proapp-sdk-utilities.vsix

ArcGIS Pro SDK for .NET (Utilities) は、Visual Studio 環境を拡張する次のようなユーティリティ(日本語UI: ArcGIS Pro の参照先を修正、ArcGIS Pro の DAML Id を生成)を提供します。

pro-fix-references

名称 説明
Pro Fix References utility ArcGIS Pro アドイン、コア ホスト、構成管理、またはプラグイン プロジェクトの壊れた参照を修正します。壊れた参照は、アドイン を他の同僚と共有したり、ArcGIS Pro アセンブリ参照がインストールした場所とは異なる場所を指しているアドインをダウンロードした場合に発生することがあります。Pro Fix References は、ソリューション内の個々のプロジェクトまたはすべてのプロジェクトで実行できます。
Pro Generate DAML Ids utility ArcGIS Pro Desktop Application Markup Language(DAML)のすべての文字列 ID を、DAML 要素タイプ(Button、Dockpane、Tool、Condition など)によって整理された静的な文字列プロパティに変換します。これにより、DAML 文字列 ID を手動で入力するのではなく、ソース コード ファイル内の Visual Studio の IntelliSense 機能を使用して ID を追加することができます。

ArcGIS Pro SDK for .NET 移行

パッケージ: proapp-sdk-migration.vsix

pro-migration

ArcGIS Pro SDK for .NET (Migration) は、ArcGIS Pro SDK 2.x エクステンションを ArcGIS Pro SDK 3.x for .NET に移行するためのサポートを提供します。注: アドインを移行すると、config.daml の dekstopVersion 属性が、現在インストールされている ArcGIS Pro のバージョンに設定されます。

過去バージョン

開発リソース

上記の Pro SDK アイコンは、すべて ArcGIS.Desktop.Resources.dll の XAML リソースとして利用できます。アドインの Config.daml で、ArcGIS.Desktop.Resources.dll から Pro SDK アイコンを直接参照し、Pro リボンのコントロールのイメージとして使用することができます。以下のコード スニペットは、アドインの config.daml で使用される構文です。注:「BexDog32」は、上記の Pro SDK アイコン画像に記載されている画像名のいずれかと置き換えることができます。

<button...smallImage="BexDog16" largeImage="BexDog32"/>

また、WPF のコードビハインドで ImageSource としてこれらのリソースにアクセスすることができます。以下のコードでは、BexDog32 Pro SDK のアイコンが、ビューモデルのImageSource プロパティの戻り値の ImageSource としてアクセスされていることが示されています。注:「BexDog32」は、上記のアイコン画像に記載されている画像名のいずれかに置き換えることができます。

  public ImageSource SomeCustomProperty {
    get {
       return Application.Current.Resources["BexDog32"] as ImageSource;
    ...
⚠️ **GitHub.com Fallback** ⚠️