C# 在gdal_retile.py中更改以设置自己的比例
我使用C# 在gdal_retile.py中更改以设置自己的比例,c#,python,gdal,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/MetersPerInc
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,…]
有人能帮我修改脚本吗?我不关心语言(它可以在Python
或C#
中完成)
提前感谢您提供的任何解决方案 好的,我做到了
这是源代码(也许将来会有人需要它-小心,因为我在370
、432
和433
行中做了更改-如果您想将更改还原为原始更改,只需将\u scaleFactor
变量替换为2
,并删除所有\u scaleFactor
计算):