P. 1
Menghitung Jarak Antar Koordinat

Menghitung Jarak Antar Koordinat

|Views: 5,452|Likes:
Dipublikasikan oleh reyanceloti

More info:

Published by: reyanceloti on Dec 22, 2011
Hak Cipta:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

06/17/2013

pdf

text

original

MENGHITUNG JARAK ANTAR KOORDINAT

Cara mudah menentukan koordinat sekarang ini bisa dilakukan dengan menggunakan HP NOKIA C5. Salah satu feature HP tersebut adalah adanya Global Position System (GPS) untuk mengetahui posisi suatu daerah atau tempat tinggal. Berikut ini adalah nama-nama tempat yang telah diketahui titik koordinatnya dengan menggunakan GPS: Lapangan AGATIS Tanjung Selor, 2˚50’26.49”Lintang-Utara/North (N), 117˚22’26.06”BujurTimur/East (E); Tempat tinggal Massugeng, 2˚50’44.42”N, 117˚22’20.86”E; Bank Rakyat Indonesia (BRI) Cabang Tanjung Selor, 2˚50’05.85”N, 117˚21’56.03”E. Nah, sekarang bisakah jarak antar lokasi diperkirakan berapa meter atau kilometer jauhnya? Jika menggunakan Google-Earth akan langsung dapat diketahui jarak antar titik-titik koordinat dengan menarik garis dari satu titik ke titik yang diinginkan. Jika tidak maka bisa dihitung menggunakan rumus: 1’=1.825 m, 1”=30,416 m. selanjutnya selisih angka N menghasilkan sumbu vertical, sedangkan selisih angka E menghasilkan sumbu horizontal. Adapun jarak antar titik atau koordinat adalah merupakan garis miring sebuah sisi segitiga siku. Baiklah sekarang kita coba menghitung jarak Lapangan AGATIS Tanjung Selor dengan Tempat tinggal Massugeng. Tempat tinggal Massugeng 2˚50’44.42” 117˚22’20.86” Lapangan AGATIS Selisih 2˚50’26.49” 117˚22’26.06” 17.93” 5.10” Dikalikan 30,416 m 545,36 m 155,12 m

N E

Jarak Tempat tinggal Massugeng dengan Lapangan AGATIS = √(545.362+155.122)m2 = 566,99 m Kita hitung lagi jarak Tempat tinggal Massugeng dengan BRI:

N E

Tempat tinggal Massugeng 2˚50’44.42” 117˚22’20.86”

BRI 2˚50’05.85” 117˚21’56.03”

Selisih 38.57” 64.83”

Dikalikan 30,416 m 1.173,14 m 1.971,86 m

Jarak Tempat tinggal Massugeng dengan BRI Cabang Tanjung Selor = √(1.173,142+1.971,862)m2 = 2.294,44 m

Menghitung Jarak Antara 2 Koordinat Gara-gara mencari jarak antara 2 koordinat(Latitude, Longitude) jadi tidak tidur 2 hari 2 malam. Ternyata perhitungannya sangat sederhana yaitu menggunakan rumus "Haversine" dimana persamaannya adalah : a = sin²(Δlat/2) + cos(lat1).cos(lat2).sin²(Δlong/2) Haversine formula: c = 2.atan2(√a, √(1−a)) d = R.c

tapi kesenangan itu tidak cukup lama setelah saya mencoba mengotak-atik program saya. saya memang anti yang namanya Trigonometri tetapi dengan sanggat terpaksa saya harus mengubahnya ke dalam C# sehingga di peroleh seperti ini kira-kira : public Double Haversine(Double lat1. public double getDistance(double lat1.371 untuk satuan kilometer Tidak hanya itu saja. ternyata menuangkan rumus ini ke dalam C# cukup sulit. double lon2) { double R = 6371. dan setelah saya coba itu sama saja dengan procedure yang saya temukan jadi percuma saja saya melakukan perhitungan dengan Haversine kalo ada yang lebih praktis. seperti "-6. Rumus menghitung jarak antar 2 titik koordinat (latitude.Sin(dlon/2)* Math.a)).Cos(toRad(lat2)).Atan2(Math.long1). double lat2. } Bukan main senangnya saya setelah bisa melakukan perhitungannya. double c = 2 * Math.Sqrt(1 .//ini kalau tidaksalah adalah Radius bumi double dividerToRad = 57. . Math. double a = Math. pasti perlu tau berapa jarak dari kedua titik tersebut.GetDistanceTo(Tujuan. menggunakan method GetDistanceTo pada C# : Asal.Sqrt(a).longitude) Ada yg pernah pakai Google Maps? Lokasi dimana Anda berada dapat ditunjukkan dengan koordinat. Tapi tidak apa-apa lah itung-itung menambah pengetahuan. Double long2) { double dlat = toRad(lat2 . saya ketemu Method GetDistanceTo().Location). double lat1rad = lat1 / dividerToRad. Jika kalian mengetahui lokasi suatu tempat kan tinggal klik kanan-lalu pilih "Ada apa disini?what's here?" .106.dimana R sudah di tentuin yaitu = 6. Double lat2. double lon1rad = lon1 / dividerToRad.Sin(dlon / 2) * Math.8214". double dlon = toRad(long2 . maka koordinat akan didapat.lat1). Double long1.Sin(dlat/2) + Math.Sin(dlat/2)* Math.2110. double lon1.Cos(toRad(lat1)) * Math.29577951. return 6371 * c. Nah diantara titik2 tempat yg ingin Anda ketahui.Location.

