rasterioを使用して単一ポイントでピクセル値を取得する


14

rasterioを使用してラスター内のポイントで単一のピクセル値を取得するには、https//github.com/mapbox/rasterio/pull/275に例があります

しかし、ラスタ内の単一のポイントで値を抽出するために使用できる、ラスタリオ(CLIではなく)内に直接APIがありますか?

-編集

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.