Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python |如何通过坐标从geotiff贴图中获取像素值_Python_Geolocation_Geocoding_Geo_Geotiff - Fatal编程技术网

Python |如何通过坐标从geotiff贴图中获取像素值

Python |如何通过坐标从geotiff贴图中获取像素值,python,geolocation,geocoding,geo,geotiff,Python,Geolocation,Geocoding,Geo,Geotiff,我正在尝试从geotiff地图中获取带有坐标的像素值(RGB) 我已在此处下载了光栅地图: 我想得到这些坐标的像素值 lat:41.902782,lon:12.496366(这应该是罗马) 我已经试过拉斯特里奥和格达尔,但没有成功。下载时附带了一个.tfw文件,但我无法包含它,因此我想知道Python脚本中的坐标是否准确 所以最后我可以得到世界上每平方米的rgb值 但坐标的rgb值的简单打印将是一个良好的开端 我会为每个答案感到高兴:) 此代码为您提供地图上坐标的像素rgb值 现在,我只需要计

我正在尝试从geotiff地图中获取带有坐标的像素值(RGB)

我已在此处下载了光栅地图:

我想得到这些坐标的像素值
lat:41.902782
lon:12.496366
(这应该是罗马)

我已经试过拉斯特里奥和格达尔,但没有成功。下载时附带了一个.tfw文件,但我无法包含它,因此我想知道Python脚本中的坐标是否准确

所以最后我可以得到世界上每平方米的rgb值 但坐标的rgb值的简单打印将是一个良好的开端

我会为每个答案感到高兴:)

此代码为您提供地图上坐标的像素rgb值

现在,我只需要计算每一个纬度上的米数:)

此代码为您提供地图上坐标的像素rgb值

现在我只需要计算每一个lat&lon中有多少米:)

我已经尝试过rasterio和gdal,但没有成功。那么问问那些尝试,不是吗?就目前而言,这一点过于宽泛/模糊。请看:,。我已经尝试过rasterio和gdal,但没有成功。那么问问那些尝试,不是吗?就目前而言,这一点过于宽泛/模糊。请看:。
import rasterio

def getCoordinatePixel(map,lon,lat):
    # open map
    dataset = rasterio.open(map)
    # get pixel x+y of the coordinate
    py, px = dataset.index(lon, lat)
    # create 1x1px window of the pixel
    window = rasterio.windows.Window(px - 1//2, py - 1//2, 1, 1)
    # read rgb values of the window
    clip = dataset.read(window=window)
    return(clip[0][0][0],clip[1][0][0],clip[2][0][0])

print(getCoordinatePixel("world.tif",0,0))