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.

Subscibe Now

Suka dengan artikel di Jagowebdev.com? jangan sampai ketinggalan, segera join ke milis kami untuk update informasi terbaru dari Jagowebdev.com

Komitmen Kami: Kami senantiasa menghargai privasi Anda dan tidak akan membagikan identitas Anda ke pihak manapun.

Silakan tinggalkan komentar

Newsletter

Jadilah yang pertama tahu berita terbaru dari Jagowebdev.com