像素值rasterio.transform.rowcol

问题描述 投票:0回答:1

with rasterio.open(im_list[im]) as src: meta=src.meta rowcol = rasterio.transform.rowcol(meta['transform'], xs=lon, ys=lat) w = src.read(1, window=Window(rowcol[0], rowcol[1], 1, 1))

打印Rowcol给出(60877,52170)

i我用
rasterio.transform.xy(meta['transform'], 60877, 52170)

弄清楚我是否得到相同的坐标。

结果坐标略有不同。

总结,我需要获得与QGIS中获得的相同值。

	

使用

rasterio.sample

import rasterio from rasterio.sample import sample_gen ds = rasterio.open(r"C:\Users\bera\Desktop\gistest\rasters\raster2.tif") coordinates = [(679570, 7168776), (685486, 7170009), (673313, 7166072), (672528, 7161213), (681019, 7163812), (679923, 7165746), (673688, 7171884), (679065, 7170682), (683939, 7167273), (677168, 7167100)] raster_values = [x.item() for x in sample_gen(dataset=ds, xy=coordinates)] for v in raster_values: print(v) # 7789 # 9256 # 5888 # 8522 # 6943 # 5306 # 2940 # 2190 # 8838 # 4484 del(ds)
python-3.x coordinates pixel qgis rasterio
1个回答
0
投票

	

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.