ffCCBot/2.0 (http://commoncrawl.org/faq/)
NEW!! Buku Query MySQL Lihat Detail » x

Mencari Titik Tengah Koordinat Dengan Javascript dan PHP

Berikut ini salah satu cara untuk mencari titik tengah koordinat menggunakan bahasa pemrograman PHP dan Javascript, jika sobat menggunakan bahasa pemrogrman lain, sobat dapat mengkonversinya, yang terpenting, alur pemrogramannya sudah didapat.

Cara ini dapat diterapkan juga untuk mencari titik tengah koordinat semua jenis bidang baik segitiga, bujursangkan, persegi, polygon, dll, koordinat yang digunakan juga dapat bermacam-macam, bisa point (x, y) maupun koordinat bumi (latitude dan longitute), saya sendiri sering menggunakannya terutama untuk mencari titik tengah koordinat  polygon pada suatu peta/map yang saya bangun dengan library leafletjs.

Jika sobat ingin secara cepat mencari titik tengah koordinat, sobat dapat menggunakan tools berikut: Centroid Calculator

Berikut kodenya:

Kode PHP

function getCentroid($coord) 
{
	$result = array_reduce( $coord, function ($x,$y) use ($coord) {
		$coord_length = count($coord);
		return [$x[0] + $y[0]/$coord_length, $x[1] + $y[1]/$coord_length];
	}, array(0,0) );
	return $result;
}

Kode Javascript:

var getCentroid = function (coord) 
{
	result = coord.reduce(function (x,y) {
		return [x[0] + y[0]/coord.length, x[1] + y[1]/coord.length] 
	}, [0,0])
	return result;
}

Fungsi diatas akan menghasilkan koordinat x dan y dalam bentuk array [x, y]. Agar dapat berjalan dengan baik, kita perlu memberikan argumen pada fungsi tersebut, adapun jenis argumennya adalah array dan harus memiliki pola sebagai berikut:

Array 
(
    0 => Array
        (
            0 => 3, //x
            1 => 4  //y
        ),

    1 => Array
        (
            0 => 3,
            1 => 0
        ),

    2 => Array
        (
            0 => 0,
            1 => 0
        ),

    3 => Array
        (
            0 => 0,
            1 => 4
        )
)

Contoh I: Mencari Titik Tengah Koordinat Bidang Pada Koordinat Point

1. Mencari Titik Tengah Koordinat Garis Lurus

Contoh untuk garis lurus dengan koordinat: [1,1] dan [6,4], akan menghasilkan titk tengah [3.5, 2.5]

Mencari Titik Tengah Koordinat Garis - Dengan Points

PHP

$coord = array(array(1,1), array(6,4));
print_r(getCentroid($coord));

Javascript

var coord = [[1,1], [3,0]];
console.log(getCentroid(coord));

2. Mencari Titik Tengah Koordinat Segitiga

Contoh untuk segitiga dengan koordinat: [1,1], [2,5], dan [5,2] akan menghasilkan titk tengah [2.666, 2.666]

Mencari Titik Tengah Koordinat Segitiga - Dengan Points

PHP:

$coord = array(array(1,1), array(2,5), array(5,2));
print_r(getCentroid($coord));

Javascript:

var coord = [[1,2], [2,5], [5,2]];
console.log(getCentroid(coord));

3. Mencari Titik Tengah Koordinat Polygon

Contoh untuk polygon dengan koordinat: [1,0], [4,0], [5,3], [2.5,5], dan [0,3] akan menghasilkan titk tengah [2.5, 2.2]

Mencari Titik Tengah Koordinat Polygon - Dengan Points

PHP:

$coord = array(array(1,0), array(4,0), array(5,3), array(2.5,5), array(0, 3));
print_r(getCentroid($coord));

Javascript:

var coord = [[1,0], [4,0], [5,3], [2.5,5], [0,3]];
console.log(getCentroid(coord));

Contoh II: Mencari Titik Tengah Koordinat Polygon Pada Koordinat Bumi

Pada contoh ini saya menggunakan library javascript bernama leafletjs untuk menampilkan bentuk polygon dan segitiga pada koordinat bumi, tidak ada alasan khusus penggunaan library ini, kecuali karena saya sering menggunakannya, sehingga lebih familiar, sobat dapat menggunakan dan mengadopsinya pada library lainnya.

1. Mencari titik tengah koordinat segitiga pada koordinat bumi

Misalkan kita memiliki segitiga dengan koordinat:

  1. [-6.814881325140519, 110.82063674926758],
  2. [-6.820676540518637, 110.82312583923338],
  3. [-6.821358325955008, 110.81437110900879]

ketika kita jalankan fungsi centroid, maka akan kita dapatkan koordinat Lat: -6.818972063871388 dan Lng: 110.81937789916992 sebagai titik tengahnya

Mencari Titik Tengah Koordinat Segitiga - Dengan Koordinat Bumi (Leaflet JS)

PHP:

$coord = array(
				array(-6.814881325140519, 110.82063674926758), 
				array(-6.820676540518637, 110.82312583923338), 
				array(-6.821358325955008, 110.81437110900879),
				array(-6.814881325140519, 110.82063674926758)
			);
			
print_r(getCentroid($coord));

Javascript:

var segitiga = [
				[-6.814881325140519, 110.82063674926758],
				[-6.820676540518637, 110.82312583923338],
				[-6.821358325955008, 110.81437110900879]
			]
console.log(getCentroid(segitiga));

2. Mencari titik tengah koordinat polygon pada koordinat bumi

Misalkan kita memiliki polygon dengan koordinat:

  1. [-6.8146256522600135, 110.80389976501465],
  2. [-6.818205060178089, 110.8000373840332],
  3. [-6.822551448133406, 110.80252647399902],
  4. [-6.822381002289906, 110.80673217773438],
  5. [-6.817011927175412, 110.80827713012695]

ketika kita jalankan fungsi centroid, maka akan menghasilkan koordinat Lat: -6.818955018007365 dan Lng: 110.80429458618164 sebagai titik tengah polygon.

Mencari Titik Tengah Koordinat Polygon - Dengan Koordinat Bumi (Leaflet JS)

PHP

$coord = array(
				array(-6.8146256522600135, 110.80389976501465),
				array(-6.818205060178089, 110.8000373840332), 
				array(-6.822551448133406, 110.80252647399902),
				array(-6.822381002289906, 110.80673217773438),
				array(-6.817011927175412, 110.80827713012695)
			);
			
print_r(getCentroid($coord));

Javascript:

var polygon = [
				[-6.8146256522600135, 110.80389976501465],
				[-6.818205060178089, 110.8000373840332],
				[-6.822551448133406, 110.80252647399902],
				[-6.822381002289906, 110.80673217773438],
				[-6.817011927175412, 110.80827713012695]
			]
console.log(getCentroid(polygon));

Deminikian tutorial mengenai cara mencari titik tengah dari suatu koordinat, semoga bermanfaat.

Recomended Post

Silakan tinggalkan komentar

*

Like Us

Dapatkan update artikel terbaru via E-Mail
  1. Query MySQL di Dalam PHP Loop – Bad Practice !!!

  2. Software Kompres dan Optimasi Gambar / Foto (JPG dan PNG) – Tested

  3. 40+ Theme WordPress Gratis Untuk Blog – Modern & Responsive

  4. Eksklusif Cheat Sheet PHP Bahasa Indonesia – Pendamping Belajar PHP

  5. PHP FORM III: Menampilkan Data MySQL Dengan PHP dan Form HTML

  6. Tutorial PHP Form II: Menampilkan Hasil Input Form HTML dengan PHP

  7. Tutorial PHP Form I: Menghubungkan Form HTML dengan PHP

  8. Menampilkan Data Dari Beberapa Tabel MySQL – JOIN Pada MYSQL

  9. Memahami dan Menampilkan Tanggal dan Waktu Pada PHP

  10. Menghitung Selisih Waktu Dengan PHP – Cara Termudah