Files
webgis-pemetaan-sosial/WebGISPovertyMapping/api/rumahibadah/load_ibadah.php
T
2026-06-10 21:06:57 +07:00

39 lines
1.0 KiB
PHP

<?php
header('Content-Type: application/json');
require_once '../../../config.php';
$conn = getDB();
$result = $conn->query("SELECT * FROM rumah_ibadah");
$data = [];
while ($row = $result->fetch_assoc()) {
$id = $row['id'];
$lat = $row['lat'];
$lng = $row['lng'];
$radius_m = $row['radius_m'];
// Hitung jumlah rumah prasejahtera dalam radius
// menggunakan formula Haversine langsung di SQL
$stmt = $conn->prepare("
SELECT COUNT(*) as total
FROM rumah_prasejahtera
WHERE (
6371000 * acos(
cos(radians(?)) * cos(radians(lat)) *
cos(radians(lng) - radians(?)) +
sin(radians(?)) * sin(radians(lat))
)
) <= ?
");
$stmt->bind_param("dddd", $lat, $lng, $lat, $radius_m);
$stmt->execute();
$hitungResult = $stmt->get_result()->fetch_assoc();
$stmt->close();
$row['jumlah_tercakup'] = (int) $hitungResult['total'];
$data[] = $row;
}
echo json_encode($data);
$conn->close();
?>