Home - kataya/arcgis-pro-sdk GitHub Wiki
ArcGIS Pro SDK for .NET を使用して ArcGIS Pro を拡張します。ArcGIS Pro SDK for .NET は、アドインおよび構成によるの拡張性パターンに基づいています。 タスク非同期プログラミング(TAP)、LINQ、WPF バインディング、MVVM などの最新の .NET 機能とパターンを活用して、Pro の新しい API を使用して統合された 2D/3D アドインを作成できます。
In this topic
- ArcGIS Pro 2.7 SDK for .NET
- Requirements
- ArcGIS Pro SDK for .NET のインストール
- ArcGIS Pro SDK for .NET components
- Getting started
- ProSnippets
- ArcGIS Pro API
- Release notes
- Previous versions
- Resources
ArcGIS Pro のアドインを開発するマシンの要件は次の通りです。
.NET Framework 4.8:
- ArcGIS Pro 2.5 のリリースから, 最小の .NET ターゲットは 4.8 になりました。これはお客さまやあなたのアドインにとって、何を意味するのでしょうか?
- すでにデプロイされている既存のアドインは、2.7 でも前方互換性を変更することなく動作します。
- 2.7 で作成された新しいアドインは、ターゲット フレームワークの最小値を 4.8 に設定していないと、コンパイルできません(これはPro SDK のデフォルト設定です)。
- 既存のアドインを 2.7 で再コンパイルする場合(コード変更が行われた場合など)、ターゲット フレームワークの最小値を 4.8 に設定していないと、コンパイルできません。
.NET Framework 4.6.1 で開発したアドインを 4.8 に移行する場合、 How To: Convert a version 2.0 to 2.4 ArcGIS Pro SDK add-in solution to Pro 2.5 and later versions のテクニカル サポート記事を参照してください。
- ArcGIS Pro 2.7
- Windows 10 (Home, Pro, Enterprise) (64 bit)
- Windows 8.1 (Pro, and Enterprise) (64 bit)
- Microsoft .NET Framework 4.8 Developer Pack
- Visual Studio 2019 (Professional, Enterprise, and Community Editions)
- Visual Studio 2017 (Professional, Enterprise, and Community Editions)
Newtonsoft Json
- ArcGIS Pro 2.7 では、Newtonsoft Json NuGet のバージョン 12.0.1 を使用しています。アドイン で Newtonsoft NuGet が必要な場合は、同じバージョンの Newtonsoft Json を使うことを推奨します。
CefSharp
- ArcGIS Pro 2.7 では、CefSharp のバージョン 81.3.100 を使用しています。Pro では、CefSharp.dll, CefSharp.Core.dll, CefSharp.Wpf.dll を、"C:\Program Files\ArcGIS\Pro\bin\cef" のインストール先に配置しています。CefSharp ChromiumWebBrowser コントロールを使用するには、ChromiumWebBrowser をご参照ください。
詳細は次の How To: Fix compiler error(s) using CefSharp and the ArcGIS Pro SDK ChromiumWebBrowser Control in an add-in のテクニカル ドキュメントをご参照ください。
注: ArcGIS Pro system requirements
ArcGIS Pro SDK for .NET は、以下のいずれかのオプションを使用してダウンロードし、インストールすることができます:
詳細なインストール方法は、ProGuide: Installation and Upgrade (_ja) をご参照ください。
次の表は、ダウンロードする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 アドインの作成に役立つユーティリティ のコレクション |
パッケージ: proapp-sdk-templates.vsix
ArcGIS Pro SDK for .NET は次のプロジェクト とアイテム テンプレート を提供しています:
C# | VB | Name |
---|---|---|
ArcGIS Pro Module Add-in Project template | ||
ArcGIS Pro Managed Configurations Project template | ||
N/A | ArcGIS Pro Plugin Project template | |
N/A | ArcGIS Pro CoreHost Application Project template | |
ArcGIS Pro Backstage Tab | ||
ArcGIS Pro Button | ||
ArcGIS Pro Button Palette | ||
ArcGIS Pro Combo Box | ||
ArcGIS Pro Construction Tool | ||
ArcGIS Pro Custom Control | ||
N/A | ArcGIS Pro Custom Item | |
N/A | ArcGIS Pro Custom Project Item | |
ArcGIS Pro Dockpane | ||
ArcGIS Pro Dockpane with Burger Button | ||
ArcGIS Pro Drop Handler | ||
ArcGIS Pro Embeddable Control | ||
ArcGIS Pro Gallery | ||
ArcGIS Pro Inline-Gallery | ||
ArcGIS Pro Map Pane Impersonation | ||
ArcGIS Pro Map Tool | ||
ArcGIS Pro Menu | ||
ArcGIS Pro Pane | ||
ArcGIS Pro Property Sheet | ||
ArcGIS Pro ProWindow | ||
ArcGIS Pro Split Button |
一般的に、フレームワークのUI 要素の拡張ポイント(button, tool, menu, dockpane など)とアイテム テンプレートの間には 1 対 1 の対応関係があります。 対応する拡張ポイントをアドイン に追加するには、関連するアイテム テンプレート を使用します。
注:さらに詳しい説明がある以下のアイテム テンプレート は、便利かもしれません。
ArcGIS Pro Framework では、2 つの仮想関数によるドラッグ & ドロップがサポートされています。それは、OnDragOver と OnDrop です。これらのメソッドの基本的な実装をアドイン に追加し、custom pane や dockpane でドラッグ & ドロップの機能をサポートを開始するのに、Drop Handler テンプレート を使用して下さい。
Excel Drop Handler sample
ポップアップ などの UI をカスタム マップツール に追加するには、Embeddable Control テンプレートを使用して下さい。マップツール をアクティブにすると、もし存在する場合、関連したembeddable control がアクティブなマップ ビュー上に表示されます。マップツール が非アクティブになると、embeddable control は非表示になります。
ProGuide: Using Embeddable Controls
Basic Map Tool sample
Map Tool with OverlayControl Sample
マップ TOC コンテンツ コントロール (カスタム コンテンツ コントロールではなく) を "使用" したい場合は、マップ ペインを "偽装" する必要があります。
マップ ペイン の偽装でカスタム ペイン を実装するのに必要なコードを生成するには、このテンプレート を実行します。
ProGuide: Map Pane Impersonation
ImpersonateMapPane Sample
パッケージ: proapp-sdk-utilities.vsix
ArcGIS Pro SDK for .NET (Utilities) は、Visual Studio 環境を拡張する次のようなユーティリティ(日本語UI: ArcGIS Pro の参照先を修正、ArcGIS Pro のDAML Idを生成)を提供します。
名称 | 説明 |
---|---|
Pro Fix References utility | ArcGIS Pro アドイン の壊れた参照を修正します。壊れた参照は、アドイン を他の同僚と共有したり、ArcGIS Pro アセンブリ参照 がインストールした場所とは異なる場所を指しているアドイン をダウンロードした場合に発生することがあります。 |
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 のリボンに表示されるボタンの作成方法は、ProGuide: Build your first add-in (_ja) をご参照ください。
ProSnippets はArcGIS Pro アドインにすばやく挿入できるコード スニペットです。利用可能なスニペットの一覧はList of available ProSnippets にあります。
ArcGIS Pro API はマネージド .NET アセンブリです。.NET メタデータまたは PIA (Primary Interop Assemblies) を含む中間アセンブリは必要ありません。
API を構成する ArcGIS Pro マネージド アセンブリを、Visual Studio アドイン プロジェクトで直接参照として追加します。
パブリックAPI に含まれる ArcGIS Pro アセンブリ の完全なリストを以下に示します。各アセンブリの具体的な詳細については、オンラインの API Reference を参照してください。
Core アセンブリは {ArcGIS Pro インストールフォルダ}\bin にあります。
Assembly | Description |
---|---|
ArcGIS.Core.dll | Provides CIM, Geodatabase, Geometry and Utility Network APIs. |
ArcGIS.CoreHost.dll | Provides Host.Initialize to initialize ArcGIS.Core.dll for stand-alone use. |
ArcGIS.Desktop.Framework.dll | Provides the application framework to include add-in contracts, DAML support, and base classes. This assembly must be referenced by every add-in. |
ESRI.ArcGIS.ItemIndex.dll | Provides functionality to create and work with Custom items. |
ArcGIS Pro 内の主要なサブシステムは、エクステンションと呼ばれる単位で構成されています。Extension アセンブリは、{ArcGIS Pro インストールフォルダ}\bin\Extensions フォルダ内の個々のサブフォルダにあります。 Extension サブフォルダは、例えば、Mapping, Editing, Layout などのように、それらが表す機能単位に合わせて論理的に命名されています。
Assembly | Description |
---|---|
ArcGIS.Desktop.Catalog.dll | Provides access to project content items (map items, layout items, style items, folder items, and so on). |
ArcGIS.Desktop.Core.dll | Provides functionality to create and manage projects, access to events associated with the current project, and the ability to execute geoprocessing tools. |
ArcGIS.Desktop.DataReviewer.dll | Provides functionality to establish and manage Reviewer results, sessions, and batch jobs in a project. |
ArcGIS.Desktop.Editing.dll | Provides access to the editing environment and core editing functionality required for custom edit tool implementations. |
ArcGIS.Desktop.Extensions.dll | Provides extension methods for other ArcGIS Pro classes. Provides a base class for custom map tools. |
ArcGIS.Desktop.Geoprocessing.dll | Provides access to geoprocessing history items stored in the project. (Note: Adds a reference to ArcGIS.Desktop.Core.dll to execute geoprocessing tools.) |
ArcGIS.Desktop.Layouts.dll | Provides functionality for manipulating elements on a layout and exporting to a variety of image formats. |
ArcGIS.Desktop.Mapping.dll | Provides types to create maps and layers, label features, perform query operations, and visualize them in 2D or 3D. Provides a raster API to create raster layers and customize raster rendering, and an API to manage styles, style items, and symbols. |
ArcGIS.Desktop.TaskAssistant.dll | Provides the Tasks framework, allowing developers to access, open, close, or export task items. |
ArcGIS.Desktop.Workflow.dll | Provides functionality to create, configure, and execute Workflow Manager jobs and queries. Provides functionality to retrieve configuration information from the Workflow Manager database. |
{ArcGIS Pro インストールフォルダ}\bin\Extensions サブフォルダには、パブリックAPI を持たないExtension アセンブリがあります。これらは現在 Esri 内部でのみ使用されています。
- ArcGIS.Desktop.Analyst3D.dll
- ArcGIS.Desktop.Aviation.dll
- ArcGIS.Desktop.BusinessAnalyst.dll
- ArcGIS.Desktop.Charts.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.SAModels.dll
- ArcGIS.Desktop.Geostatistics.dll
- ArcGIS.Desktop.Indoors.dll
- ArcGIS.Desktop.Intelligence.dll
- ArcGIS.Desktop.Intelligence.Configuration.dll
- ArcGIS.Desktop.KnowledgeGraph.dll
- ArcGIS.Desktop.LocationReferencing.dll
- ArcGIS.Desktop.Maritime.dll
- ArcGIS.Desktop.Metadata.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
- ArcGIS.Desktop.Workflow.Client.dll
注: パブリックAPI アセンブリに含まれる静的文字列リソース プロパティおよびイメージ リソースは、Esri 内部での使用のみを目的としています。サードパーティのアドインでの使用は意図していません。
ArcGIS Pro Extensions NuGet には、アドイン や 構成 のコンパイルに必要なすべての Pro API アセンブリが含まれており、従来のファイル ベースの参照に代わり、アドイン や 構成 で ArcGIS Pro アセンブリを参照する方法を提供します。
ArcGIS Pro Extensions NuGet は、次の環境のみで動作します:
- Visual Studio 2017 update 8 以上 (Professional, Enterprise, Community Editions)
- Visual StudioでのNuGet パッケージ管理形式は
PackageReference
でなければなりません。 - Pro 2.5 の時点では、.Net のターゲット フレームワークは 4.8 に設定する必要があります。これは、2.5 より前のアドイン プロジェクトにNuget を追加する場合に重要です。
ProGuide: ArcGIS Pro Extensions NuGet
これらのリリース ノートには、ArcGIS Pro 2.7 SDK for .NET リリースの詳細が記載されています。ここでは、利用可能な機能、既知の問題および制限事項について説明します。
ArcGIS Pro 2.7 SDK for .NET リリースでは、以下の機能が利用できます。:
Editing
- New sketch events are available: sketch modified, vertex events, and undo/redo.
Geodatabase
- New Topology API and a DDL pre-release API are available.
Layout
- Various enhancements including view-page transformations and bulk element creation.
GraphicsLayer
- Bulk element creation
Map Authoring:
- New Device location API for GPS/GNSS data collection. Symbol Picker and Searcher user controls.
Map Exploration:
- New Reports API enhancements for report editing and management.
Parcel Fabric:
- Now in full release at 2.7, developers can build record-driven workflows.
3D Layers :
- New Voxel layer API to create and manage voxel layer slices, sections, isosurfaces, voxel layer lighting and rendering.
Geometry:
- Geometry engine enhancements.
.NET Framework 4.8:
- ArcGIS Pro 2.5 のリリースから, 最小の .NET ターゲットは 4.8 になりました。これはお客様やあなたのアドインにとって、何を意味するのでしょうか?
- すでにデプロイされている既存のアドイン は、2.7 でも前方互換性を変更することなく動作します。
- 2.7 で作成された新しいアドインは、ターゲット フレームワークの最小値を 4.8 に設定していないとコンパイルできません(これは Pro SDK のデフォルト設定です)。
- 既存のアドインを 2.7 で再コンパイルする場合(コード変更が行われた場合など)、ターゲット フレームワークの最小値を 4.8 に設定していないと、コンパイルできません。
詳細は次の How To: Convert a version 2.0 to 2.4 ArcGIS Pro SDK add-in solution to Pro 2.5 and later versions をご参照ください。
ArcGIS Pro API の変更点の詳細については What's new for developers at 2.7 の ArcGIS Pro API Reference Guide トピックスをご参照ください。
新しいSDK の機能を利用する助けになる多くの ProConcepts, ProGuide, ProSnippets, と samples があります:
SDK リソース のアップデート には、以下のものが含まれますが、これらに限定されるものではありません:
- ProConcepts: Framework
- ProConcepts: Distributing Add-Ins Online
- ProConcepts: Asynchronous Programming in ArcGIS Pro
- ProSnippets: GraphicsLayers
- ProConcepts GraphicsLayers
- ProConcepts: Editing
- ProConcepts: Map Authoring
- ProConcepts: Reports
- The Pro Community Samples and Snippets have new samples and snippets.
- The API Changes section of the What’s New for Developers 2.7 page.
- ArcGIS Pro 2.6 SDK for .NET
- ArcGIS Pro 2.5 SDK for .NET
- ArcGIS Pro 2.4 SDK for .NET
- ArcGIS Pro 2.3 SDK for .NET
- ArcGIS Pro 2.2 SDK for .NET
- ArcGIS Pro 2.1 SDK for .NET
- ArcGIS Pro 2.0 SDK for .NET
- ArcGIS Pro 1.4 SDK for .NET
- ArcGIS Pro 1.3 SDK for .NET
- ArcGIS Pro 1.2 SDK for .NET
- ArcGIS Pro 1.1 SDK for .NET
- API Reference online
- ArcGIS Pro SDK for .NET (pro.arcgis.com)
- arcgis-pro-sdk-community-samples
- ArcGIS Pro DAML ID Reference
- FAQ
- ArcGIS Pro SDK icons
Pro SDK Icons は、Pro リボン上のコントロールのイメージとして使用できます。以下のコードスニペットは、アドインのconfig.damlで使用するパックのURIを提供しています。
<button...largeImage="pack://application:,,,/ArcGIS.Desktop.Resources;component/Images/<ImageNameHere>"/>