Lewati ke isi
Profil penulisSeri Buku GIS Kehutanan dan Pertanian/ I3
Tampilkan bagian untuk:

BAB 1: Titik Ini Benar-Benar di Sini? GNSS dan Akurasi

#Studi kasus: "Tunggaknya ada di mana?"

Tim surveyor mencatat sebuah tunggak bekas tebangan liar memakai ponsel. Seminggu kemudian, Kepala Seksi menyuruh petugas kembali ke titik itu. Mereka tidak menemukan apa-apa. Setelah dicari, tunggaknya ternyata berjarak sekitar enam langkah dari titik di peta.

"Salah siapa?" tanya Kepala Seksi. Anda menjawab, "Mungkin tidak ada yang salah. Titiknya memang tidak pernah setepat yang kita kira." Bab ini menjelaskan mengapa, dan bagaimana mengukurnya.

#Konsep: GNSS dalam tiga kalimat

GNSS adalah sistem satelit yang membantu penerima di tangan Anda menghitung letaknya di bumi. Seperti menebak posisi Anda dari jarak ke beberapa menara yang letaknya sudah diketahui, hasilnya selalu mengandung galat, yaitu selisih dari posisi yang benar. Karena itu setiap titik lapangan perlu dicatat bersama seberapa besar ia boleh dipercaya.

Satu istilah mungkin terdengar asing. GPS hanyalah salah satu sistem GNSS, yaitu milik Amerika Serikat. Sistem lain antara lain GLONASS, Galileo, dan BeiDou. Sebagian penerima memakai beberapa sistem sekaligus. [kemungkinan: pengetahuan umum]

Istilah baru bagian ini:

  • GNSS: sistem satelit penentu posisi.
  • Galat: selisih antara posisi hasil ukur dan posisi yang benar.
  • Akurasi: seberapa dekat hasil ukur ke posisi yang benar.
  • Presisi: seberapa rapat pembacaan berulang saling berdekatan.
  • HDOP: angka yang menggambarkan susunan satelit di langit. Makin kecil makin baik.
Ilustrasi 1.1: Akurasi dan presisi
Skema empat sasaran: akurat dan presisi, presisi tetapi tidak akurat, akurat tetapi tidak presisi, tidak akurat dan tidak presisi

#Akurasi dan presisi: dua hal yang berbeda

Bayangkan Anda menembak sasaran. Bila semua peluru menumpuk di satu sisi, tembakan Anda presisi tetapi tidak akurat. Bila peluru tersebar tetapi rata-ratanya di tengah, Anda akurat tetapi tidak presisi. Yang kita cari adalah keduanya.

Untuk titik GNSS, kedua hal itu bisa dihitung. Anda butuh sebuah titik referensi yang koordinatnya sudah diketahui, lalu mengukur berulang-ulang di titik itu. Dalam data latihan, titik referensinya bernama TR-01, dan ada 100 pembacaan untuk tiap cara ukur.

#Berapa besar galatnya?

Tabel berikut dihitung dari data latihan Gnss_Uji.gpkg dengan skrip I3.1. Semua dalam meter.

Cara ukurBiasPresisiGalat RMSCEP50R95
Ponsel, area terbuka1,103,143,322,945,23
Ponsel, di bawah tajuk1,705,625,875,2310,16
GNSS diferensial0,240,740,780,631,44
RTK (fixed)0,0020,0240,0240,0200,040

Cara membaca tabel:

  • Bias: jarak antara titik rata-rata pembacaan dan titik referensi. Ini ukuran akurasi.
  • Presisi: sebaran pembacaan di sekitar titik rata-ratanya sendiri.
  • Galat RMS: akar dari rata-rata kuadrat galat. Satu angka yang memuat bias dan sebaran.
  • CEP50: jarak yang mencakup separuh pembacaan. Sama dengan nilai tengah (median) galat.
  • R95: jarak yang mencakup 95 dari 100 pembacaan. Ini yang paling jujur untuk menjawab "seburuk apa kemungkinan terburuknya".
Ilustrasi 1.2: Sebaran pembacaan
Skema: empat sebaran titik GNSS di sekitar titik referensi, dengan lingkaran R95 pada tiap cara ukur

Perhatikan bahwa ponsel di bawah tajuk memberi R95 sekitar dua kali ponsel di area terbuka. Ini sejalan dengan keterangan resmi bahwa akurasi ponsel memburuk di dekat gedung, jembatan, dan pohon. Menurut GPS.gov, ponsel yang mendukung GPS biasanya akurat dalam radius 4,9 m di langit terbuka. Angka data latihan (R95 sekitar 5,2 m) sengaja dibuat dekat dengan itu. [kemungkinan: angka 4,9 m saya peroleh dari hasil pencarian yang mengutip GPS.gov; halaman aslinya tidak berhasil dibuka. Data latihan dibuat penulis]

