方法
ArcGIS API for Python の export() 関数を使用し、マークアップ レイヤー (フィーチャ コレクション レイヤー) を直接エクスポートできません。この関数はフィーチャ サービス、ベクター タイル サービス、シーン サービス レイヤーのエクスポートにしか対応していません。 マークアップレイヤーをエクスポートするには、extract_data() 関数を使用してデータをファイル ジオデータベースに抽出し、ファイルをローカルでダウンロードする方法もあります。
以下の方法では、ArcGIS API for Python を使用して、マークアップ レイヤー データをファイル ジオデータベースに抽出する方法を説明します。
import traceback from arcgis.gis import GIS, Group from arcgis.features.analysis import extract_data
注意: Esri では、データ抽出に失敗した場合に対処するため、「try...except」論理ステートメント ブロックで次のステップを実行することを推奨しています。
# ArcGIS Online の場合 gis = GIS("https://www.arcgis.com", username="Username", password="password") # Portal for ArcGIS の場合 gis = GIS("https://<gisserver>.<domain>.com/portal", "Username", "Password") print(gis.users.me.role) gID = gis.groups.search('title: "Group_Name"')[0].id grp = Group(gis, gID) print(grp.userMembership['memberType']) content = grp.content()
for item in content: if "Markup" in item.title: if item.owner == 'owner': markup = item Extract_GDB = extract_data(markup.layers, data_format='FileGeodatabase', output_name="Mark_up") Extract_GDB.download(r'<folder_location>') break print("Exported successfully")
以下に、「try...except」論理ステートメント ブロックを含む完全なコードを示します。
import traceback from arcgis.gis import GIS, Group from arcgis.features.analysis import extract_data try: gis = GIS("https://www.arcgis.com", username="Username", password="password") print(gis.users.me.role) gID = gis.groups.search('title: "Group_Name"')[0].id grp = Group(gis, gID) print(grp.userMembership['memberType']) content = grp.content() for item in content: if "Markup" in item.title: if item.owner == 'owner': markup = item Extract_GDB = extract_data(markup.layers, data_format='FileGeodatabase', output_name="Mark_up") Extract_GDB.download(r'D:\Users\user\Downloads') break print("Exported successfully") except: print(traceback.format_exc())
記事 ID: 000024668
ArcGIS エキスパートのサポートを受ける
今すぐチャットを開始