Mengedit nilai Piksel DEM dalam QGIS menggunakan Plugin Serval

Mungkin kadang-kadang Anda perlu mengedit beberapa sel raster dan mengubah nilainya. Menggunakan Plugin Serval QGIS Anda dapat melakukan ini.

Anda dapat menginstal plugin ini dengan masuk ke Plugins> Manage and Install Plugins dan ketikkan Serval di kotak pencarian.

Setelah instalasi selesai, Anda dapat menemukan plugin yang baru diinstal dengan masuk ke Plugins> Serval> Show Serval Plugin. Toolbar plugin akan muncul. Baca Selengkapnya

Neural Network Untuk Klasifikasi Citra Menggunakan Tensorflow di Python Bagian 2

Di sini, akan mempergunakan enam band (band 2 – band 7) dari Landsat 5 TM sebagai fitur dan mencoba untuk memprediksi kelas biner/indeks wilayah terbangun. Data Landsat 5 multispektral yang diperoleh pada tahun 2011 untuk Bangalore dan layer biner/indeks yang terkait akan digunakan untuk proses training dan pengujian. Akhirnya, data Landsat 5 multispektral lain yang diperoleh pada tahun 2011 untuk Hyderabad akan digunakan untuk prediksi baru.

Selain itu menggunakan pustaka Tensorflow Google dengan Python untuk membangun Neural Network (NN). Pustaka berikut akan diperlukan, pastikan Anda menginstalnya terlebih dahulu:

pyrsgis – untuk membaca dan menulis GeoTIFF
scikit-learn – untuk pra-pemrosesan data dan pemeriksaan akurasi
numpy – untuk operasi array dasar

Tempatkan ketiga file dalam direktori – tulis path ke fileĀ  dan masukkan nama file dalam skrip, dan baca file GeoTIFF.

import os
from pyrsgis import raster

os.chdir(“E:\\directorianda”)
mxBangalore = ‘l5_Bangalore2011_raw.tif’
builtupBangalore = ‘l5_Bangalore2011_builtup.tif’
mxHyderabad = ‘l5_Hyderabad2011_raw.tif’

# Read the rasters as array
ds1, featuresBangalore = raster.read(mxBangalore, bands=’all’)
ds2, labelBangalore = raster.read(builtupBangalore, bands=1)
ds3, featuresHyderabad = raster.read(mxHyderabad, bands=’all’)

Modul raster dari paket pyrsgis membaca informasi geolokasi GeoTIFF dan nilai angka digital (DN) sebagai array NumPy secara terpisah. Cetak ukuran data yang telah kita baca.

print(“Bangalore multispectral image shape: “, featuresBangalore.shape)
print(“Bangalore binary built-up image shape: “, labelBangalore.shape)
print(“Hyderabad multispectral image shape: “, featuresHyderabad.shape)

Keluaran:

Sebagai bukti dari output, jumlah baris dan kolom dalam citra Bangalore adalah sama, dan jumlah layer dalam citra multispektral adalah sama. Model akan belajar untuk memutuskan apakah suatu pixel adalah daerah terbangun atau tidak berdasarkan nilai DN masing-masing di semua band, dan oleh karena itu, kedua gambar multispektral harus memiliki jumlah layer (band) yang sama yang ditumpuk dalam urutan yang sama.

Sekarang file yang berbentuk array diubah menjadi array dua dimensi, yang merupakan standar input oleh sebagian besar algoritma ML, di mana setiap baris mewakili piksel. Modul konversi paket pyrsgis akan melakukannya.

from pyrsgis.convert import changeDimension

featuresBangalore = changeDimension(featuresBangalore)
labelBangalore = changeDimension (labelBangalore)
featuresHyderabad = changeDimension(featuresHyderabad)
nBands = featuresBangalore.shape[1]
labelBangalore = (labelBangalore == 1).astype(int)

print(“Bangalore multispectral image shape: “, featuresBangalore.shape)
print(“Bangalore binary built-up image shape: “, labelBangalore.shape)
print(“Hyderabad multispectral image shape: “, featuresHyderabad.shape)

Output:

Pada baris ketujuh dari cuplikan kode di atas, diekstrak semua piksel dengan nilai satu. Ini adalah cara untuk menghindari masalah karena piksel NoData yang sering memiliki nilai sangat tinggi dan rendah.

Sekarang, data akan dibagi untuk pelatihan dan validasi. Ini dilakukan untuk memastikan bahwa model belum melihat data uji dan kinerjanya sama baiknya pada data baru. Jika tidak, model akan overfit dan hanya bekerja dengan baik pada data latih.

from sklearn.model_selection import train_test_split

xTrain, xTest, yTrain, yTest = train_test_split(featuresBangalore, labelBangalore, test_size=0.4, random_state=42)

print(xTrain.shape)
print(yTrain.shape)

print(xTest.shape)
print(yTest.shape)

Output:

Baca Selengkapnya

Menemukan Poligon Tetangga menggunakan Fungsi Summary Aggregate di QGIS

Fungsi agregat dalam QGIS dirancang untuk bekerja dengan 2 layer vektor input yang terpisah, tetapi kita juga dapat membuatnya bekerja dengan satu layer. Pada dasarnya melakukan query spasial untuk obyek di dalam layer.

Contoh kasus adalah sebagai berikut. Dalam layer yang berisi kode pos, kita ingin menemukan semua kode pos tetangga untuk setiap poligon yang ada. Ini dapat dilakukan dengan sangat mudah dengan membuat field baru dengan ekspresi dengan fungsi agregat – menggunakan layer itu sendiri sebagai layer induk. Baca Selengkapnya

Neural Network Untuk Klasifikasi Citra Menggunakan Tensorflow di Python Bagian 1

Deep Learning telah digunakan pada sebagian besar bidang dalam memecahkan masalah yang kompleks, dan bidang geospasial tidak terkecuali. Sedikit pengetahuan tentang bagaimana algoritma Machine Learning (ML) bekerja akan membantu Anda. Bagi mereka yang tidak terbiasa dengan konsep ML, singkatnya, itu adalah membangun hubungan antara beberapa karakteristik (obyek atau Xs) suatu entitas/obyek dengan properti lainnya (nilai atau label atau Y) – disediakan banyak contoh (data berlabel ) ke model sehingga model belajar dan kemudian memprediksi nilai / label untuk data baru (data tidak berlabel). Baca Selengkapnya

Menghitung Obyek di ENVI Bagian 2

Menghitung Obyek menggunakan Grid

Ketika centang Grid diaktifkan, grid akan di overlay ke raster. Ukuran sisi grid tidak didasarkan pada proyeksi raster.

Ketika Anda mengaktifkan grid, dia akan dioverlay pada layer paling atas yang terdapat di Layer Manager dan fitur yang dihitung terkait secara khusus dengan rasternya. Jika Anda memiliki beberapa raster yang terbuka dan ingin grid dan penghitungan obyek terkait dengan raster yang berbeda-beda, pilih Options > Grid Layer Host from the Feature Counting Tool dari menu toolbar dan pilih raster yang berbeda. Baca Selengkapnya