#Apa yang membuat titik meleset?

  • Tajuk pohon dan bangunan menghalangi atau memantulkan sinyal.
  • Satelit yang terlihat sedikit, atau tersebar di satu sisi langit (HDOP besar).
  • Gangguan atmosfer yang membuat sinyal sedikit melambat.
  • Mutu penerima. Penerima survei lebih baik daripada penerima ponsel biasa.

Dalam data latihan, mode "ponsel di bawah tajuk" memang dibuat dengan satelit lebih sedikit (5 sampai 9, bukan 8 sampai 14) dan HDOP lebih besar.

#Cara menurunkan galat

  1. Ukur berulang dan ambil rata-ratanya. Ini mengecilkan sebaran acak, tetapi tidak menghilangkan bias.
  2. Pindah ke tempat yang lebih terbuka bila bisa, lalu catat jarak dan arah dari titik itu ke objek yang disurvei.
  3. Pakai koreksi. Pada GNSS diferensial dan RTK, sebuah stasiun di titik yang sudah diketahui menghitung galat sinyal. Koreksinya dikirim ke penerima yang bergerak. RTK yang berstatus fixed bisa mencapai tingkat sentimeter. [kemungkinan: dokumentasi NOAA dan sumber umum]
  4. Catat mutu setiap titik. Simpan akurasi yang dilaporkan alat, jumlah satelit, dan HDOP bersama titiknya. Data tanpa catatan mutu sulit diperiksa kemudian.

#Bagian A: QGIS

#Bagian A: Mengukur galat GNSS di QGIS

Data yang dipakai: Gnss_Uji.gpkg di folder paket-i3. Isinya dua layer: Gnss_Uji (400 titik) dan Titik_Referensi (satu titik).

  1. Buka Layer ► Data Source Manager (Ctrl+L), pilih tab Vector. Tambahkan kedua layer dari Gnss_Uji.gpkg.
  2. Buka Select by Expression (Ctrl+F3) pada layer Gnss_Uji. Ketik ekspresi berikut. Kotak Preview menampilkan jarak titik pertama ke titik referensi, dalam meter. Hasil yang akan terlihat: angka sekitar 0,28.
EKSPRESI
distance($geometry, geometry(get_feature('Titik_Referensi', 'Nama', 'TR-01')))
  1. Ganti ekspresinya dengan yang berikut, untuk melihat galat RMS cara ukur RTK. Hasil yang akan terlihat: sekitar 0,024.
EKSPRESI
sqrt(aggregate('Gnss_Uji', 'mean',
  distance($geometry, geometry(get_feature('Titik_Referensi', 'Nama', 'TR-01'))) ^ 2,
  filter := "Mode" = 'RTK_Fix'))
  1. Untuk CEP50 (median galat), pakai ekspresi berikut. Hasilnya sekitar 0,020. Untuk cara ukur lain, ganti 'RTK_Fix' dengan 'Ponsel_Terbuka', 'Ponsel_Tajuk', atau 'Diferensial'.
EKSPRESI
aggregate('Gnss_Uji', 'median',
  distance($geometry, geometry(get_feature('Titik_Referensi', 'Nama', 'TR-01'))),
  filter := "Mode" = 'RTK_Fix')
  1. R95 tidak punya fungsi siap pakai di ekspresi. Jalankan skrip I3.1 di Plugins ► Python Console (buka editor dengan ikon Show Editor). Skrip ini mencetak bias, presisi, galat RMS, CEP50, dan R95 untuk semua cara ukur sekaligus.
PYTHON
# Inti skrip I3.1 (berkas lengkap: skrip/i3_01_statistik_gnss.py)
jarak = [math.hypot(x - titik_ref.x(), y - titik_ref.y()) for x, y in pts]      # galat tiap pembacaan
bias = math.hypot(cx - titik_ref.x(), cy - titik_ref.y())                        # geser titik rata-rata
presisi = math.sqrt(sum((x - cx) ** 2 + (y - cy) ** 2 for x, y in pts) / len(pts))
rmse = math.sqrt(sum(j * j for j in jarak) / len(jarak))

Hasil uji skrip (QGIS 4.0.2) sama persis dengan tabel di atas.

  1. Lihat kembali tabel. Bandingkan Bias dan Presisi setiap baris. Pada ponsel, mana yang lebih besar? Sebaran (presisi) lebih besar dari bias, jadi rata-rata dari banyak pembacaan akan lebih baik daripada satu pembacaan.

#Bagian B: ArcGIS Pro

#Bagian B: ArcGIS Pro

