如何从python中的2个numpy数组中提取纬度/经度坐标?

时间:2017-11-11 16:26:28

标签: python arrays numpy

我基本上有2个数组,一个包含纬度值,一个包含经度。我想要的是提取满足一定要求的那些。

xLong = np.extract(abs(Long-requirement)<0.005,Long)
xLat = np.extract(abs(Lat-requirement)<0.005,Lat)

Lat和Long是numpy数组。

但是,我只想获得那些纬度/长度符合要求的坐标,而我不知道该怎么做。

如果可能,我需要使用numpy功能,因为我也在寻找优化。我知道我可以迭代所有使用for并且只是添加到不同的数组但这将花费很多时间

1 个答案:

答案 0 :(得分:1)

您需要使用boolean indexing.执行此操作每当您创建与您感兴趣的数组相同的布局数组时,您可以通过使用布尔数组进行索引来获得True值。我假设LongLat的大小相同;如果他们不是,那么代码就会抛出异常。

# start building the boolean array.  long_ok and lat_ok will be the same
# shape as xLong and xLat.
long_ok = np.abs(Long - requirement) < 0.005
lat_ok = np.abs(Lat - requirement) < 0.005

# both_ok is still a boolean array which is True only where 
# long and lat are both in the region of interest
both_ok = long_ok & lat_ok

# now actually index into the original arrays.
long_final = Long[both_ok]
lat_final = Lat[both_ok]