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");
}