ArcGISマップからデータをスクレイピングしたい。次のマップには、赤い機能をクリックするとポップアップが表示されます。プログラムでそのデータにアクセスするにはどうすればよいですか?
リンク: https://cslt.maps.arcgis.com/apps/MapSeries/index.html?appid=2c9f3e737cbf4f6faf2eb956fa26cdc5
注:アクセスするArcGIS Onlineアイテムのアクセスを尊重し、制約を使用してください。疑わしい場合は、他人のデータのコピーを保存しないでください。
ArcGIS Online REST interface を使用すると、ArcGISOnlineアイテムの背後にあるデータを比較的簡単に取得できます。HTTPリクエストを作成してJSONテキストを解析できる環境を使用する必要があります。現在のほとんどのプログラミング言語には、これらの機能が組み込まれているか、これらの機能で使用できるライブラリがあります。
コードが従うことができる一般的なワークフローは次のとおりです。
アプリIDと アイテムデータエンドポイント を使用して、アプリのJSONテキストを表示します。
https://www.arcgis.com/sharing/rest/content/items/2c9f3e737cbf4f6faf2eb956fa26cdc5/data
そのテキストでwebmap
を検索し、アプリが次のWebマップを使用していることを確認します。
d2b4a98c39fd4587b99ac0878c420125
7b1af1752c3a430184fbf7a530b5ec65
c6e9d07e4c2749e4bfe23999778a3153
これらのWebマップのいずれかについて、アイテムデータエンドポイントを確認します。
https://www.arcgis.com/sharing/rest/content/items/d2b4a98c39fd4587b99ac0878c420125/data
operationalLayers
のリストは、データを収集できるフィーチャレイヤーのURLを指定します。例えば:
https://services2.arcgis.com/gWRYLIS16mKUskSO/arcgis/rest/services/VHR_Areas/FeatureServer/
次に、where
の0=0
(または必要なもの)とoutFields
の*
を指定して query を実行します。
人間が読める形式のリクエストフォームと結果を表示する場合は、代わりにf=html
を使用してください。
機能サービスには、リクエストごとに取得できる機能の数に制限があるため、ジオメトリまたは属性値でフィルタリングすることをお勧めします。 ドキュメントを読む 機能サービスクエリで実行できるすべてのことを学びます。