Lebih

Bagaimana cara mengukur jarak antar titik berdasarkan ketinggian?

Bagaimana cara mengukur jarak antar titik berdasarkan ketinggian?


Saya harus dapat mengukur jarak antar titik, namun jarak perlu dihitung dalam kaitannya dengan ketinggian. Titik-titik tersebut adalah rumah para pendongeng dari abad ke-19 dan tempat-tempat yang disebutkan dalam cerita mereka. Oleh karena itu, jaraknya harus "berjalan kaki". Jalur di sepanjang lembah kemungkinan akan lebih pendek daripada jalur di atas gunung meskipun jarak lurus sebenarnya lebih pendek. Terlampir adalah tangkapan layar yang menggambarkan pemikiran saya. Dalam gambar, jalur A dan C karena itu akan dihitung lebih pendek dari jalur B.

Poinnya berasal dari file CSV tetapi saya juga memiliki lapisan raster dengan data ketinggian.


Mencapai tujuan ini merupakan tugas dasar dalam GIS, namun metode di QGIS mungkin tidak sepele. Kesempatan terbaik Anda adalah menggunakan GRASSr.berjalanfungsi, yang menciptakan permukaan biaya anisotropik (dem+slope+faktor lain).

Pertama, Anda harus membuat permukaan gesekan sebagai input untukr.berjalan. Dalam kasus Anda, ini bisa berupa raster bernilai tunggal (1.0) yang cocok dengan tingkat DEM Anda. Anda dapat membuatnya denganr.kalkulator petadengan rumus:A*0+1di mana A adalah DEM Anda.

Selanjutnya, Anda harus memilih satu set titik awal dari CSV Anda. Ini adalah poin, permukaan biaya akumulasi akan dihitung dari. Anda harus membuat permukaan biaya individual dari setiap titik awal. Mungkin pintar untuk menentukan titik akhir yang terkait dengan setiap titik awal dalam langkah ini (di lapisan individu tentunya). Setelah itu, Anda bisa larir.berjalandengan input yang dibuat. Titik awal bisa dalam satu lapisan, Anda dapat mengulanginya dengan panah hijau di kotak dialog.

Sekarang dalam kasus yang ideal, Anda memiliki permukaan biaya dan titik akhir untuk setiap permukaan biaya. Secara teori, Anda dapat menemukan jalur dengan biaya terendah denganr.menguras, tetapi bagi saya, itu berakhir dengan kesalahan (python tidak dapat mengimpor perpustakaan QgisRaster). Jika Anda mengalami masalah yang sama, Anda dapat menggunakan algoritme "Jalur biaya terendah" SAGA. Ini akan membuat titik dan lapisan garis untuk setiap titik akhir dengan permukaan biaya (gunakan tombol iterasi lagi). Setelah Anda memiliki semua garis, Anda dapat menggabungkannya menjadi satu shapefile dengan alat "Merge shapes layers" SAGA.

Metode ini bisa sangat lambat dengan penambahan poin, jadi jika Anda memiliki banyak poin, Anda dapat mencoba mengotomatiskan metode dengan python. Masih banyak waktu untuk menghitung (terutama permukaan biaya), tetapi Anda tidak perlu membuat banyak lapisan titik akhir secara manual.


Mengukur Jarak Dua Titik di Bumi - Tidak Sesederhana yang Anda Pikirkan

Jika seorang teman bertanya kepada Anda seberapa jauh dari rumah mereka ke rumah Anda, apa yang akan Anda katakan kepada mereka? Saya yakin kebanyakan orang hari ini akan melompat ke Google Maps, memasukkan alamat, dan kemudian membaca jarak dari panel keluaran. Tapi apa yang sebenarnya diwakili oleh jarak ini dan seberapa akuratnya? Jika jarak antara rumah Anda dan seorang teman pendek, maka akurasi, serta metode perhitungannya, mungkin tidak menjadi masalah. Namun, jika Anda mencoba membuat rute maraton dengan jarak yang tepat 26,2 mil, maka akurasi dan metode pengukuran bisa menjadi masalah.

Ketika Anda ingin mengetahui jarak antara dua lokasi, tidak sesederhana menarik peta dan meletakkan penggaris di atasnya. Di dunia yang berteknologi maju saat ini, ada banyak metode matematika yang dapat digunakan oleh sistem informasi geografis untuk menghitung jarak secara akurat. Tercantum di bawah ini adalah lima metode yang paling umum digunakan saat ini.


Mengukur jarak antar fitur dalam unit linier dari lapisan yang luas dalam koordinat geografis di gdal

