rasterio를 사용하여 단일 지점에서 픽셀 값 얻기


14

rasterio를 사용하여 래스터의 한 지점에서 단일 픽셀 값을 얻으려면 여기에 예가 있습니다. https://github.com/mapbox/rasterio/pull/275

그러나 래스터의 단일 지점에서 값을 추출하는 데 사용할 수있는 직접 API가 rasterio (및 cli가 아닌) 내에 있습니까?

-- 편집하다

with rasterio.drivers():

    # Read raster bands directly to Numpy arrays.
    #
    with rasterio.open('C:\\Users\\rit\\38ERP.tif') as src:
        x = (src.bounds.left + src.bounds.right) / 2.0
        y = (src.bounds.bottom + src.bounds.top) / 2.0

        vals = src.sample((x, y))
        for val in vals:
            print list(val)

답변:


12

rio-sample 명령을 지원하는 Python API 메소드는 다음에 문서화되어 있습니다. https://rasterio.readthedocs.io/en/latest/api/rasterio._io.html#rasterio._io.DatasetReaderBase.sample

src.sample() x, y 튜플에 대해 반복자를 가져옵니다. for val in src.sample([(x, y)]): print(val)


감사! 구문에 문제가 있습니다. 그것은이어야한다 : vals = src.sample((x, y))vals = src.sample(x, y)? 둘 다 작동하지 않는 것 같습니다
user1186

위의 질문에 추가 된 코드
user1186

4
src.sample()x, y튜플에 대해 반복자를 가져옵니다 for val in src.sample([(x, y)]): print(val).
sgillies
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.