Rabu, 18 September 2019

Menentukan Titik Koordinat Akhir Berdasarkan Titik Koordinat Awal, Jarak dan Arah Dengan PHP

Dalam dunia telekomunikasi, kita tidak akan asing lagi jika mendengar kata Gcell atau MSDB. Gcell atau MSDB adalah file yang berisikan informasi site-site di area tertentu yang bisa dipetakan di mapinfo ataupun di google earth. Dari Gcell tersebut kita bisa mengetahui site informasi termasuk letak site dan arah masing-masing antenna.

Gcell atau MSDB sebenarnya dibuat dari tabel dalam format txt atau excel.

 Tabel Gcell

Dengan bantuan tools common atau site see tabel tersebut bisa berubah jadi tabfile yang bisa di buka di mapinfo atau bisa dirubah dalam bentuk kml yang bisa dibuka di google earth.
 Tampilan Gcell di Mapinfo

Tampilan Gcell di Google Earth

Syaratnya file txt atau excel tadi minimal harus berisi 6 kolom; yaitu:
1. Site ID
2. Azimuth (arah antenna)
3. Longitude
4. Latitude
5. Beam antenna
6. Radius

Nah pertanyaannya, pernahkah agan berfikir bagaimana caranya table yang isi 6 kolom itu berubah jadi tampilan menarik dengan bentuk segitiga sesuai arah antenna dan beamnya?

Untuk membuat bentuk arah azimuth dan beamnya itu berawal dari pertanyaan bagaimana menentukan titik akhir jika kita punya titik awal, arah dan jarak. Karena bentuk itu dibuat dari kumpulan garis, yang berawal dari titik awal dan digarisi berdasarkan arah dan jarak sehingga didapat titik akhir dan seterusnya sampai bertemu lagi ke titik awal.

Jika sudah ketemu cara menentukan titik akhir, pandangan kita akan lebih luas lagi untuk membuat sebuah bentuk.

Berikut kode PHP nya

<?php
$R = 6378.1; //Jari-jari Bumi
$brng = 71.75; //Arah dalam derajat
$brng = deg2rad($brng); //Arah dirubah ke Radian
$d = 4.43; //Jarak dalam km
$lat1 = -0.935417; // Latitude Awal dalam derajat
$lat1 = deg2rad($lat1); //Latitude dirubah ke radians
$lon1 = 100.367306; //Longitude Awal
dalam derajat
$lon1 = deg2rad($lon1); //Longitude dirubah ke radians

//====== Mencari Latitude Akhir ========
$lat2 = asin( sin($lat1)*cos($d/$R)+cos($lat1)*sin($d/$R)*cos($brng));



//====== Mencari Longitude Akhir======== 
$lon2 = $lon1 + atan2(sin($brng)*sin($d/$R)*cos($lat1),
             cos($d/$R)-sin($lat1)*sin($lat2));

$lat2 = rad2deg($lat2); //Latitude akhir dirubah ke derajat
$lon2 = rad2deg($lon2);
//Longitude akhir dirubah ke derajat


echo "Lat Target = $lat2 \n"; //Tampilkan Latitude Akhir
echo "Lon Target = $lon2 \n";
//Tampilkan Longitude Akhir 

Mungkin itu saja yang bisa saya share, semoga bermanfaat, mohon maaf jika ada kesalahan menulis. Terimakasih

Iklan13

Iklan14