Alat berikut ada di Pro. Cocokkan dengan versi Anda. [CEK]

  1. Tambahkan Gnss_Uji.csv ke peta, lalu jalankan XY Table To Point. Isi X Field dengan Easting, Y Field dengan Northing, dan sistem koordinat WGS 1984 UTM Zone 49S. [CEK]
  2. Buka Calculate Field pada layer hasil. Buat field galat_m bertipe Double dengan ekspresi Python berikut, yang menghitung jarak ke titik referensi (312200, 9996200). [CEK]
PYTHON
((!Easting! - 312200.0) ** 2 + (!Northing! - 9996200.0) ** 2) ** 0.5
  1. Jalankan Summary Statistics pada galat_m dengan Case field Mode. Pilih statistik rata-rata, sebaran (STD), dan nilai maksimum. [CEK]
  2. Untuk melihat bias, jalankan Mean Center dan Standard Distance (kelompok Spatial Statistics ► Measuring Geographic Distributions) dengan Case field Mode. Mean Center memberi titik rata-rata, Standard Distance memberi lingkaran sebaran. Tool ini ada di dokumentasi Pro. [CEK]

#Bagian C: ArcMap 10.8

#Bagian C: ArcMap 10.8

  1. Tambahkan Gnss_Uji.csv, klik kanan ► Display XY Data. Pilih Easting sebagai X dan Northing sebagai Y, lalu atur sistem koordinat ke WGS 1984 UTM Zone 49S. Ekspor hasilnya menjadi feature class. [CEK]
  2. Buka tabel atribut, tambahkan field galat_m bertipe Double. Klik kanan judul kolom ► Field Calculator, pilih parser Python, lalu pakai ekspresi yang sama dengan Bagian B. [CEK]
  3. Jalankan Mean Center dan Standard Distance dari ArcToolbox ► Spatial Statistics Tools ► Measuring Geographic Distributions dengan Case field Mode. [CEK]

#Cek paham

  1. Titik pembacaan Anda tersebar rapat, tetapi pusat sebarannya 3 m dari titik referensi. Apakah ini akurat, presisi, atau keduanya?
  2. Mengapa R95 lebih berguna daripada rata-rata galat untuk menentukan batas "titik boleh dipakai"?
  3. Mengapa rata-rata dari banyak pembacaan tidak menghilangkan bias?

Jawaban:

  1. Presisi, tetapi tidak akurat. Pembacaannya rapat, tetapi pusatnya menyimpang.
  2. R95 memberi jarak yang mencakup 95% pembacaan, jadi menunjukkan kemungkinan buruknya. Rata-rata menyembunyikan titik yang meleset jauh.
  3. Rata-rata hanya meredam sebaran acak. Bias berasal dari penyebab yang sama pada semua pembacaan, seperti tajuk atau koreksi yang kurang, sehingga tetap ada setelah dirata-rata.

#Kesalahan umum

  • Menyamakan "jumlah desimal koordinat" dengan akurasi. Koordinat bertulis sampai enam desimal tidak berarti tepat sampai sentimeter. Akurasi ditentukan alat dan kondisinya.
  • Memakai satu pembacaan sebagai titik survei. Satu pembacaan bisa saja yang paling meleset. Ambil beberapa pembacaan bila memungkinkan.
  • Tidak mencatat mutu titik. Bila akurasi atau HDOP tidak disimpan, Anda tidak bisa menyaring titik buruk di kantor.
  • Membandingkan galat dari kondisi yang berbeda. Uji di tempat terbuka tidak berlaku untuk titik di bawah tajuk.

#Ringkasan dan latihan

Ringkasan: semua titik GNSS punya galat. Akurasi (dekat ke yang benar) dan presisi (rapat berulang) berbeda. Ukur galat di titik referensi, laporkan dengan R95, dan catat mutu di setiap titik survei.

Latihan: buka Gnss_Uji.gpkg. Dengan ekspresi atau skrip I3.1, hitung CEP50 untuk cara ukur Diferensial. Jawaban yang diharapkan: sekitar 0,63 m. Lalu tulis satu kalimat tentang alat apa yang Anda pilih bila sebaran pohon di petak berjarak 3 m.

#Tabel perbandingan: mengukur galat GNSS

TugasQGISArcGIS ProArcMap 10.8
Hitung jarak ke titik referensiEkspresi distance dengan get_featureCalculate Field (Python)Field Calculator (parser Python)
Rata-rata, median, sebaranEkspresi aggregate atau skrip I3.1Summary StatisticsStatistics dan Summary Statistics [CEK]
Titik rata-rata dan sebaranSkrip I3.1Mean Center, Standard DistanceMean Center, Standard Distance
Metadata GNSSPanel GPS Information [CEK]Add GPS Metadata FieldsPerlu dicek [CEK]
Menyambung penerimaPanel GPS Information, tombol Connect [CEK]Aplikasi Field MapsTidak ada padanan yang diuji