Koordinat gedung kantor saya terletak pada "-6.106. Nah.Sqrt(a). bagaimanakah cara mengukur jaraknya? Tentu yang dimaksud jarak di sini ialah panjang garis lurus yang menghubungkan kedua titik tersebut. double d = R * c. Sebagaimana diketahui. double lon2rad = lon2 / dividerToRad.106.98073733882295 km atau kira2 1980.Sin(dLat / 2) + Math. seperti sinus.-6. Itu pun masih harus memperhitungkan .106.Cos(lat2rad) * Math.8214". bumi merupakan benda 3 dimensi. Setelah dihitung kira2 jarak yg didapat adalah: 1. Math. double a = Math. Maka pemanggilan methodnya menjadi seperti ini: double jarak = getDistance(-6. double c = 2 * Math. Ingat. //jarak dua titik didapat (dalam satuan kilometer) } Contoh input: Misalnya saya ingin mengetahui berapa jarak dari kantor saya ke BEJ.808631". Tugu Monas berada di koordinat (6.223497.lon1). Perhitungannya menjadi rumit karena melibatkan perhitungan trigonometri. double dLon = (lon2 . cosinus.223497.Cos(lat1rad) * Math. sekarang bila ada dua titik di bumi.lat1).Sin(dLon / 2).Sin(dLon / 2) * Math. Sebagai contoh.Atan2(Math. karena ternyata jarak yang dimaksud merupakan panjang busur yang menghubungkan kedua titik di mana pusat busur tersebut ialah pusat bola bumi.827117). Jadi jarak dua titik koordinat bumi tidaklah dapat dianggap panjang garis lurus yang menghubungkannya.Sin(dLat / 2) * Math.8214.Sqrt(1 .808631).175244. return d.106. koordinat bumi menggunakan Latitude dan Longitude. kita dapat menghitung jarak dua titik menggunakan rumus sederhana dua dimensi.double lat2rad = lat2 / dividerToRad.106. sedangkan untuk BEJ terletak di "6. double dLat = (lat2 . Namun menghitung jarak dua titik di permukaan bumi tidak sesederhana itu. serta melibatkan panjang jari-jari bola bumi.7373 meter s GPS: MySQL: Menghitung Jarak antara Dua Titik Koordinat Bumi Ketika bermain dengan (baca: membuat) aplikasi GPS. Dalam koordinat kartesian yang kita pelajari di sekolah menengah.2110.a)). dan arcus tangens. ada kalanya kita ingin mengukur jarak (dalam km) antara dua titik koordinat bumi.2110.

bit of protection against bad data SET axis = (SIN(RADIANS(lat2-lat1)/2) * SIN(RADIANS(lat2lat1)/2) + COS(RADIANS(lat1)) * COS(RADIANS(lat2)) * SIN(RADIANS(long2-long1)/2) * SIN(RADIANS(long2-long1)/2)).761 --miles -. Namun ternyata. tentu saja ini merepotkan. kontur atau ketinggian (altitude) tidak dihitung di sini. Hufff. `long1` FLOAT. `lat2` FLOAT.kontur atau ketinggian kedua titik tersebut. bila ada masalah eksekusi perintah SQL di atas. `long2` FLOAT) RETURNS FLOAT LANGUAGE SQL DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER COMMENT '' BEGIN DECLARE distance FLOAT DEFAULT -1. END.009 --km DECLARE axis FLOAT. Dengan kata lain. -. CREATE FUNCTION `get_distance_between_geo_locations`(`lat1` FLOAT. SQRT(1axis))). IF ((lat1 IS NOT NULL) AND (long1 IS NOT NULL) AND (lat2 IS NOT NULL) AND (long2 IS NOT NULL)) THEN -. kemungkinan besar karena masalah delimiter. END IF. Tentu saja dengan asumsi bahwa kedua titik yang dihitung jaraknya berada pada jarak yang sama dari pusat bola bumi. Silakan tambahkan di atas baris paling atas: DELIMITER $$ dan baris yang paling bawah diganti dengan: END $$ .3958. SET distance = earthRadius * (2 * ATAN2(SQRT(axis). RETURN distance. terutama bila kita ingin melakukan SELECT di MySQL di mana query-nya mensyaratkan perhitungan jarak antara dua titik koordinat bumi. DECLARE earthRadius FLOAT DEFAULT 6371.6371.009. Oya. seorang programmer bernama Sebastian Bauer sudah melakukannya untuk kita :) berikut ini ialah kode perintah SQL untuk maksud di atas.

You're Reading a Free Preview

Mengunduh
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->