gdal_retile.py中的更改以设置自己的比例

时间:2012-09-21 09:43:03

标签: c# python gdal

我使用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可以帮我修改脚本吗?我不关心语言(可以在PythonC#中完成。)

提前感谢任何解决方案!

1 个答案:

答案 0 :(得分:0)

好的,我做到了!

这是源代码(也许有些人将来需要它 - 请小心,因为我在行370432433中进行了更改 - 如果你想恢复我的更改为原始版本,只需按_scaleFactor替换2变量并删除所有_scaleFactor计算):http://pastebin.com/0qUCVk9J