Saya memiliki lapisan titik untuk area yang luas. Lapisan tersebut berada dalam sistem koordinat geografis. Saya perlu membuat beberapa pekerjaan yang sadar jarak dengan fitur-fitur dari lapisan ini. Sebenarnya, saya perlu membangun lapisan penyangga dengan 100 meter, tetapi itu tidak masalah. Ide pertama adalah memproyeksikan layer, membuat buffer dan mengubah kembali ke sistem koordinat geografis. Namun area lapisannya cukup besar dan, seperti yang saya pahami, saya tidak dapat menggunakan satu-satunya sistem koordinat yang diproyeksikan tanpa distorsi yang signifikan. Jadi, saya perlu menggunakan beberapa sistem koordinat yang diproyeksikan atau menggunakan haversine untuk membangun buffer. Kedua pendekatan tidak terlihat rapi dan nyaman. Apakah ada cara yang lebih alami untuk membangun penyangga (atau mengukur jarak)? Saya ingin menggunakan gdal/ogr.

Satu Jawaban

Untuk membangun lapisan penyangga, menurut saya pendekatan yang baik adalah menggunakan proyeksi konformal dan menskalakan jari-jari penyangga dengan kebalikan dari faktor skala proyeksi.

Misalnya, Anda dapat menggunakan proyeksi Mercator dan membuat buffer dengan radius = 100m / SEC(phi) . Dimana phi adalah garis lintang titik buffer, dan SEC(phi) adalah Faktor Skala dari proyeksi Mercator.


Jarak antara dua titik di OpenCv berdasarkan pengukuran yang diketahui [ditutup]

Ingin memperbaiki pertanyaan ini? Perbarui pertanyaan sehingga sesuai topik untuk Stack Overflow.

Saya memiliki gambar di mana, saya memiliki dua set koordinat di mana saya menggambar garis.

Koordinatnya adalah A,B,C & D. Saya tahu jarak antara C ke D. Namun, jarak antara A ke B tidak diketahui. Apa cara terbaik untuk menghitung ini di OpenCv?

Apakah ada fungsi atau metode khusus OpenCv untuk melakukan ini? Terutama jarak yang kita tempuh dalam piksel? Saya minta maaf jika pertanyaan ini bodoh, saya benar-benar tidak ingin berakhir mendapatkan nilai yang salah karena kurangnya pemahaman dalam topik ini.

Saya melihat referensi tertentu ke cv2.norm() dan cv2.magnitude() sebagai solusi untuk masalah ini. Namun, saya sangat tidak mengerti bagaimana memilih untuk situasi saya, mengingat dalam hal ini jarak dalam gambar/foto.


Cara mengukur jarak di Google Earth

Ini adalah metode yang akan Anda gunakan untuk mengukur jarak datar antara titik pada peta di Google Earth Pro:

1. Buka Google Earth Pro, atau unduh perangkat lunak secara gratis.

2. Buka lokasi yang ingin Anda jadikan titik awal dengan memasukkan nama di bilah pencarian di sudut kiri atas layar.

3. Di menu atas, pilih ikon penggaris.

4. Pastikan "Navigasi Mouse" dicentang dan Anda berada di bagian "Garis".

5. Pilih unit pengukuran yang ingin Anda gunakan dari dropdown.

6. Klik titik pertama dan kemudian titik kedua yang ingin Anda gunakan untuk pengukuran Anda.

Anda akan melihat garis kuning muncul di peta dan pengukuran akan muncul di bagian penggaris di jendela Google Earth Pro.

Dari sana, Anda dapat menyimpan dan memberi nama pengukuran dengan mengklik "Simpan" dan memberinya nama yang sesuai, sebelum mengklik "Oke." Pengukuran kemudian akan disimpan ke bagian "Tempat" di akun Anda.


Jenis pengukuran tersedia dengan alat Ukur

Daftar drop-down Pilih Jenis Pengukuran menyediakan pilihan jenis pengukuran yang akan digunakan untuk pengukuran jarak. Jenis pengukuran yang tersedia antara lain Planar, Geodesic, Loxodrome, dan Great Elliptic.

Pengukuran planar menggunakan matematika Cartesian 2D untuk menghitung panjang dan luas. Opsi ini hanya tersedia saat mengukur dalam sistem koordinat yang diproyeksikan dan bidang 2D dari sistem koordinat tersebut akan digunakan sebagai dasar pengukuran. Semua pengukuran luas yang dihitung dengan alat ukur adalah planar.

