![見出し画像](https://assets.st-note.com/production/uploads/images/173799720/rectangle_large_type_2_273e5510a7006c50385df7293a780049.png?width=1200)
衛星データと農地ポリゴンデータ、地図データを重ねてアプリに自動アップロードする件
はじめに
以下で、衛星データを自動でダウンロードするスクリプトを作成した。
今回はこちらを使って自動でダウンロードして、QGISで地図データなどを重ね合わせてシステムにアップロードする処理について紹介しよう。なお、有料ソフトは一切利用しない。低コストで実施したい人はぜひこの方法で!!
以下のシステムにアップします!!
まずは衛星データをダウンロードしてローカルに保存
環境はCentOS7。サポートが切れるので、Ubuntuなどでもよい。(もちろんWindowsでも)
前回の説明のスクリプトをサーバーで実行する。これでローカルにZIPファイルが作成される。なるべくはっきりとした写真が良いので、雲カバー率は10%と厳しめにした。
python3 -u python.py >> log.txt &
ZIPを解凍してカラー画像を抜き出す。
以下の TCI と書かれたファイルとなる。
S2C_MSIL1C_20250208T013851_N0511_R117_T53SNU_20250208T033201.SAFE
→GRANULE
→L1C_T53SNU_A002232_20250208T013951
→IMG_DATA
→R10m
→T53SNU_20250208T013851_TCI.jp2
QGISで地図データ、農地ポリゴンデータを重ね合わせる
あらかじめ、地図データ、農地ポリゴンデータを取り込んだQGISプロジェクトを作成しておく。わかりやすいために衛星画像も貼り付けているが、実際はこのファイルは追加しない状態で保存する(T53で始まるファイル)
![](https://assets.st-note.com/img/1739080864-U4QI9JbwEWTZlf5gNPYi27BL.png?width=1200)
上記の赤枠が、道路や線路情報の情報。こちらは以下のサイトから自分の場所にあったデータをダウンロードする。
ダウンロードしたデータを上記プロジェクトに追加して、必要なエリアを画像ファイルとして保存する。QGISは起動後に、pythonを自動実行でき、その中でAPIをコールして実現する。その際、左上に取得日時を追加しておけば、アプリケーションで利用する際に便利。
また、画像に出力する範囲は経度、緯度で指定してプロジェクトに保存しておけば、APIでは出力処理だけの呼び出しで済む。
![](https://assets.st-note.com/img/1739086401-g2NphTeCMiPYWw4RAHmdKUoL.png?width=1200)
![](https://assets.st-note.com/img/1739086486-MvxUjW9ORGJitHyc80ZuqzXB.png?width=1200)
出来た画像ファイルをシステムにアップロード
最後に、画像データをシステムにアップロードすれば完成!!
筆者の環境では、Webサーバー上でQGISを実行しているので、そのままWebアプリケーションのフォルダにアップ後、DBの情報を上書きすることで対応した。
![](https://assets.st-note.com/img/1739082065-bWTpYh5Pi6dF910RZG4mxvMn.png?width=1200)
毎日、最新データがあるかチェックして、有ればアプリケーションに自動反映が自動でできた!!
衛星データは色々な種類があるので応用が利きそう。
ちなみにQGISの起動時の引数で --code を使えば、起動後にpythonの自動実行が可能。
全体的な制御はシャルスクリプトでChatGPTなどに聞けば簡単に作成できるがQGISのAPI周りが難しいかもしれないので、ソースを参考に乗せておく。
2年程前につくったが、今ならAIに聞いたらすぐできるかもしれないが苦労したので有料で。
ここから先は
¥ 1,000
この記事が気に入ったらチップで応援してみませんか?