// --- Nearby Stations Logic Start (Adapted from venues/detail_data.php) --- $nearby_stations = []; // Subway stations $display_stations = []; // KTX/SRT stations $subway_summary = null; $train_summary = null; // Use performance's venue data if (!empty($performance['venue_lat']) && !empty($performance['venue_lng']) && !empty($performance['venue_area'])) { $venue_lat = $performance['venue_lat']; $venue_lon = $performance['venue_lng']; $venue_area = $performance['venue_area']; // --- Subway Stations --- $subway_radius = ($venue_area === '수도권') ? 1 : 2; if (function_exists('get_nearby_subway_stations')) { $nearby_stations = get_nearby_subway_stations($conn, $venue_lat, $venue_lon, $subway_radius, $is_jp_domain); } // --- KTX/SRT Stations --- $ktx_station_most_lines = null; $ktx_station_nearest = null; $nearby_srt_station = null; $search_radius = ($venue_area === '수도권') ? 30 : 40; // KTX Logic 1: Most relevant lines $ktx_stations_candidates = []; $ktx_query_lines = " SELECT title, station_type, srt, latitude, longitude, ktx_line, ST_Distance_Sphere(point(?, ?), point(longitude, latitude)) / 1000 AS distance FROM train_stations WHERE station_type = 'ktx' AND ktx_line IS NOT NULL AND ktx_line != '' HAVING distance <= ? "; $stmt_ktx_lines = mysqli_prepare($conn, $ktx_query_lines); if ($stmt_ktx_lines) { mysqli_stmt_bind_param($stmt_ktx_lines, 'ddi', $venue_lon, $venue_lat, $search_radius); mysqli_stmt_execute($stmt_ktx_lines); $ktx_result_lines = mysqli_stmt_get_result($stmt_ktx_lines); while ($row = mysqli_fetch_assoc($ktx_result_lines)) { $lines = explode(',', trim($row['ktx_line'], ',')); $relevant_lines = ['ktx1', 'ktx3', 'ktx5', 'ktx6']; $count = 0; $found_lines = []; foreach ($lines as $line) { $trimmed_line = trim($line); if (in_array($trimmed_line, $relevant_lines) && !in_array($trimmed_line, $found_lines)) { $count++; $found_lines[] = $trimmed_line; } } if ($count > 0) { $row['relevant_line_count'] = min($count, 4); $ktx_stations_candidates[] = $row; } } mysqli_stmt_close($stmt_ktx_lines); if (!empty($ktx_stations_candidates)) { usort($ktx_stations_candidates, function($a, $b) { if ($a['relevant_line_count'] != $b['relevant_line_count']) { return $b['relevant_line_count'] <=> $a['relevant_line_count']; } return $a['distance'] <=> $b['distance']; }); $ktx_station_most_lines = $ktx_stations_candidates[0]; } } // KTX Logic 2: Nearest $ktx_query_nearest = " SELECT title, station_type, srt, latitude, longitude, ktx_line, ST_Distance_Sphere(point(?, ?), point(longitude, latitude)) / 1000 AS distance FROM train_stations WHERE station_type = 'ktx' HAVING distance <= ? ORDER BY distance ASC LIMIT 1"; $stmt_ktx_nearest = mysqli_prepare($conn, $ktx_query_nearest); if ($stmt_ktx_nearest) { mysqli_stmt_bind_param($stmt_ktx_nearest, 'ddi', $venue_lon, $venue_lat, $search_radius); mysqli_stmt_execute($stmt_ktx_nearest); $ktx_result_nearest = mysqli_stmt_get_result($stmt_ktx_nearest); $ktx_station_nearest = mysqli_fetch_assoc($ktx_result_nearest); mysqli_stmt_close($stmt_ktx_nearest); } // SRT Logic: Nearest $srt_query = " SELECT title, station_type, srt, latitude, longitude, ST_Distance_Sphere(point(?, ?), point(longitude, latitude)) / 1000 AS distance FROM train_stations WHERE station_type = 'srt' HAVING distance <= ? ORDER BY distance ASC LIMIT 1"; $stmt_srt = mysqli_prepare($conn, $srt_query); if ($stmt_srt) { mysqli_stmt_bind_param($stmt_srt, 'ddi', $venue_lon, $venue_lat, $search_radius); mysqli_stmt_execute($stmt_srt); $srt_result = mysqli_stmt_get_result($stmt_srt); $nearby_srt_station = mysqli_fetch_assoc($srt_result); mysqli_stmt_close($stmt_srt); } // Combine and filter train stations for display $added_titles = []; $icon_color = 'text-green-600'; if ($ktx_station_most_lines) { $station_info = $ktx_station_most_lines; $station_info['display_type'] = ($station_info['srt'] == 1) ? 'KTX/SRT' : 'KTX'; $station_info['icon_color'] = $icon_color; $display_stations[] = $station_info; $added_titles[] = $station_info['title']; } if ($ktx_station_nearest && !in_array($ktx_station_nearest['title'], $added_titles)) { $station_info = $ktx_station_nearest; $station_info['display_type'] = ($station_info['srt'] == 1) ? 'KTX/SRT' : 'KTX'; $station_info['icon_color'] = $icon_color; $display_stations[] = $station_info; $added_titles[] = $station_info['title']; } if ($nearby_srt_station) { if (!in_array($nearby_srt_station['title'], $added_titles)) { $station_info = $nearby_srt_station; $station_info['display_type'] = 'SRT'; $station_info['icon_color'] = $icon_color; $display_stations[] = $station_info; } else { foreach ($display_stations as $key => $station) { if ($station['title'] === $nearby_srt_station['title'] && $station['display_type'] === 'KTX') { $display_stations[$key]['display_type'] = 'KTX/SRT'; break; } } } } usort($display_stations, function($a, $b) { return $a['distance'] <=> $b['distance']; }); // Fallback: Find the absolute closest station if both arrays are still empty if (empty($nearby_stations) && empty($display_stations)) { $fallback_query = " SELECT type, title, distance, line_info, srt_flag, lat, lng FROM ( SELECT 'subway' AS type, station_name AS title, (6371 * ACOS(COS(RADIANS(?)) * COS(RADIANS(lat)) * COS(RADIANS(lng) - RADIANS(?)) + SIN(RADIANS(?)) * SIN(RADIANS(lat)))) AS distance, line_names AS line_info, NULL AS srt_flag, lat, lng FROM release_subway UNION ALL SELECT station_type AS type, title, (6371 * ACOS(COS(RADIANS(?)) * COS(RADIANS(latitude)) * COS(RADIANS(longitude) - RADIANS(?)) + SIN(RADIANS(?)) * SIN(RADIANS(latitude)))) AS distance, ktx_line AS line_info, srt AS srt_flag, latitude AS lat, longitude AS lng FROM train_stations WHERE station_type IN ('ktx', 'srt') ) AS combined_stations ORDER BY distance ASC LIMIT 1"; $stmt_fallback = mysqli_prepare($conn, $fallback_query); if ($stmt_fallback) { mysqli_stmt_bind_param($stmt_fallback, 'dddddd', $venue_lat, $venue_lon, $venue_lat, $venue_lat, $venue_lon, $venue_lat); mysqli_stmt_execute($stmt_fallback); $fallback_result = mysqli_stmt_get_result($stmt_fallback); $closest_station = mysqli_fetch_assoc($fallback_result); mysqli_stmt_close($stmt_fallback); if ($closest_station) { if ($closest_station['type'] === 'subway') { $station_data = ['station_name' => $closest_station['title'], 'distance' => $closest_station['distance'], 'line_names' => $closest_station['line_info'], 'lat' => $closest_station['lat'], 'lng' => $closest_station['lng']]; if ($is_jp_domain) { if (!function_exists('trans_station')) { @include_once '/var/www/stagepick/includes/languages/ja_station.php'; } $station_data['station_name_jp'] = function_exists('trans_station') ? trans_station($station_data['station_name']) : ''; } $nearby_stations[] = $station_data; } else { $display_type = ($closest_station['type'] === 'ktx') ? (($closest_station['srt_flag'] == 1) ? 'KTX/SRT' : 'KTX') : 'SRT'; $display_stations[] = ['title' => $closest_station['title'], 'distance' => $closest_station['distance'], 'display_type' => $display_type, 'icon_color' => 'text-green-600', 'latitude' => $closest_station['lat'], 'longitude' => $closest_station['lng']]; } } } } } // --- Nearby Stations Logic End --- ?>
재즈 앳 에무 - 우미진 팩터스 <판타스틱 바흐>
公演期間
2023. 11. 03
公演時間:
ジャンル
コンサート
公演紹介
믹스앤 매치로 개성을 드러내는 시대. 200년전 바흐의 음악을 재즈로 듣는 즐거움을 누리는 시간입니다! 예수는 나의 기쁨, 프렐류드, 미누에트 등 익숙한 멜로디를 재즈의 다양한 리듬으로 편곡한 곡들을 이번 재즈앳에무에서 만나보세요!
最終更新: 2025年04月04日
登録日: 2024年10月14日
2025.03.28
ポカッムヌァゴンッガン エム
2025.01.17
ポカッムヌァゴンッガン エム
2024.12.20
ポカッムヌァゴンッガン エム
2024.11.29
ポカッムヌァゴンッガン エム
2024.10.18
ポカッムヌァゴンッガン エム
2024.09.26
ポカッムヌァゴンッガン エム
2024.09.20
ポカッムヌァゴンッガン エム
2024.08.16
ポカッムヌァゴンッガン エム
2024.08.02
ポカッムヌァゴンッガン エム
2024.07.19
ポカッムヌァゴンッガン エム
2024.07.13
ポカッムヌァゴンッガン エム
2024.07.12
ポカッムヌァゴンッガン エム
2024.07.05
ポカッムヌァゴンッガン エム
2024.06.23
ポカッムヌァゴンッガン エム
2024.06.22
ポカッムヌァゴンッガン エム
2024.06.21
ポカッムヌァゴンッガン エム
2024.05.20
ポカッムヌァゴンッガン エム
2024.05.03
ポカッムヌァゴンッガン エム
2024.01.19
パンタゲラジ
2024.01.12
ポカッムヌァゴンッガン エム
2023.12.08
ポカッムヌァゴンッガン エム
2023.11.19
ポカッムヌァゴンッガン エム
2023.10.22
ポカッムヌァゴンッガン エム
2023.10.21
ムヌァイェスルォン マルホル
2023.10.06
ポカッムヌァゴンッガン エム
2023.09.22
ポカッムヌァゴンッガン エム
2023.08.25
ポカッムヌァゴンッガン エム
2023.08.11
ポカッムヌァゴンッガン エム
2023.08.04
ポカッムヌァゴンッガン エム
2023.07.28
ポカッムヌァゴンッガン エム
2023.07.14
ポカッムヌァゴンッガン エム
2023.07.07
ポカッムヌァゴンッガン エム
2023.06.30
ポカッムヌァゴンッガン エム
2023.06.23
ポカッムヌァゴンッガン エム
2023.06.16
ポカッムヌァゴンッガン エム
2023.06.09
ポカッムヌァゴンッガン エム
2023.05.26
ポカッムヌァゴンッガン エム
2023.05.19
ポカッムヌァゴンッガン エム
2023.05.12
ポカッムヌァゴンッガン エム
2023.05.05
ポカッムヌァゴンッガン エム
2023.04.28
ポカッムヌァゴンッガン エム
2023.04.27
ポカッムヌァゴンッガン エム
2023.04.21
ポカッムヌァゴンッガン エム
2023.04.13
ポカッムヌァゴンッガン エム
2023.03.31
ポカッムヌァゴンッガン エム
2023.03.24
ポカッムヌァゴンッガン エム
2023.03.17
ポカッムヌァゴンッガン エム
2023.02.26
ポカッムヌァゴンッガン エム
2023.02.24
ポカッムヌァゴンッガン エム
2023.02.17
ポカッムヌァゴンッガン エム
2022.12.30
パンタゲラジ
2022.12.27
ソグィポイェスルイジョンダン
2022.11.11
パンタゲラジ
2022.10.07
パンタゲラジ
2022.09.22
トングアツホル
2022.08.19
パンタゲラジ
2022.06.10
ポカッムヌァゴンッガン エム
2022.05.06
ポカッムヌァゴンッガン エム
2022.04.22
ポカッムヌァゴンッガン エム
2020.05.29
ポカッムヌァゴンッガン エム