Интерактивный 3D-атлас мобильности Нью-Йорка, показывающий работу жёлтых такси в январе 2025 года: 3D-карта, воспроизведение движения по часам, анализ зон и сравнение со средними значениями для будних и выходных дней.
Отправная точка на основе публичного проекта автора, а не дословный оригинальный промпт. Ваш результат может отличаться.
Заметки автора
Создайте интерактивный 3D-атлас мобильности Нью-Йорка по данным о такси за январь 2025 года. Используйте записи NYC TLC о жёлтых такси, данные о зонах такси и контуры зданий Манхэттена, чтобы создать одностраничную визуализацию на Three.js с 3D-картой, анимированными связями поездок, объёмами посадок в виде вытянутых зон, управлением воспроизведением по дням и часам и сравнительной аналитикой на уровне зон.
Three.jsНью-Йоркданные о таксиатлас мобильности3D-картавизуализация данныхинтерактивная визуализация
Промпт
# Создайте «Пульс города»: интерактивный 3D-атлас мобильности Нью-Йорка по данным о такси за январь 2025 года
## Цель
Одностраничная веб-визуализация на английском языке, показывающая, как Нью-Йорк меняется в течение месяца:
31 день, 24 часа, 263 зоны такси. Пользователь должен иметь возможность наблюдать суточный ритм города,
сравнивать любой день с типичным будним или выходным днём и подробно изучать любую зону.
Это инструмент описательного анализа, а не сервис реального времени и не GPS-продукт. Для каждого визуального элемента должно быть указано, что именно представляет одна отметка.
## Данные
Источники (открытые):
- NYC TLC Trip Record Data, Yellow Taxi, январь 2025 года (Parquet)
- NYC TLC Taxi Zones (263 зоны, геометрия и привязка к районам)
- Контуры зданий из NYC Open Data (только Манхэттен, в качестве визуального контекста)
Предобработка (Python + DuckDB или pandas), результат — небольшие статические JSON-файлы:
- Отфильтровать некорректные поездки: посадка за пределами января 2025 года, длительность не больше нуля или более 3 часов, неизвестные зоны (264/265).
- Для каждого дня, зоны и часа: количество посадок, медианная длительность поездки.
- Для каждого дня и часа: наиболее популярные пары зон отправления → назначения (агрегированные потоки, топ-N для каждого часа).
- Эталонные средние значения для каждой пары «зона–час»: среднее для будних дней (23 дня) и среднее для выходных (8 дней), средние за день; праздники остаются в группе будних дней.
- Фиксированный масштаб на уровне месяца: максимальное число посадок в зоне за час, используемое для каждого дня, чтобы высоты оставались сопоставимыми.
- Метаданные зон: идентификатор, название, район, центроид, точка привязки подписи. Упростить геометрию зон.
Файлы: month.json (итоги по дням, масштаб, наиболее загруженные зоны), weekday.json, weekend.json, days/2025-01-DD.json, zones geojson.
Загружайте данные текущего дня по требованию; первый рендер должен быть быстрым.
## Стек
- Один автономный HTML-файл (или небольшое приложение Vite) с Three.js 0.160 (ES-модули через importmap), OrbitControls, EffectComposer + bloom.
- D3 использовать только для шкал, форматирования и небольших SVG-графиков.
- Фреймворк не требуется. Во время работы приложения не обращаться к внешним API; все данные должны загружаться из статических JSON-файлов.
## Компоновка (на десктопе 1920×1080 всё должно помещаться на одном экране без прокрутки)
1. Шапка: «CITY PULSE / MOBILITY ATLAS», статус «Recorded replay», ссылка «Data & methods».
2. Строка статуса: «Город в движении.» + три KPI: количество посадок по всему городу (выбранный час), отклонение от среднего для сравнения, медианное время поездки.
3. Лента месяца: 31 кнопка дней в виде мини-столбцов (высота столбца = количество посадок за день, выходные отмечены), кнопки предыдущего/следующего дня, выбор даты, список «Сравнить с» (среднее для будних дней · 23 дня / среднее для выходных · 8 дней).
4. Панель сюжета: «Каждое движение оставляет узор.» с 4 главами (01 Наблюдать, 02 Раскрыть, 03 Сравнить, 04 Поделиться) и кнопкой «Начать сюжет».
5. Вкладки представлений: 01 Связи, 02 Объём города, 03 Раскрытие 24 часов, 04 Город-призрак, а также «Поделиться наблюдением» и «Создать брифинг».
6. Рабочая область: сцена с 3D-картой (слева) + инспектор «Сведения о месте» (справа, около 330 пикселей, с внутренней прокруткой).
7. Таймлайн: воспроизведение дня, скорость (0.25×–4×), ползунок выбора часа над столбчатой диаграммой за 24 часа для выбранного дня и среднего значения.
Высота сцены с картой должна адаптироваться к размеру окна (ограничить примерно 470–780 пикселями), чтобы вся консоль, включая таймлайн, была видна при масштабе 100%.
## 3D-сцена
- Тёмная поверхность, контуры зон тонкими линиями, контуры зданий Манхэттена как едва заметный контекст реального мира.
- Камера: перспективная, с вращением и масштабированием, а также кнопкой возврата к центру. При переключении представлений сохранять положение камеры пользователя, кроме «Раскрытия 24 часов», которое всегда перестраивает ракурс так, чтобы была видна вся матрица.
- При наведении на зону показывать подсказку с названием и количеством посадок. При клике на зону выбирать её (обновлять инспектор и потоки).
Представления (каждое переключение сопровождается анимацией, без резких скачков):
- 01 Связи: агрегированные поездки между зонами в виде светящихся дуг с движущимися световыми частицами; плотность частиц ∝ числу поездок; подписать выделенный поток («ОТ / Midtown Center → ДО / Upper East Side North, 71 поездка / 18:00»). Подпись: «Зафиксированные поездки между зонами · схематичное движение. Не GPS.»
- 02 Объём города: каждая зона вытянута вверх; высота = количество посадок в фиксированном масштабе месяца; выбранная зона выделена.
Как использовать этот промпт
01
Начните с подходящего инструмента
Откройте привычного помощника для программирования или 3D-инструмент. Попробуйте модель, указанную в примере, и изучите инструкции по настройке в связанных проектах.
02
Выберите одно изменение
Замените объект, художественный стиль или окружение. Чётко опишите камеру и взаимодействие. Сначала создайте небольшую версию, затем улучшайте по одной детали.
03
Добавьте собственные объекты в сцену
Для своего персонажа или реквизита создайте 3D-модель по короткому описанию предмета или референсу, затем импортируйте её в проект.
Права на превью принадлежат соответствующим авторам. Перед повторным использованием кода или материалов проверьте первоисточник и лицензию проекта.