<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://www.wikicshse.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D1%85%D0%B5%D0%BC_%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BF%D0%BE%D1%80%D1%82%D0%B0_%D0%BD%D0%B0_%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B5_%D0%B3%D0%B5%D0%BE%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%28%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%29</id>
	<title>Создание схем общественного транспорта на основе геоданных (проект) - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://www.wikicshse.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D1%85%D0%B5%D0%BC_%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BF%D0%BE%D1%80%D1%82%D0%B0_%D0%BD%D0%B0_%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B5_%D0%B3%D0%B5%D0%BE%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%28%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%29"/>
	<link rel="alternate" type="text/html" href="https://www.wikicshse.ru/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D1%85%D0%B5%D0%BC_%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BF%D0%BE%D1%80%D1%82%D0%B0_%D0%BD%D0%B0_%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B5_%D0%B3%D0%B5%D0%BE%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;action=history"/>
	<updated>2026-06-06T15:22:02Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://www.wikicshse.ru/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D1%85%D0%B5%D0%BC_%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BF%D0%BE%D1%80%D1%82%D0%B0_%D0%BD%D0%B0_%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B5_%D0%B3%D0%B5%D0%BE%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=1670&amp;oldid=prev</id>
		<title>imported&gt;GalinaKaleeva: Migrated current public revision from wiki.cs.hse.ru</title>
		<link rel="alternate" type="text/html" href="https://www.wikicshse.ru/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D1%85%D0%B5%D0%BC_%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BF%D0%BE%D1%80%D1%82%D0%B0_%D0%BD%D0%B0_%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B5_%D0%B3%D0%B5%D0%BE%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=1670&amp;oldid=prev"/>
		<updated>2017-10-18T16:20:06Z</updated>

		<summary type="html">&lt;p&gt;Migrated current public revision from wiki.cs.hse.ru&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Создание схем общественного транспорта на основе геоданных&lt;br /&gt;
|mentor=Владимир Клепов&lt;br /&gt;
|mentor_login={{URLENCODE:V.klepov|WIKI}}&lt;br /&gt;
|semester=Осень 2016&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=&lt;br /&gt;
|number_of_students=11&lt;br /&gt;
|categorize=yes&lt;br /&gt;
|is_archived=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Генератор маршрутных схем создает карты маршрутов общественного транспорта на основе данных из интернета. &lt;br /&gt;
&lt;br /&gt;
Ручной дизайн таких схем занимает много сил и времени, и часто им не занимаются. Во многих городах схемы транспорта или вообще нет, или по ней сложно что-нибудь узнать. С другой стороны, отдельные операции хорошо автоматизируются:&lt;br /&gt;
&lt;br /&gt;
* Подобрать цвета линий&lt;br /&gt;
* Привязать направления к сетке, сохранив топологию сети&lt;br /&gt;
* Выделить близкие линии&lt;br /&gt;
* Расставить остановки так, чтобы названия не мешали друг другу.&lt;br /&gt;
&lt;br /&gt;
В зависимости от сложности и масштаба схемы используют несколько степеней упрощения:&lt;br /&gt;
* Карта: с буквальной привязкой к географии, подходит для небольших транспортных систем.&lt;br /&gt;
* Схема: подходит для сложных систем (или карт в мелком масштабе). Географию необходимо упростить: объединить несколько близкоидущих линий, привязать направления к регулярной сетке, поменять масштаб в зависимости от плотности остановок (например, на схеме метро Москвы центр гораздо больше, чем на самом деле)&lt;br /&gt;
* Комбинированная схема: ближайшие остановки привязаны к географии, но за пределами района работает как схема. Некоторые линии можно убрать (большой творческий простор).&lt;br /&gt;
&lt;br /&gt;
Автоматизация сосредоточена на одном сценарии: я знаю, откуда и куда хочу добраться, и система подскажет кратчайший путь. Но есть много случаев, в которых лучше именно схема: например, нужно узнать, куда я могу доехать со своей остановки, или если у меня нет смартфона с интернетом.&lt;br /&gt;
&lt;br /&gt;
Проект состоит из двух частей. Для начала нужно собрать инфомацию о координатах остановок и маршрутах между ними. Если очень повезет, часть данных может найтись в каком-нибудь АПИ. Иначе нужно будет найти какой-нибудь сайт с картой маршрутов и выгрузить данные оттуда. Эта часть проекта сложно обобщается на разные города и делается один раз. Вторая часть &amp;amp;mdash; веб-интерфейс, который принимает на вход данные о маршрутах и остановках и строит схему:&lt;br /&gt;
&lt;br /&gt;
# Применяет алгоритмы для упрощения схемы (опционально)&lt;br /&gt;
# Отрисовать схему (для карт с привязкой -- на карте)&lt;br /&gt;
# Возможно, скорректировать дизайн (выбрать обозначения остановок, толщину линий и т.д.)&lt;br /&gt;
# Иногда (например, для обозначения сложных пересадок) может потребоваться ручная коррекция результатов.&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
* Писать веб-скреперы (программы для сбора данных с веб-страниц без API).&lt;br /&gt;
* Нескольким алгоритмам на планарных графах.&lt;br /&gt;
* Работать с геоданными (API OpenStreetMap, Leaflet).&lt;br /&gt;
* Генерировать векторную графику по данным (очень полезно для анализа данных!)&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
Конечно же желание покодить. Желательно иметь опыт работы с веб-стеком: js, HTML, CSS-селекторы (не настаиваю, это не очень сложно).&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* Javascript (для интерфейса и отрисовки)&lt;br /&gt;
* Собирать данные можно на чем угодно. Я использую node + cheerio и расскажу о них, но принципы везде одинаковые.&lt;br /&gt;
* Геоданные берутся из API OpenStreetMap.&lt;br /&gt;
* Результат генерируется в SVG через библиотеку общей (как d3) или географической (как Leaflet) визуализации. Можно использовать фронтенд-фреймворк: React очень хорош.&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
* Программирование на js/node.js, работа с npm, использование модуля request (HTTP-запросы), выгрузка данных в JSON.&lt;br /&gt;
* Веб-скрепинг: поиск нужных данных в интернете и автоматизация их сбора.&lt;br /&gt;
* Принципы дизайна транспортных схем.&lt;br /&gt;
* Алгоритмы автоматизации постоения схем.&lt;br /&gt;
* Создание веб-интерфейсов для динамической визуализации схем.&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
* При упрощении схемы использовать полную или частичную схематизацию&lt;br /&gt;
* Автоматически подбирать цвета линий&lt;br /&gt;
* Интерактивный веб-интерфейс: управлять графическими элементами, корректировать положение остановок и т.д.&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
4-5: Собрать данные о графе остановок и отрисовать карту.&lt;br /&gt;
&lt;br /&gt;
6-7: Реализовать алгоритмы схематизации&lt;br /&gt;
&lt;br /&gt;
8-10: Добавить что-либо из продвинутых возможностей (см. описание)&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
ПН-ПТ: с 15:00 по договоренности.&lt;/div&gt;</summary>
		<author><name>imported&gt;GalinaKaleeva</name></author>
	</entry>
</feed>