Membuat Satu Titik di Jarak Tertentu Pada Suatu Garis

Pada suatu saat dimana kita mengharuskan untuk membuat titik pada suatu jarak tertentu di layer garis yang sudah ada. bagaimana cara melakukannya di ArcGIS?

Tool yang ada yaitu Construct Points hanya memberikan fungsi memplot titik dengan interval tertentu pada tiap titik, bagaimana jika kita hanya ingin satu titik saja?

Untuk kasus seperti ini bisa digunakan script Python sebagai salah satu caranya, caranya adalah :

  1. Buka Arcmap
  2. Load file garis yang dijadikan sebagai dasar plot titiknya,
  3. Buka menu Pyhton console pada menu
  4. Masukkan script sebagai berikut :

points = [] arcpy.MakeFeatureLayer_management("line_file", "selected_lines") # ubah "line_file" dengan nama file garis anda with arcpy.da.SearchCursor("selected_lines", ("SHAPE@")) as cursor: for row in cursor: points.append(row[0].positionAlongLine(10)) # Ganti 10 dengan panjang yang diinginkan (meter) arcpy.CopyFeatures_management(points, 'in_memory\points') # Nama output Baca Selengkapnya

Volume Tererosi Minimum Bagian -1

Bayangkan sebuah mangkuk. Volumenya dapat ditemukan dengan mendeliniasi dua hal: sebuah bidang di tepinya dan permukaan bagian dalamnya yang melengkung. Menemukan volume DAS kurang lebih sama. Permukaan batasan dapat dibuat dengan menghubungkan sekumpulan titik yang terletak di seputaran batasan, sedangkan permukaan bagian dalam adalah topografi modern yang diwakili oleh DEM. Volume hanyalah perbedaan antara ketinggian batas dan topografi. “Volume Tererosi Minimum” disebut “Minimum Erosi Besar (Ebulk)” oleh Bellin et al. (2014).
Baca Selengkapnya

Indeks Vegetasi Untuk Penginderaan Jauh Bagian 1

Dedaunan tanaman, termasuk daun, jarum, dan bahan hijau lainnya, sering terlihat mirip dengan pengamat biasa, tetapi mereka sangat bervariasi dalam bentuk dan komposisi kimia. Komposisi kimiawi daun sering dapat diperkirakan menggunakan VIs, tetapi untuk itu diperlukan pengetahuan tentang komposisi dasar daun dan bagaimana mereka berubah dalam kondisi lingkungan yang berbeda. Komponen daun terpenting yang mempengaruhi sifat spektralnya adalah: Baca Selengkapnya

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