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.
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.
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. TerimakasihGcell atau MSDB sebenarnya dibuat dari tabel dalam format txt atau excel.
Tabel Gcell
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