我有一个 (2x3) 光栅文件,其中包含以下值:
-5-6
-4-5
-1-2
通常,.xyz GIS 文件格式将是由以下 numpy 数组表示的列组织:(坐标位于左下角)
col = numpy.array([[0,0,-1],[1,0,-2],[0,1,-3],[1,1,-4],[0,2,-5],[1,2,-6]])
不幸的是,我有一个行组织结构(此数据来自https://www.opengeodata.nrw.de/)。它可以由以下 numpy 数组表示:
row = numpy.array([[0,0,-1],[0,1,-3],[0,2,-5],[1,0,-2],[1,1,-4],[1,2,-6]])
print (row)
[[ 0 0 -1]
[ 0 1 -3]
[ 0 2 -5]
[ 1 0 -2]
[ 1 1 -4]
[ 1 2 -6]]
我需要将此行数组重新排列为 col 数组。我目前正在使用此代码:
rr = row.reshape(2,3,3)
stack = numpy.column_stack(rr[:,:,:])
new_col =(stack.reshape(-1,3))
print (new_col)
[[ 0 0 -1]
[ 1 0 -2]
[ 0 1 -3]
[ 1 1 -4]
[ 0 2 -5]
[ 1 2 -6]]
这可行,但我的问题是:这是解决此数组转换的最佳方法吗?我几乎没有操作 numpy 数组的经验。谢谢尼古拉斯