radius calculate
menghitung kalkulasi dari tujuan dan object
by trisna dev
JavaScript
function haversine(lat1, lon1, lat2, lon2) {
// Radius of the Earth in kilometers
const R = 6371;
// Convert latitude and longitude from degrees to radians
const lat1Rad = (lat1 * Math.PI) / 180;
const lon1Rad = (lon1 * Math.PI) / 180;
const lat2Rad = (lat2 * Math.PI) / 180;
const lon2Rad = (lon2 * Math.PI) / 180;
// Haversine formula
const dlon = lon2Rad - lon1Rad;
const dlat = lat2Rad - lat1Rad;
const a = Math.sin(dlat / 2) ** 2 + Math.cos(lat1Rad) * Math.cos(lat2Rad) * Math.sin(dlon / 2) ** 2;
const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
// Calculate the distance in kilometers
const distance = R * c;
return distance;
}
function isCoordinateWithinRadius(lat1, lon1, lat2, lon2, radius) {
const distance = haversine(lat1, lon1, lat2, lon2);
return distance <= radius;
}
const centerLat = 106.91594469987164; //ptc
const centerLon = -6.1824833372780725;
const coordLat = 106.91769259848763; // koramil
const coordLon = -6.182950240693623;
const radiusKm = 1.0; // Radius in kilometers
const isWithinRadius = isCoordinateWithinRadius(centerLat, centerLon, coordLat, coordLon, radiusKm);
if (isWithinRadius) {
console.log("Coordinate is within the radius");
} else {
console.log("Coordinate is outside the radius");
}