スクリプトを使用gdal_retile.py
してラスターをタイルにカットします(に書き換えられC#
ます)。すべて正常に動作しますが、スクリプトを少し異なる方法で動作させたいと思います。私が欲しいのは、最初のレベルのスケールを変更することです。次のパターンを使用して計算する必要があります。
private const double MetersPerInch = 0.0254;
private const double DPI = 96;
private double GetScale(int meters, int pixels)
{
return meters/pixels/MetersPerInch*DPI;
}
例えば。
サイズのラスターを取得し、4k x 4k px
それがである場合、次のようになります100 km
。
scale = 100000 / 4000 / 0.0254 * 96 = ~94488
次に、カウントよりも高い、2の累乗である最初のスケールを見つける必要があります。この場合は1:131072
です。そして、それを最初のレベルのスケールとして設定する必要があります。次のレベルのスケールは2の累乗である必要があります[1:262144, 1:524288, 1:1048576, ...]
。
any1はスクリプトの変更に役立ちますか?私は言語を気にしません(Python
またはで行うことができますC#
)。
解決策を事前に感謝します!