python批处理栅格转点_python-将numpy打开网格转换为坐标

本文介绍了两种使用numpy将批处理栅格数据转换为点坐标的Python方法。第一种方法通过np.meshgrid和np.column_stack实现,第二种方法结合了np.array、转置和重塑操作。同时,针对不同数组数量的情况,提供了调整顺序的技巧。
摘要由CSDN通过智能技术生成

方法1使用np.meshgrid,然后堆叠-

r,c = np.meshgrid(*m)

out = np.column_stack((r.ravel('F'), c.ravel('F') ))

方法2或者,使用np.array()然后进行转置,重塑-

np.array(np.meshgrid(*m)).T.reshape(-1,len(m))

对于np.ix_中使用的通用数组数目的通用情况,这里是需要进行的修改-

p = np.r_[2:0:-1,3:len(m)+1,0]

out = np.array(np.meshgrid(*m)).transpose(p).reshape(-1,len(m))

样品运行-

两个数组的情况:

In [376]: m = np.ix_([0, 2, 4], [1, 3])

In [377]: p = np.r_[2:0:-1,3:len(m)+1,0]

In [378]: np.array(np.meshgrid(*m)).transpose(p).reshape(-1,len(m))

Out[378]:

array([[0, 1],

[0, 3],

[2, 1],

[2, 3],

[4, 1],

[4, 3]])

三个数组的情况:

In [379]: m = np.ix_([0, 2, 4], [1, 3],[6,5,9])

In [380]: p = np.r_[2:0:-1,3:len(m)+1,0]

In [381]: np.array(np.meshgrid(*m)).transpose(p).re

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值