如何解决如何检查给定的坐标纬度,经度是否在光栅图像文件tif文件中,以及如何使用NXN窗口将其提取?
嗨,我正在研究以完成一个项目。
目标是给定一个坐标,我可以从光栅文件中提取图像。
如何检查例如(51.3334198,3.2973934)
的坐标是否在光栅图像文件- k_01.tif 中?如果此坐标确实位于 k_01.tif 中,该如何提取NxN窗口的一小部分?
我的代码:
import rasterio
src = rasterio.open('k_01.tif')
src.bound
BoundingBox(left = 145000.0,bottom = 238000.0,right = 162000.0,top = 247000.0)
src.crs
CRS.from_epsg(31370)
有什么想法吗?预先感谢。
解决方法
检查位置(纬度,经度)是否在光栅图像的边界内。
import pyproj
pp = pyproj.Proj(init='epsg:31370')
x,y = pp(3.2973934,51.3334198) #long,lat sequence
然后,您可以使用(x,y)来检查src.bound
src= rasterio.open( your_tiffile )
bnd = src.bounds
if bnd.left < x < bnd.right and bnd.top < y < bnd.bottom:
print("inside")
else:
print("outside")
切片数组的一部分。
band1 = src.read(1) #read band-1
# usually we flip the image,uncomment next line if you dont need it
band1_flip = band1[::-1,:] # reverse height in (height,width,channel)
# extract part of the image array
fr_row,to_row,fr_col,to_col = 0,100,100 #you set the values
aslice = band1_flip[fr_row:to_row,fr_col:to_col]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。