Bagaimana saya bisa mengekstrak nilai dari raster berdasarkan poin?
Saya lebih suka tidak di Arcgis.
Saya lebih suka di Qgis atau Mapwindow atau open source gis lainnya.
raster
point
open-source-gis
Vassilis
sumber
sumber
Jawaban:
QGIS "Alat Pengambilan Sampel Point" harus menjadi plugin yang Anda cari.
Berikut adalah uraian terperinci tentang cara menggunakannya: http://pvanb.wordpress.com/2010/02/15/sampling-raster-values-at-point-locations-in-qgis/
Pembaruan berdasarkan komentar Paolo:
plugin bukan satu-satunya solusi, dan tidak selalu solusi termudah lagi. Solusi alternatif adalah fungsi Saga 'Tambahkan nilai raster ke titik' di kotak alat pemrosesan. Lihat untuk detail http://pvanb.wordpress.com/2014/07/01/sampling-raster-values-at-point-locations-in-qgis-an-update/
sumber
Di PostGIS 2.0 Anda dapat melakukan:
Pastikan raster Anda berukuran sangat kecil saat Anda memuatnya (-t 10x10 dengan loader).
sumber
Saya mengalami masalah dengan alat QGIS dan SAGA GUI yang disebutkan di utas ini (
Raster values to points
gagal karena beberapa alasan dan melempar kesalahan yang tidak membantu dan GRASSv.sample
membuat layer baru yang sama sekali tidak membantu). Setelah gagal dengan alat GUI untuk sementara waktu, saya mencoba melakukan ini di Field Calculator. Ini bekerja cukup baik dan saya bisa mengendalikan prosesnya sedikit lebih baik daripada yang diizinkan GUI, dan membuat beberapa perhitungan lain di sepanjang jalan.Katakanlah Anda memiliki layer bernama
pts
dan nama lainrast
, keduanya dalam sistem koordinat yang sama. Anda ingin mencicipirast
pada setiap X, pasangan Y yang diwakili dalampts
.Jika Anda belum pernah menggunakan Field Calculator sebelumnya, ini cukup sederhana. Anda akan memasukkan perhitungan Anda di kotak "Ekspresi", dan Q memberi Anda sejumlah variabel dan operasi di kolom tengah, dengan teks bantuan menyala di kolom kanan. Saya akan memecah proses ini menjadi empat langkah:
Buka tabel atribut dari
pts
lapisan yang ingin Anda sampel.Setelah Anda berada di dialog Kalkulator Bidang, pilih apakah Anda ingin Membuat bidang baru atau Memodifikasi bidang yang ada di
pts
lapisan Anda .Selanjutnya, buat ekspresi untuk mengisi
pts
kolom atribut baru atau yang sudah ada . Anda mungkin mulai dengan mengubah kode ekspresi yang berfungsi untuk saya:raster_value()
nama layer raster'rast'
, nomor band1
, dan geometri titik dimake_point()
.$x
dan$y
apakah variabel geometri tergantung pada lokasi titik di setiap baris tabel atribut.Metode ini juga memungkinkan operasi aritmatika seperti mengurangkan nilai lapisan raster lain yang disebut
other_rast
darirast
, yang menyelamatkan saya banyak waktu selama alat GUI. Contoh di bawah ini:Perhatikan lagi bahwa ketiga layer
pts
,,rast
danother_rast
harus berada dalam sistem koordinat yang sama agar metode ini dapat berfungsi.sumber
Coba gunakan QGIS 3.2.2 dan SAGA (terinstal secara default di QGIS): Fungsi "Nilai Raster ke Poin" akan melakukan segalanya untuk Anda: Dibutuhkan file gambar dan mengubahnya menjadi bentuk Point-vektor yang mengambil informasi dari gambar raster.
sumber
Alat GME Hawthorne Beyer melakukan ini dengan baik melalui baris perintah, dan memungkinkan batching mudah dengan loop 'for'.
isectpntrst(in="path/to/shapefile", raster="path/to/raster", field="fieldname")
Referensi perintah GME isectpntrst
sumber
Di GRASS GIS, Anda dapat menanyakan peta di GUI atau menggunakan http://grass.osgeo.org/gdp/html_grass64/r.what.html
sumber
http://gis-techniques.blogspot.com/2012/10/extract-raster-values-from-points.html memiliki panduan langkah demi langkah untuk menggunakan paket R Raster, ekstrak nilai raster dari poin.
sumber
Anda dapat menggunakan ini: http://www.saga-gis.org/saga_module_doc/2.1.3/shapes_grid_3.html
Ada dalam SAGA Toolbox dari Qgis! Itu melakukan segalanya dalam satu langkah :)
sumber
Inilah fungsi yang saya tulis menggunakan python dan gdal. Fungsi mengambil daftar raster dan bingkai data panda yang berisi titik koordinat dan mengembalikan bingkai data panda dengan titik koordinat, centroid untuk masing-masing sel raster dan nilai sel masing-masing. Fungsi ini merupakan bagian dari paket chorospy paket yang sedang dikembangkan (ditemukan di sini ).
Contoh cara menjalankannya mengingat raster ada di direktori kerja Anda saat ini:
sumber
Jika Anda memiliki akses ke FME maka Anda dapat menggunakan salah satu dari dua transformer di Workbench FME.
The RasterCellCoercer ( "Terurai semua input numerik fitur raster ke titik-titik individu atau poligon. Salah satu fitur vektor adalah output untuk setiap sel dalam raster.")
The PointOnRasterValueExtractor ("Mengambil fitur titik dan raster referensi tunggal. Output terdiri dari nilai band dan palet di lokasi masing-masing titik.")
sumber
Pikiran cepat:
sumber