tampilkan data fix database

This commit is contained in:
naukyy
2026-06-13 00:58:44 +07:00
parent 1c96173d55
commit ed184225a5
17 changed files with 71 additions and 48 deletions
+2 -2
View File
@@ -1,10 +1,10 @@
<?php
<?php
/**
* jalan.php
* Tanggung Jawab: Menangani operasi CRUD untuk entitas Jalan (LineString).
*/
require_once '../core_config/database.php';
require_once __DIR__ . '/../../../webgis_app/core_config/database.php';
require_once '../utils/response_helper.php';
$pdo = Database::getConnection();
+3 -2
View File
@@ -1,10 +1,10 @@
<?php
<?php
/**
* kavling.php
* Tanggung Jawab: Menangani operasi CRUD untuk entitas Kavling (Polygon).
*/
require_once '../core_config/database.php';
require_once __DIR__ . '/../../../webgis_app/core_config/database.php';
require_once '../utils/response_helper.php';
$pdo = Database::getConnection();
@@ -21,6 +21,7 @@ switch ($method) {
'geometry' => json_decode($row['geojson']),
'properties' => [
'id' => $row['id'],
'nama' => $row['nama_pemilik'],
'nama_pemilik' => $row['nama_pemilik'],
'luas' => $row['luas'],
'created_at' => $row['created_at']
+2 -2
View File
@@ -1,5 +1,5 @@
<?php
require_once '../core_config/database.php';
<?php
require_once __DIR__ . '/../../../webgis_app/core_config/database.php';
require_once '../utils/response_helper.php';
$pdo = Database::getConnection();
+2 -2
View File
@@ -1,10 +1,10 @@
<?php
<?php
/**
* jalan.php
* Tanggung Jawab: Menangani operasi CRUD untuk entitas Jalan (LineString).
*/
require_once '../core_config/database.php';
require_once __DIR__ . '/../../../webgis_app/core_config/database.php';
require_once '../utils/response_helper.php';
$pdo = Database::getConnection();
+3 -2
View File
@@ -1,10 +1,10 @@
<?php
<?php
/**
* kavling.php
* Tanggung Jawab: Menangani operasi CRUD untuk entitas Kavling (Polygon).
*/
require_once '../core_config/database.php';
require_once __DIR__ . '/../../../webgis_app/core_config/database.php';
require_once '../utils/response_helper.php';
$pdo = Database::getConnection();
@@ -21,6 +21,7 @@ switch ($method) {
'geometry' => json_decode($row['geojson']),
'properties' => [
'id' => $row['id'],
'nama' => $row['nama_pemilik'],
'nama_pemilik' => $row['nama_pemilik'],
'luas' => $row['luas'],
'created_at' => $row['created_at']
+19 -3
View File
@@ -1,10 +1,10 @@
<?php
<?php
/**
* rumah_ibadah.php
* Tanggung Jawab: Operasi CRUD Rumah Ibadah + Endpoint analisis jangkauan Haversine.
*/
require_once '../core_config/database.php';
require_once __DIR__ . '/../../../webgis_app/core_config/database.php';
require_once '../utils/response_helper.php';
require_once '../utils/geo_helper.php';
@@ -31,7 +31,23 @@ switch ($method) {
// Panggil geo_helper untuk mendapatkan warga miskin
$warga = GeoHelper::getWargaDalamRadius($pdo, $pusatLat, $pusatLon, $radius);
sendSuccess($warga, 'Data jangkauan berhasil dihitung');
// Format ke GeoJSON FeatureCollection sesuai kebutuhan frontend
$features = [];
foreach ($warga as $w) {
$features[] = [
'type' => 'Feature',
'geometry' => $w['geometry'],
'properties' => [
'id' => $w['id'],
'nama' => $w['nama_kk'],
'penghasilan' => $w['penghasilan'],
'jumlah_tanggungan' => $w['jumlah_tanggungan'],
'jarak_km' => $w['jarak_km']
]
];
}
sendSuccess(['type' => 'FeatureCollection', 'features' => $features], 'Data jangkauan berhasil dihitung');
} else {
// GET Semua Rumah Ibadah (GeoJSON)
+2 -2
View File
@@ -1,5 +1,5 @@
<?php
require_once '../core_config/database.php';
<?php
require_once __DIR__ . '/../../../webgis_app/core_config/database.php';
require_once '../utils/response_helper.php';
$pdo = Database::getConnection();
+2 -2
View File
@@ -1,10 +1,10 @@
<?php
<?php
/**
* warga_miskin.php
* Tanggung Jawab: Operasi CRUD untuk Warga Miskin.
*/
require_once '../core_config/database.php';
require_once __DIR__ . '/../../../webgis_app/core_config/database.php';
require_once '../utils/response_helper.php';
$pdo = Database::getConnection();
+1 -1
View File
@@ -42,7 +42,7 @@ export const rumahIbadahService = createService('02/backend/api/rumah_ibadah.php
export const wargaMiskinService = createService('02/backend/api/warga_miskin.php');
export const haversineService = {
getDalamRadius: async (id, radius) => {
const res = await fetch(`${BASE_URL}/02/backend/api/haversine.php?rumah_ibadah_id=${id}&radius_km=${radius}`);
const res = await fetch(`${BASE_URL}/02/backend/api/rumah_ibadah.php?action=jangkauan&id=${id}&radius=${radius}`);
const json = await res.json();
return json.data;
}
+2 -2
View File
@@ -1,10 +1,10 @@
<?php
<?php
/**
* jalan.php
* Tanggung Jawab: Menangani operasi CRUD untuk entitas Jalan (LineString).
*/
require_once '../core_config/database.php';
require_once __DIR__ . '/../../../webgis_app/core_config/database.php';
require_once '../utils/response_helper.php';
$pdo = Database::getConnection();
+3 -2
View File
@@ -1,10 +1,10 @@
<?php
<?php
/**
* kavling.php
* Tanggung Jawab: Menangani operasi CRUD untuk entitas Kavling (Polygon).
*/
require_once '../core_config/database.php';
require_once __DIR__ . '/../../../webgis_app/core_config/database.php';
require_once '../utils/response_helper.php';
$pdo = Database::getConnection();
@@ -21,6 +21,7 @@ switch ($method) {
'geometry' => json_decode($row['geojson']),
'properties' => [
'id' => $row['id'],
'nama' => $row['nama_pemilik'],
'nama_pemilik' => $row['nama_pemilik'],
'luas' => $row['luas'],
'created_at' => $row['created_at']
+19 -3
View File
@@ -1,10 +1,10 @@
<?php
<?php
/**
* rumah_ibadah.php
* Tanggung Jawab: Operasi CRUD Rumah Ibadah + Endpoint analisis jangkauan Haversine.
*/
require_once '../core_config/database.php';
require_once __DIR__ . '/../../../webgis_app/core_config/database.php';
require_once '../utils/response_helper.php';
require_once '../utils/geo_helper.php';
@@ -31,7 +31,23 @@ switch ($method) {
// Panggil geo_helper untuk mendapatkan warga miskin
$warga = GeoHelper::getWargaDalamRadius($pdo, $pusatLat, $pusatLon, $radius);
sendSuccess($warga, 'Data jangkauan berhasil dihitung');
// Format ke GeoJSON FeatureCollection sesuai kebutuhan frontend
$features = [];
foreach ($warga as $w) {
$features[] = [
'type' => 'Feature',
'geometry' => $w['geometry'],
'properties' => [
'id' => $w['id'],
'nama' => $w['nama_kk'],
'penghasilan' => $w['penghasilan'],
'jumlah_tanggungan' => $w['jumlah_tanggungan'],
'jarak_km' => $w['jarak_km']
]
];
}
sendSuccess(['type' => 'FeatureCollection', 'features' => $features], 'Data jangkauan berhasil dihitung');
} else {
// GET Semua Rumah Ibadah (GeoJSON)
+2 -2
View File
@@ -1,5 +1,5 @@
<?php
require_once '../core_config/database.php';
<?php
require_once __DIR__ . '/../../../webgis_app/core_config/database.php';
require_once '../utils/response_helper.php';
$pdo = Database::getConnection();
+5 -17
View File
@@ -1,11 +1,11 @@
<?php
<?php
/**
* statistik.php
* Tanggung Jawab: Menyediakan data analisis spasial menggunakan Point in Polygon (ST_Contains).
* Menghitung kepadatan warga miskin dalam setiap kavling.
*/
require_once '../core_config/database.php';
require_once __DIR__ . '/../../../webgis_app/core_config/database.php';
require_once '../utils/response_helper.php';
$pdo = Database::getConnection();
@@ -31,37 +31,25 @@ if ($method === 'GET') {
$stmt = $pdo->query($sql);
$features = [];
$total_warga = 0;
while ($row = $stmt->fetch()) {
$jumlah = (int) $row['jumlah_warga'];
$total_warga += $jumlah;
$features[] = [
'type' => 'Feature',
'geometry' => json_decode($row['geojson']),
'properties' => [
'id' => $row['id'],
'nama' => $row['nama_pemilik'],
'nama_pemilik' => $row['nama_pemilik'],
'luas' => $row['luas'],
'jumlah_warga_miskin' => $jumlah,
'jumlah_warga' => $jumlah,
'total_tanggungan' => (int) $row['total_tanggungan']
]
];
}
$response = [
'statistik' => [
'total_kavling' => count($features),
'total_warga_terpetakan' => $total_warga
],
'geojson' => [
'type' => 'FeatureCollection',
'features' => $features
]
];
sendSuccess($response, 'Data statistik spasial berhasil dihitung');
sendSuccess(['type' => 'FeatureCollection', 'features' => $features], 'Data statistik spasial berhasil dihitung');
} catch (PDOException $e) {
sendError('Gagal menghitung statistik spasial: ' . $e->getMessage(), 500);
}
+2 -2
View File
@@ -1,10 +1,10 @@
<?php
<?php
/**
* warga_miskin.php
* Tanggung Jawab: Operasi CRUD untuk Warga Miskin.
*/
require_once '../core_config/database.php';
require_once __DIR__ . '/../../../webgis_app/core_config/database.php';
require_once '../utils/response_helper.php';
$pdo = Database::getConnection();
+1 -1
View File
@@ -42,7 +42,7 @@ export const rumahIbadahService = createService('02/backend/api/rumah_ibadah.php
export const wargaMiskinService = createService('02/backend/api/warga_miskin.php');
export const haversineService = {
getDalamRadius: async (id, radius) => {
const res = await fetch(`${BASE_URL}/02/backend/api/haversine.php?rumah_ibadah_id=${id}&radius_km=${radius}`);
const res = await fetch(`${BASE_URL}/02/backend/api/rumah_ibadah.php?action=jangkauan&id=${id}&radius=${radius}`);
const json = await res.json();
return json.data;
}
+1 -1
View File
@@ -1,4 +1,4 @@
<?php
<?php
/**
* Singleton PDO connection.
*