Di mana (xth) tempat desimal dari nilai koordinat QGIS mendefinisikan set poin yang merupakan duplikat?
Saya telah berpikir QGIS menangani ~ desimal ke-15; tetapi itu adalah keterbatasan hanya karena saya telah mengerjakan Shapefile terutama.
Namun, batas tidak berlaku ketika saya memilih sumber data lain, seperti lapisan awal sementara.
Menggunakan data dummy seperti di bawah ini, saya membuat tes cepat dengan dua alat, untuk menemukan nilai terkecil yang dapat mereka identifikasi perbedaan koordinat:
- Geoprosesing QGIS:
Delete duplicate geometries
- Plugin MMQGIS:
Delete Duplicate Geometries
Output oleh QGIS Delete duplicate geometries
sama dengan data input di atas (semua 20 catatan disimpan), jadi itu mungkin berarti QGIS berpikir mereka semua berbeda. Apakah batas ini melampaui 1e-29 (atau 1e-30) yang terlihat dalam tes kecil ini?
Sama seperti perbandingan, MMQGIS Delete Duplicate Geometries
diproduksi di bawah ini. Tampaknya MMQGIS menetapkan batas desimal ke-16 atau ke-17.
[Sunting]
Saya khawatir belum jelas apa yang menjadi bagian utama dari pertanyaan saya. Tujuan saya untuk memahami hubungan antara nilai-nilai koordinat dan duplikat / tumpang tindih, seperti yang dinyatakan dalam paragraf pertama dari pertanyaan saya. Semoga pengetahuan semacam ini dapat membantu kita dengan mudah mengontrol fitur yang tumpang tindih dengan mengubah-ubah ekspresi kalkulator lapangan.
Namun, masalah mendasar yang saya coba fokuskan adalah bahwa tempat desimal QGIS mengenali titik (node) yang tumpang tindih tampaknya bervariasi, tergantung pada sumber data.
Jika kita menggunakan Shapefile untuk layer kita, QGIS menangani ~ desimal ke-15 dan perbedaan yang lebih kecil (pada tanggal 16 atau 17) tidak dikenali ... MMQGIS juga dipengaruhi oleh batasan ini (di mataku). Jika kita membuat lapisan awal sementara atau lapisan DB batasan ini melampaui 30-ish? Perubahan perilaku ini membuat saya bertanya-tanya.
Jawaban:
Alat Hapus Geometri Duplikat QGIS (dalam Geoalgoritma QGIS 2.18, Vector General Tools) adalah skrip Python yang beroperasi pada objek geometri yang diekspor / diekspos oleh lapisan Python QGIS. Dan di bawahnya ada lapisan GEOS.
Operator persamaan geometri lapisan GEO menerima parameter toleransi (dalam satuan jarak peta) saat membandingkan dua geometri. Sayangnya, parameter toleransi ini tidak diekspos oleh lapisan Python QGIS - maka untuk Hapus Duplikat Geometri , dua geometri dianggap sama jika dan hanya jika semua nilai XY-nya benar-benar sama. Misalnya, POINT (1,000000 1,000000) tidak sama dengan POINT (1,00000001 1,00000001).
sumber
Bacaan yang menarik tentang subjek ini adalah pertanyaan yang sering diajukan: Mengukur akurasi garis lintang dan bujur?
Saya tidak tahu alat yang dirancang untuk mengidentifikasi duplikat, tetapi dari sudut pandang komputasi itu hanya masalah cara angka ditangani oleh arsitektur penyimpanan entitas dan perangkat lunak yang menanganinya. Dua angka yang berbeda akan ditampilkan
FLASE
selama bahasa tersebut mewakili angka-angka dengan cara yang membuat sedikit perbedaan jika tesnya adalah jika mereka tidak sama. Dalam banyak kasus, kepentingan duplikat adalah untuk menemukan nilai yang sama, untuk menemukan jenis kesalahan ketik selama digitalisasi, bukan seberapa dekatnya.Dalam konteks lain, kepentingan duplikat adalah untuk mengidentifikasi objek yang cukup dekat dan dalam istilah praktis mereka cocok.
Dengan asumsi QGIS menggunakan Python sebagai bahasa utama, pertanyaan Anda dapat dialamatkan ke dokumen Python dan Anda akan memiliki bacaan yang menarik tentang bagaimana aritmatika basis 2 berbeda dari buku matematika dasar kami: Python: Floating Point Aritmatika: Masalah dan Keterbatasan
sumber
Saya seorang Surveyor Tanah terdaftar di beberapa negara. Apa yang Anda lihat dengan proyeksi yang berbeda adalah garis lurus / jarak yang berasal dari Lambert atau Mercator Grids. Ini seperti menempatkan kerucut di bumi, maka pengukuran yang Anda lakukan ditempatkan pada garis-garis jari-jari di atas kelengkungan bumi. Transverse Mercator adalah proyeksi silinder untuk negara-negara Barat yang lebih panjang seperti Tennessee. Menggunakan sistem GPS tingkat survei, kami sering membandingkan informasi dengan proyeksi dunia dan bahkan menyatakan proyeksi saat mereka diletakkan di antena. semua pengukuran didasarkan pada parameter yang dimasukkan ke dalam perhitungan pada setiap titik yang diukur. Menggunakan peralatan GIS Grade yang memiliki parameter sub meter sangat cocok dalam satu atau dua mil peregangan. Setelah sekitar 6 tempat desimal dalam pengukuran sudut adalah maks, Anda dapat mengharapkan keakuratannya. Tidak peduli berapa kali Anda GPS titik dengan mengatakan akurasi satu meter, Anda tidak akan pernah mendapatkan "Mean" atau bahkan "Mode" yang akan cocok dengan pengukuran akurasi tinggi. Singkatnya, ketika saya bekerja dengan Aerial atau informasi satelit saya tidak membiarkan satu meter atau lebih mengganggu saya. Oh ada perhitungan bola untuk pengukuran bumi tidur siang menggunakan sudut theta menghitung sudut tegak lurus di lapangan dibandingkan dengan sudut yang dihitung pada titik itu ke pusat bumi. Tidak ada pengukuran yang benar. Untuk membuktikan hal itu kepada kami ketika saya mulai mensurvei pada tahun 1975 bos kami memasang dua paku di jalan berbukit seperempat mil terpisah dan kami harus mengikatnya dan menembak jarak setiap hari selama sebulan. Dengan koreksi atmosfer pada rantai dan meter jarak HP kami hanya mencocokkan jarak asli 3 kali dengan meter jarak dan 1 kali dengan rantai. Sebuah contoh yang sangat rendah hati dan tetap bersama saya selama ini. Saya dicemooh di konvensi GIS sekali ketika mereka mengumumkan saya sebagai surveyor tanah (he he) dan saya tidak mengatakan sepatah kata pun tetapi saya tahu kapan harus memakai topi urveyor saya dan kapan harus memakai topi GIS saya.
sumber