gpt4 book ai didi

c# - GDAL C# ReadAsArray 格式

转载 作者:行者123 更新时间:2023-11-30 20:13:52 30 4
gpt4 key购买 nike

我正在使用 GDAL API 读取光栅文件...我在某些地方发现 python 版本有 ReadAsArray,我假设这将光栅文件的数据作为二维数组,C# 是否有类似的选项,或者至少你能告诉我怎么做吗?非常感谢!

最佳答案

没有 ReadAsArray 的等价物在 C# 绑定(bind)到 GDAL 中可用的函数。 ReadAsArray 可用是因为 GDAL Python 绑定(bind)应该可用于 NumPy 定义的数组协议(protocol)。所以这个函数是为了这个特定目的而存在的。

但是,您可以使用 Band 类的 ReadRaster 方法将像素读入一维数组,然后像二维数组一样遍历该一维数组。

假设您读取具有 width x height 尺寸的 strip 的像素:

byte[] bits = new byte[width * height];
band.ReadRaster(0, 0, width, height, bits, width, height, 0, 0);

现在,您可以根据以下公式计算像素的索引:column + row * width

for (int col = 0; col < width; col++)
{
for (int row = 0; row < height; row++)
{
// equivalent to bits[col][row] if bits is 2-dimension array

byte pixel = bits[col + row * width];
}
}

关于c# - GDAL C# ReadAsArray 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1238897/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com