"; $error_count++; continue; } // Ekstrak koordinat dari LineString (feature pertama) $raw_coords = $data['features'][0]['geometry']['coordinates']; $formatted_coords = []; foreach ($raw_coords as $coord) { $formatted_coords[] = [ 'lat' => $coord[1], 'lng' => $coord[0] ]; } // 1. Hitung Jarak Otomatis $jarak_km = calculateRouteDistance($formatted_coords); // 2. Siapkan data database $json_coords = mysqli_real_escape_string($con, json_encode($formatted_coords)); // Nama rute diambil dari nama file (hilangkan .geojson) $nama_rute = str_replace(['.geojson', '_'], [' ', ' '], $filename); $nama_rute = ucwords(trim($nama_rute)); // Default values sesuai keinginan user $kondisi_medan = "Belum Diobservasi"; $sql = "INSERT INTO routes (nama_rute, jarak, kondisi_medan, titik_koordinat) VALUES ('$nama_rute', '$jarak_km', '$kondisi_medan', '$json_coords')"; if (mysqli_query($con, $sql)) { // Pindahkan file ke folder 'done' agar tidak di-import ulang rename($file_path, $done_dir . $filename); echo "Berhasil Import: $nama_rute ($jarak_km KM)
"; $success_count++; } else { echo "Gagal Import $filename: " . mysqli_error($con) . "
"; $error_count++; } } echo "
"; echo "Proses Selesai!
"; echo "Berhasil: $success_count rute
"; echo "Gagal: $error_count rute"; ?>