'error','message'=>'Field wajib tidak boleh kosong.']); exit; } $decoded = json_decode($koordinat, true); if (!$decoded || ($decoded['geometry']['type'] ?? '') !== 'LineString') { echo json_encode(['status'=>'error','message'=>'Format GeoJSON tidak valid.']); exit; } $valid_status = ['Jalan Nasional','Jalan Provinsi','Jalan Kabupaten']; if (!in_array($status_jalan, $valid_status)) { echo json_encode(['status'=>'error','message'=>'Status jalan tidak valid.']); exit; } try { $stmt = $pdo->prepare( "INSERT INTO jalan (nama_jalan, status_jalan, panjang_meter, koordinat) VALUES (?, ?, ?, ?)" ); $stmt->execute([$nama_jalan, $status_jalan, $panjang_meter, $koordinat]); $id = $pdo->lastInsertId(); $stmtSelect = $pdo->prepare("SELECT * FROM jalan WHERE id=?"); $stmtSelect->execute([$id]); $data = $stmtSelect->fetch(PDO::FETCH_ASSOC); echo json_encode(['status'=>'success','data'=>$data]); } catch (PDOException $e) { echo json_encode(['status'=>'error','message'=>$e->getMessage()]); } ?>