Garis terpendek antara dua titik di permukaan bumi pada spheroid (ellipsoid). Salah satu kegunaan garis geodesik adalah ketika Anda ingin menentukan jarak terpendek antara dua kota untuk jalur penerbangan pesawat. Ini juga dikenal sebagai garis lingkaran besar jika didasarkan pada bola daripada ellipsoid.

Loxodrome bukanlah jarak terpendek antara dua titik, melainkan mendefinisikan garis bantalan konstan, atau azimuth. Rute lingkaran besar sering dipecah menjadi serangkaian loxodrom, yang menyederhanakan navigasi. Ini juga dikenal sebagai garis rhumb.

Garis pada bola (ellipsoid) yang ditentukan oleh perpotongan di permukaan oleh bidang yang melewati pusat bola dan titik awal dan akhir segmen. Ini juga dikenal sebagai lingkaran besar ketika bola digunakan. Jenis elips yang hebat memungkinkan Anda untuk membuat garis saja.

Saat mengukur dalam bingkai data dengan sistem koordinat yang diproyeksikan, jenis pengukuran default adalah Planar . Ini berarti bahwa matematika Kartesius 2D digunakan untuk menghitung panjang. Pengukuran planar mencerminkan proyeksi data geografis ke permukaan 2D (dengan kata lain, mereka tidak akan memperhitungkan kelengkungan bumi). Jenis pengukuran Geodesic , Loxodrome , dan Great Elliptic dapat dipilih sebagai alternatif jika diinginkan.

Saat mengukur dalam bingkai data dengan sistem koordinat geografis, jenis pengukuran default adalah Geodesik. Pengukuran garis planar dan semua pengukuran area tidak akan tersedia saat mengukur dalam sistem koordinat geografis. Jenis pengukuran Loxodrome dan Great Elliptic dapat dipilih sebagai alternatif jika diinginkan.


Ambil dan simpan pengukuran

  1. Buka Google Earth Pro. .
  2. Di bilah menu, klik AlatPenggaris. Jendela "Penguasa" baru dengan opsi muncul.
  3. Di kiri bawah, pilih Navigasi Mouse.
  4. Klik tab untuk apa yang ingin Anda ukur.
  5. Di peta, arahkan kursor ke suatu tempat dan klik titik awal untuk pengukuran Anda.
  6. Kemudian, arahkan kursor ke tempat lain dan klik titik akhir.
  7. Pengukuran akan muncul di jendela "Penggaris". Untuk menyimpan pengukuran Anda, klik Menyimpan.
  8. Di bidang "Nama", ketikkan nama untuk pengukuran Anda.
  9. Di kanan bawah, klik baik. Google Earth Pro akan menambahkan pengukuran Anda di bawah "Tempat" di panel sebelah kiri.

Tambahkan lebih banyak detail saat Anda menyimpan pengukuran

