Skip to content
Maxim Dubinin edited this page Mar 5, 2015 · 13 revisions

CSV файлы генерируются по экспортируемым из Google Docs таблицам в формате csv или создаются вручную (например official help). Скрипты на Python для генерации лежат в папке utils.

Введение

Все данные необходимые для работы мобильного и веб приложений размещаются в:

  • csv файлах
  • json файлах
  • png картинках

CSV Файлы

В csv файлах важны не толко названия колонок, но и их порядок

lines.csv - список линий

Поля:

  1. id_line - идентификатор линии (официальные номер, если есть)
  2. name_[ru,en,pl...] - название линии на разных языках, столько полей, сколько языков, английский обязателен
  3. Цвет

stations.csv - список станций

Поля:

  1. name_[ru,en,pl...] - название станции на разных языках, столько полей, сколько языков
  2. id_line - идентификатор линии
  3. id_node - идентификатор узла
  4. id_station - идентификатор станции (официальные номера, если есть)
  5. lat - широта
  6. lon - долгота

portals.csv - выходы (маршруты)

Поля:

  1. id_entrance
  2. meetcode - уникальный цифровой код выхода, для отображения на схеме и карте
  3. name_[ru,en,pl...] - описание выхода на разных языках, столько полей, сколько языков
  4. id_station
  5. lat
  6. lon
  7. min_width
  8. min_step
  9. min_step_ramp
  10. lift
  11. lift_minus_step
  12. min_rail_width
  13. max_rail_width
  14. max_angle

interchanges.csv - пересадки

Поля:

  1. station_from
  2. station_to
  3. max_width
  4. min_step
  5. min_step_ramp
  6. lift
  7. lift_minus_step
  8. min_rail_width
  9. max_rail_width
  10. max_angle

graph.csv - маршрутный граф

Поля:

  1. id_from - идентификатор станции в начале ребра (ребра не направленные! не дублировать в обратном направлении не нужно)
  2. id_to - идентификатор станции в конце ребра
  3. name_from - название станции (можно использовать любое, в системе не используется)
  4. name_to - название станции (можно использовать любое, в системе не используется)
  5. cost - время в мин (перегон - 3, переход - 5)

official_help.csv - информация об официальных службах помощи в метрополитенах (используется в андроид-приложении)

Поля:

  1. phone
  2. service_hours
  3. work_hours
  4. request_advance
  5. source

JSON файл

meta.json

Файл предназначен для описания данных для маршрутизации по метро. Файл периодически проверятся в мобильном приложении и если есть изменения в версиях данных, выполняется их обновление. ` { "packages" : [ { "name" : "Moscow", //название пакета "name_ru" : "Москва", //локальное название пакет прибавка _ru - для русского, _de немецкого и т.д. "ver" : 0, //версия данных "path" : "msk" //название архива на сервере (msk.zip) и папки с данными на мобильном устройстве },

    {
        "name" : "St.Peterburg",
        "name_ru" : "Санкт-Петербург",
        "ver" : 0,
        "path" : "spb"
    }
]

}

lines.geojson

Географическое представление линий метро (маршрутов), накладываемых на карту (например). Представляет собой выгрузку данных из OpenStretMap в формате GeoJSON. Описание процесса создания тут.

PNG картинки

Картинки размещаются в папках:

  • schemes - схемы станций (две подпапки: layers и numbers).
  • icons - одна иконка - логотип метрополитена

В папке schemes и подпапках размещаются картинки в формате png. Название картинки - это код узла (id_node). В зависимости от папки:

  • schemes - полные схемы (вся информация)
  • schemes/layers - схемы без информации о доступности (измерений объектов инфраструктуры)
  • schemes/numbers - информация о доступности - измерения объектов инфраструктуры (цифры)

Заключение

Все данные упаковываются в zip архив с сохранением структуры папок. Название архива должно совпадать со значением path в файле meta.json.