方法

ArcPy を使用してレイヤーのデータ ソースをジオデータベースの参照から ArcGIS Pro の ArcGIS Server Service URL に変更する

Last Published: October 1, 2025

サマリー

プロジェクト内のレイヤーのデータ ソースは、コンピューター上のジオデータベースの物理的な場所からフィーチャクラスを参照します。 データセットが ArcGIS Server サービスまたは ArcGIS Online サービスとして公開されている場合、データセットは URL を参照することもできます。 ArcPy モジュールでは、データ ソースは、以下に示すように、'connectionProperties' ディクショナリで表されます。

ジオデータベースの場合

{'connection_info': {'database': 'E:\\ArcGIS\\Project\\Database.gdb'}, 'dataset': 'layerXYZ', 'workspace_factory': 'File Geodatabase'}

ArcGIS Server サービスの場合

{'connection_info': {'url': 'http://sampleserver6.arcgisonline.com/arcgis/rest/services/911CallsHotspot/MapServer'}, 'dataset': '1', 'workspace_factory': 'FeatureService'}

手順

'connectionProperties' ディクショナリを使用するには、ArcPy モジュールおよび 'pprint' モジュールをインポートします。

以下の手順では、レイヤーのデータ ソースをジオデータベースの参照からサービス URL に変更する方法について説明します。

  1. 必要なモジュールをインポートします。
ArcPy、pprint のインポート
  1. プロジェクトの詳細を指定します。
aprx=arcpy.mp.ArcGISProject('current') map=aprx.listMaps()[0] l=map.listLayers()[0]
  1. connectionProperties ディクショナリを呼び出します。
pprint.pprint(l.connectionProperties)
  1. 現在のデータ ソース (ジオデータベース) のディクショナリを指定します。
Find_dic = {'connection_info':{'database': 'C:\\arcgis\\TEST\\Editing\\Test.gdb'},'dataset': 'Springs','workspace_factory': 'File Geodatabase'}
  1. サービス URL のディクショナリを指定します。
replace_dic = {'connection_info':{'url':r'https://services.arcgis.com/Wl7Y1m92PbjtJs5n/arcgis/rest/services/None/FeatureServer'},'dataset': '0','workspace_factory': 'FeatureService'}
  1. updateConnectionProperties() 関数を呼び出してデータ ソースを更新し、プロジェクト ファイルを保存します。
l.updateConnectionProperties(Find_dic,replace_dic,True,False,False) aprx.save()

以下に、完全なスクリプトを示します。

import arcpy, pprint aprx=arcpy.mp.ArcGISProject('current') map=aprx.listMaps()[0] l=map.listLayers()[0] pprint.pprint(l.connectionProperties) Find_dic = {'connection_info':{'database': 'C:\\arcgis\\TEST\\Editing\\Test.gdb'},'dataset': 'Springs','workspace_factory': 'File Geodatabase'} replace_dic = {'connection_info':{'url':r'https://services.arcgis.com/Wl7Y1m92PbjtJs5n/arcgis/rest/services/None/FeatureServer'},'dataset': '0','workspace_factory': 'FeatureService'} l.updateConnectionProperties(Find_dic,replace_dic,True,False,False) aprx.save()

connectionProperties ディクショナリがサービス URL を更新することもできます。 以下の手順は、その実行方法を説明しています。

  1. 上記のセクションのステップ 1 ~ 3 を実行します。
  2. ディクショナリを格納するパラメーターを定義します。
conProp = l.connectionProperties
  1. URL を更新します。
conProp['connection_info']['url'] = r'https://sampleserver6.arcgisonline.com/arcgis/rest/services/EmergencyFacilities/FeatureServer'
  1. updateConnectionProperties() 関数を呼び出してデータ ソースを更新し、プロジェクト ファイルを保存します。
l.updateConnectionProperties(l.connectionProperties,conProp) aprx.save()

以下に、完全なスクリプトを示します。

import arcpy, pprint p = arcpy.mp.ArcGISProject(r'C:\Projects\YosemiteNP\Yosemite.aprx') m = p.listMaps()[0] l = m.listLayers()[0] pprint.pprint(l.connectionProperties) conProp = l.connectionProperties conProp['connection_info']['url'] = r'https://sampleserver6.arcgisonline.com/arcgis/rest/services/EmergencyFacilities/FeatureServer' l.updateConnectionProperties(l.connectionProperties,conProp) aprx.save()

記事 ID: 000021613

AI によるサポートを受ける

Esri サポート AI チャットボットを使用して問題を迅速に解決します。

今すぐチャットを開始

関連情報

このトピックについてさらに調べる

ArcGIS エキスパートのサポートを受ける

テクニカル サポートへのお問い合わせ

今すぐチャットを開始

ダウンロード オプションに移動