静的ヒートマップをサーバー側で生成しますか?


8

私は、Python(または他の言語でも構いません)を使用してサーバー側の静的マップを生成する方法を探していました。

QGISを使用して必要なマップを作成できます(そして、それらは非常に美しく見えます)が、プロセスを自動化する方法がわかりません。

私が欲しいのは

  • QGISでマップスタイルを作成し、それをある種のXMLにエクスポートします(quantumnikというプラグインがありますが、これはもう使用できないと思います)

  • PythonスクリプトでPostGISに対してクエリを実行する

  • 上記で定義したクエリとスタイルXMLから返されたデータセットを使用して、シェープファイルまたはPNGのみを作成します。
  • 異なるデータセットを使用して、プロセス全体を毎晩繰り返します。

私はMapnikをいじってみましたが、ヒートマップの生成にまだ成功していません(https://github.com/stellaeof/mapnik-rasterizers

QGISサーバー、GeoServer、MapServerについて読みました。しかし、私は周りにたくさんのツールがあるので混乱しています。

  1. Mapnikは正しい方向に進んでいますか、それともそのようなプロセスに適したツールはありますか?

  2. または、サーバー上でQGISをプログラムで使用する方法はありますか?

編集:

多くのことを試した後、GeoServerを使用することにしました。私は、ドッキングウィンドウコンテナの画像を使用して使用して、それをインストールしている:https://github.com/kartoza/docker-geoserver それはPNG、GIF、JPEGを生成することができ、また、かなり簡単にLeafletjsと統合することができWMSレイヤを提供することができます。

唯一の問題は、最初にQGISでマップを設計してから、「Geoserver Explorer」プラグインを使用してそれらをGeoServerにエクスポートしようとしていますが、ラベルやその他のいくつかの機能ではうまく機能しません。QGISでSLDを生成する簡単な方法はないと思います。SLD構成をGeoServerにエクスポートした後、手動で修正し続けます。しかし、これは私が推測する最良の解決策です。

QGISとGeoServerまたはその他のSLDエディターを統合するためのより良いプラグインまたは方法を提案できれば、それでもすばらしいでしょう。


痛みを伴う個人的な経験から、私はあなたが説明する正確なプロセス(QGISでSLDを作成し、ジオサーバーに適合するように手動で変更する)をほぼ毎週使用しています。ジオサーバー上のスクリプトを通じて修正の一部を自動化することに成功しましたが、理想的ではありません。
Phil G

SLDEditor github.com/robward-scisys/sldeditor/wiki/userguideが存在するか、QGISとGeoServerの両方が、問題がある場合は問題を修正するために寄付または現金を受け入れます
Ian Turton

回答:


1

はい、それは複雑であり、その過程の一部には多くの可動部分があるためです。PythonとMapnikを使用して同様のことを行いました。以下はステップバイステップの手順です:

1)Pythonスクリプトがサーバーからデータをダウンロードします(この場合、散在する気象観測所のデータ)。2)bashスクリプトは、データを補間してGeoTIFFファイルを書き込むgdal_gridを実行します。3)定義済みのmapnikスタイルファイルとGeoTIFFを使用して、bashスクリプトでgenerate_tiles.pyを実行し、すべてのタイルを作成します。4)OpenLayers + TMSレイヤーを使用するWebアプリは、これらのタイルを使用します。

それが役に立てば幸い。乾杯

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.