スクリプトを使用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#)。
解決策を事前に感謝します!