Perkiraan koordinat GPS untuk titik dari n lokasi yang diharapkan

9

Saya mencoba mencari koordinat titik perhatian saya (titik X, bertanda biru). Saya menggunakan perangkat GPS mobil saya untuk mengumpulkan koordinat sesuai tempat saya memarkir kendaraan saya setiap kali saya mengunjungi titik x. Jadi setelah mengikuti latihan ini selama 16 hari, saya berhasil mendapatkan 16 set koordinat, menyebar di sekitar titik perhatian saya.

Setelah merencanakan koordinat ini di peta, saya mengamati hal berikut: Dua kali atau tiga kali dari sepuluh kali, perangkat GPS saya memberikan satu set koordinat yang salah yang ternyata jauh dari titik X. Juga karena lalu lintas, kadang-kadang saya tidak dapat parkir dekat dengan titik x dan karenanya dalam kasus ini juga, koordinat yang diperoleh jauh dari titik X.

Masalah: Dari 16 set koordinat yang diperoleh, proses apa yang saya gunakan untuk mempersempit menjadi satu set koordinat yang dekat dengan titik perhatian saya (titik X)?

Gambar mendukung uraian masalah di atas

pengguna3587184
sumber
apakah Anda memiliki informasi tentang PDOP yang disediakan oleh perangkat GPS Anda? ini dapat membantu Anda mengidentifikasi poin yang tidak dapat diandalkan.
radouxju
Saya akan memasukkan ini dalam jawaban tetapi saya tidak yakin apakah ini persis apa yang Anda coba lakukan, tetapi melemparkan outlier dan menggunakan penyesuaian kuadrat terkecil yang saya percaya dapat menyelesaikan masalah Anda. utdallas.edu/ ~aiken
ed.hank

Jawaban:

13

Salah satu cara untuk mendekati masalah yang menarik ini adalah melihatnya sebagai penaksir yang kuat dari pusat distribusi titik bivariat. Solusi (terkenal) adalah mengupas kulit cembung sampai tidak ada yang tersisa . Centroid dari lambung non-kosong terakhir menempatkan pusat.

(Ini terkait dengan bagplot . Untuk informasi lebih lanjut, cari di Web untuk "outve hull peeling multivariate outlier.")

Angka

Hasil untuk 16 poin bergambar ditampilkan sebagai segitiga tengah dalam peta ini. Tiga poligon di sekitarnya menunjukkan lambung cembung berturut-turut. Lima poin terpencil (30% dari total!) Telah dihapus dalam dua langkah pertama.


Contoh dihitung dalam R. Algoritme itu sendiri diimplementasikan di blok tengah, "convex peeling." Menggunakan chullrutin bawaan, yang mengembalikan indeks poin pada lambung. Poin-poin ini dihapus dengan menggunakan ekspresi pengindeksan negatif xy[-hull, ]. Ini diulangi sampai poin terakhir dihapus. Pada langkah terakhir, centroid dihitung dengan rata-rata koordinat.

Perhatikan bahwa dalam banyak kasus memproyeksikan data bahkan tidak diperlukan: lambung cembung tidak akan berubah kecuali fitur asli span antimeridian (+/- 180 derajat bujur), baik kutub, atau sangat luas sehingga kelengkungan segmen di antara mereka akan membuat perbedaan. (Bahkan saat itu kelengkungan akan menjadi perhatian kecil, karena mengupas masih akan menyatu ke titik pusat.)

#
# Project the data.
#
dy <- c(8,7,5,10,7,17,19,19,21,22,22,22,24,24,26,26)
dx <- c(66,67,66,89,89,79,78,76,75,81,78,77,75,80,77,83)
lat <- (28.702 + dy/1e5) / 180 * pi
lon <- (77.103 + dx/1e5) / 180 * pi
y <- dy
x <- cos(mean(lat)) * dx
#
# Convex peeling.
#
xy <- cbind(x, y)
while(TRUE) {
  hull <- chull(xy)
  if (length(hull) < nrow(xy)) {
    xy <- xy[-hull, ]
  } else {
    xy.0 <- matrix(apply(xy, 2, mean), 1, 2)
    break
  }
}
#
# Plot the data `xy` and the solution `xy.0`.
#
plot(range(x), range(y), type="n", asp=1)
points(x, y, pch=21, bg="#a01010")
points(xy.0, pch=24, cex=1.2, bg="#404080")
whuber
sumber
Bagus. Satu pemikiran: apakah pantas untuk membuang data buruk yang mungkin terjadi sebelum menghitung lambung kapal - semata-mata berdasarkan pada bagaimana pengumpulannya (ketidakmampuan untuk parkir dekat) tetapi TIDAK berdasarkan inspeksi data?
Simbamangu
@Simba Itu adalah pendekatan yang masuk akal.
whuber
Jika kita memiliki beberapa situs seperti ini, masing-masing dengan jumlah pengamatan yang berbeda (seperti yang dimiliki 16), dalam file excel, bagaimana kita memodifikasi kode untuk itu.
user3587184
@ user3587184 Idealnya, Anda tidak akan melakukan pekerjaan di Excel. Jika Anda harus, maka tulis makro untuk mengulangi kelompok pengamatan.
whuber