多くのシェープファイルからサムネイル画像を生成するにはどうすればよいですか?


9

同僚と私は最近、Mapotecaと呼ばれるオープンソースプロジェクトをリリースしました。これは、GDAL / FWToolsインストールと統合して、空間データを探し、範囲、ジオメトリ、要素数、投影を抽出するディレクトリの完全なウォークスルーを可能にするPythonスクリプトのセットです。ユーザーがそれをcsvファイルに書き込む。関連するDBFファイルを説明する部分に取り組んでおり、各シェープファイルのサムネイル画像を生成したいと思っています。Pythonを使用してjpegまたはpngでこれらのサムネイルを生成する方法を知っていますか?

回答:




2

最も簡単な方法は、subprocess.call()を使用してgdal_rasterizeを呼び出すことですが、データから直接サムネイルサイズの画像を生成した場合は、補間が行われないため、判読不能なポイントにエイリアスが発生すると思われます。したがって、「適度なサイズ」*の一時イメージを生成し、Pythonイメージライブラリを使用して、それを必要なサイズにスケーリングする必要があります。

しかし、最大の問題は、どのスタイルに基づいてスタイルを設定するかだと思いますか?シェープファイルには、ご存知のとおり、固有の表示情報がないため、使用する色を決定する方法を見つける必要があります。gdal_rasterizeはこれを行う機能を提供しますが、選択は通常ドメイン固有の知識に基づいています。一般的なツールを使用するには、一般的なスタイルスキームが必要になります。

*これも、ハードコーディングされたルールをいくつか作成する必要がある場合があります。おそらく、理想的なピクセルサイズ(たとえば、1ピクセルあたり10m)から始め、結果の画像が大きすぎて実用的でない場合は、サイズを大きくします。



1

完全を期すために-mapserverは、コマンドラインでshp2imgユーティリティを使用して、一連の基本データから見栄えの良いマップをレンダリングすることもできます。この場合も、目的に合った非常に一般的で非常にシンプルなスタイルを決定する必要があります。


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