0

我使用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 px100 km那么:
scale = 100000 / 4000 / 0.0254 * 96 = ~94488
现在我需要找到第一个比计数高的比例,它是 2 的幂。在这种情况下,它是1:131072。我应该将它设置为我的第一级规模。下一级的规模应该是 2 的幂:[1:262144, 1:524288, 1:1048576, ...]

any1 可以帮我修改脚本吗?我不在乎语言(可以用Pythonor完成C#)。

提前感谢任何解决方案!

4

1 回答 1

0

好的,我做到了!

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

于 2012-09-24T14:54:20.277 回答