Di jendela "Jalur Baru" atau "Edit Jalur", ubah bidang seperti ketinggian, warna, atau gaya.


  • 21 Februari 2021 - Unit jarak yang dipilih disimpan dan dipanggil kembali saat Anda berkunjung berikutnya next
  • 6 Juli 2020 - Opsi baru untuk Mengekspor tautan ke rute. Ditemukan di dalam bagian Opsi Ekspor
  • 2 Juni 2019 - Memperbaiki bug dengan keluaran meter tidak berfungsi
  • 29 Mei 2019 - Peta Leaflet yang Diimplementasikan
  • 20 Mei 2019 - Memperbaiki bug di browser IE
  • 9 Mei 2019 - Memperbaiki masalah dengan jarak yang tidak diatur ulang ke nol saat tombol Hapus Peta diklik
  • 14 September 2017 - Jarak sekarang ditampilkan di peta saat dalam mode layar penuh
  • 4 Agustus 2017 - Pemilih unit diperbarui. Unit kaki ditambahkan
  • 24 Juli 2017 - Opsi Layar Penuh dipindahkan ke peta. Sekarang ditemukan di sudut kanan atas
  • 4 Juli 2017 - Memperbaiki masalah dengan ekspor CSV dan XLSX
  • 29 Januari 2017 - Opsi untuk menampilkan grafik elevasi dan mengekspor file CSV data elevasi di sepanjang rute
  • 25 November 2016 - Ekspor KML untuk menunjukkan pin di setiap node di sepanjang rute
  • 23 November 2016 - Menambahkan opsi unduhan KML, CSV, dan XLSX
  • 19 Juli 2016 - Perbaikan bug dengan cara moda transportasi dan perkiraan waktu perjalanan berubah jika unit diubah
  • 5 Juli 2016 - Menambahkan meter sebagai satuan jarak
  • 25 Juni 2016 - Unit kecepatan perjalanan berubah tergantung pada unit jarak
  • 20 Juni 2016 - Memperbaiki masalah dengan pengukuran hari yang menampilkan dua kali nilai sebenarnya
  • 24 Maret 2016 - Poin rute sekarang dapat ditambahkan di tengah jalan. Poin juga dapat dihapus dengan mengklik kanan
  • 25 Januari 2016 - Kecepatan sekarang dapat dimasukkan secara manual
  • 28 Desember 2015 - Menambahkan opsi untuk mengubah antara menit, jam, dan hari untuk perkiraan waktu perjalanan
  • 24 Juni 2014 - Menambahkan opsi Snap To Roads
  • 24 Maret 2014 - Menambahkan opsi Pan to My Location My
  • 11 Januari 2012 - Menerapkan Google Maps API V3. Menambahkan opsi Layar Penuh
  • 12 Oktober 2010 - Penanda sekarang menunjukkan garis lintang dan garis bujurnya saat Anda mengarahkan kursor ke atasnya
  • 15 Oktober 2009 - Menambahkan keluaran waktu perjalanan
  • 12 Oktober 2009 - Menambahkan opsi peta medan
  • 20 Februari 2008 - Perombakan desain sekarang dengan penanda yang dapat diseret
  • 1 November 2007 - Menambahkan kotak teks pencarian cepat
  • 19 Oktober 2007 - Yard sekarang ditambahkan sebagai unit pengukuran
  • 9 Oktober 2007 - Mil Laut ditambahkan sebagai satuan pengukuran
  • 5 September 2007 - Teks Deskriptif Diperbarui
  • 28 Juni 2007 - Halaman Dibuat

Jika Anda mencoba mengukur jarak antara dua kota, maka alat Seberapa Jauh Jarak Antar mungkin lebih cocok untuk kebutuhan Anda.


Hitung semua jarak antara dua GeoDataFrame (titik) di GeoPandas

Ini adalah kasus yang cukup sederhana, tetapi sejauh ini saya tidak menemukan cara mudah untuk melakukannya. Idenya adalah untuk mendapatkan satu set jarak antara semua titik yang didefinisikan dalam GeoDataFrame dan yang didefinisikan dalam GeoDataFrame lain.

Ini menghasilkan jarak elemen-bijaksana antara titik di gdf_1 dan gdf_2 yang berbagi indeks yang sama (dengan juga peringatan karena kedua GeoSeries tidak memiliki indeks yang sama, yang akan menjadi kasus saya).

Pertanyaannya adalah bagaimana mungkin untuk mendapatkan serangkaian jarak semua titik ke titik (atau setidaknya, kombinasi unik dari indeks gdf_1 dan gdf_2 karena simetris).

Dalam posting ini, solusi diberikan untuk beberapa poin tetapi saya tidak dapat menemukan cara langsung untuk menggabungkan semua poin dalam dua kumpulan data.

Dalam posting ini hanya operasi elemen-bijaksana yang diusulkan.

Sebuah pertanyaan analog juga diajukan pada repo GitHub dari geopanda. Salah satu solusi yang diusulkan adalah dengan menggunakan metode apply, tanpa jawaban yang detail.


1 Jawaban 1

Ini sangat bergantung pada semua jenis detail, tetapi untuk situasi ideal, data berikut sudah cukup:

Selain itu, sebut jarak antara kamera dan dua titik $L$.

Bidang pandang kamera ($FOV$) (atau sudut pandang seperti yang lebih umum dalam fotografi) dapat dihitung dengan

yang, untuk adegan pada jarak $L$ sesuai dengan dimensi adegan $W$ sama dengan

$ W = 2cdot Lcdot an(FOV/2) = frac $

oleh karena itu, jika dua objek terpisah $x$ piksel, dan ada $y$ piksel dalam dimensi itu, objeknya adalah

Seperti biasa, pastikan Anda sering menggunakan satuan yang konsisten, panjang fokus akan diberikan dalam milimeter, sedangkan ukuran detektor diberikan dalam inci dan jarak dari kamera ke objek dalam kaki. Pilih satu sistem, dan ubah semuanya menjadi satu sistem unit sebelum menghitung apa pun.

Sekali lagi, ini adalah perkiraan pertama dan hanya berlaku untuk pengaturan yang ideal. Sebenarnya masih banyak hal lain yang perlu diperhatikan, namun jarak antar objek kira-kira akan mengikuti hubungan di atas.