Формат PMZ

Формат PMZ
PMZ
Расширение

.pmz

Разработан

Борис Мурадов

Тип формата

Контейнер

Содержит

Графика, данные
(.cty, .map, .trp, .vec, .txt, .pm3d)

Расширен из

ZIP, INI

Стандарт(ы)

APPNOTE from PKWARE, INI, PMZ

Открытый формат?

да (pm3d - закрытый)

Открытый формат карт для программы pMetro. Файл PMZ является контейнером формата ZIP, содержащий набор файлов, описывающий графику и данные транспортной схемы города. На данный момент существует порядка 200 карт[1] описанных в этом формате.

Содержание

Описание карты (metro.cty)

[Options]
Name=Москва ;Внутреннее имя. Должно быть разным в схемах разных городов, или для принципиально разных схем одного города.
CityName=Москва ;Название города.
RusName=Москва ;Русское название
Country=Россия ;Страна
NeedVersion=1.25.11 ;Требуемая версия для корректного отображения.
MapAuthors=Схема от 08.09.2007г.\n... ;Текст, который буден виден в ''О программе''.
DelayNames=День,Ночь,Час-пик ;Возможные варианты для времени ожидания. Также автоматически добавляется вариант "Нет".

Данные для расчёта маршрута (*.trp)

[Options]
Type=Метро ;Название транспорта каждой линии. Появляется в списке транспортов слева в программе, чтобы можно было отключать тот или иной вид транспорта из рассмотрения.
 
[Line1] ;Линии должны быть описаны в секциях [Line1]... Количество линий определяется по отсутствию очередной секции.
Name=Сокольническая ;Название линии
Alias=Алиас ;На экране вместо названия линии будет отображаться Алиас. Нужно, когда имеются две линии с одинаковыми именами (Большое Московское ж/д кольцо, например).
Stations=Улица Подбельского,...,Юго-Западная ;Названия станций. Если кольцевая или разветвления, то надо указывать так: Станция(Вперед1,Назад1,Вперед2,Назад2,...). Имена с запятыми заключаются в кавычки.
Aliases=Имя1,Алиас1,Имя2,... ;Везде вместо названия станции Имя1 будет отображаться название Алиас1. Нужно, когда на одной линии имеются две станции с одинаковым названием.
Driving=2,4,3,...,3,3 ;Временные интервалы между станциями. Если кольцевая или разветвления, то указывается аналогично именам. Можно задавать с точностью до секунды. Пишется так: 1м45с: 1.45. Если указан интервал ноль, то считается, что перегон строится.
Heights=10,15,... ;Глубины станций в метрах. Используется в 3d-схеме.
Delays=2,6,... ;Среднее время ожидания для разных вариантов из DelayNames. Для варианта "Нет" считается = 0.
LineMap=Line1.map ;Файл со схемой этой линии.
 
[Transfers] ;Пересадки. Пробелы игнорируются.
;имя=линия1,станция1, линия2,станция2, время12[, время21][, invisible]
Комсомольская=Сокольническая,Комсомольская, Кольцевая,Комсомольская, 5 ;Имя может быть произвольным, но уникальным.
;  время12 - время на переход с 1 станции на вторую.
;  время21 - со 2-й станции на первую. Если не задано, то равно время12.
;  invisible - пересадка участует во всех расчётах, но не отображается на схеме.
;  время можно задавать с точностью до секунды. Пишется так: 1м45с: 1.45
 
[AdditionalInfo] ;Здесь отмечены кросс-платфоменные пересадки
CrossPlatformTransfers=Китай-город,parallel,... ;Здесь указываются переходы в пределах одной платформы, с указанием, в какую именно сторону переход как бы отсутствует.
;  =Название перехода, opposite|parallel|indifferent, ...

Графические данные карты (*.map)

[Options]
ImageFileName=Moscow.gif ;Можно указывать bmp, gif, png и vec-файлы.
StationDiameter=16 ;Диаметр станций.
LinesWidth=9 ;Толщина рисуемых линий.
UpperCase=False ;Не переводить названия в верхний регистр.
WordWrap=False ;Названия из двух и более стров не разбивать на строки.
IsVector=True ;Определяет, рисовать ли линии и станции исходя из их координат, или станции нарисованы на подложке.
 
[Сокольническая]
Color=E41c0c ;Цвет линии. Нужен для векторных карт.
BlinkColor=FF5CFF ;Этим цветом линия будет "мигать". Если, скажем, розовым по красному плохо видно - исправьте этот параметр.
LabelsColor=E41c0c ;Цвет названий станций в веторных картах или при перерисовке названий.
LabelsBColor ;Цвет фона названий. Если = -1, то фон прозрачный, но добавляется тень.
Coordinates=465,17, 465,29, ..., 111,550 ;Координаты станций на карте. Пробелы игнорируются.
Rects=224,12,65,11,... ;Прямоугольники, при нажатии на который выбирается соответствующая станция (координаты левого верхнего угла, ширина и высота)
Rect=11,616,130,10 ;Прямоугольник, при нажатии на который высвечивается вся линия (координаты левого верхнего угла, ширина и высота)
Width=10 ;Индивидуальная ширина линии на экране
 
[AdditionalNodes] ;Это для прорисовки нестандартного пути между двумя станциями на одной линии. Можно указывать несколько дополнительных точек. Имя может быть произвольным, но уникальным.
Сокольническая1=Сокольническая,Красносельская,Комсомольская,465,116

Векторная графика (*.vec)

В первой строке обязательно указывается размер:
size 1010x1200

Далее могут следовать следующие команды:
Angle 45 Все последующие команды будут повёрнуты на этот угол против часовой стрелки вокруг центра картинки.
Image FileName можно сделать фоновую картинку. Полезно только при редактировании.
PenColor CCECF4 цвет линий
BrushColor 808080 цвет фона для команды Polygon
Line x1,y1, x2,y2, x3,y3..., xN,yN [,2] - ломаная линия. В конце - толщина линии.
Dashed - пунктирная линия. Параметры аналогичны.
Spline - сглаженная линия. Параметры аналогичны.
Polygon - закрашенный многоугольник. Параметры аналогичны.
Stairs x1,y1, x2,y2, x3,y3 [,2] - супеньки. Три вершины определяют прямоугольник со ступеньками. 4-я вершина вычисляется.
Arrow x1,y1, x2,y2 [,2] - рисует стрелку.
Ellipse x1,y1, x2,y2 [,2] - рисует эллипс.
TextOut Arial,34,46,-1,СХЕМА ЛИНИЙ СКОРОСТНОГО ТРАНСПОРТА МОСКВЫ,1 - имя шрифта,размер,координаты,текст[,атрибуты: 1-bold]
AngleTextOut 90,Arial,34,46,-1,станция Боровичкая,1 - то же самое, но под углом.
Railway Ширина рельс, ширина шпал, шаг шпал, координаты левого рельса (x1, y1, ...), [,2]
Opaque 80 - все команды до следующей команды Opaque рисуются на отдельной плоскости, плоскость делается полупрозрачной и накладывается на предыдущий рисунок.
SpotRect x,y,w,h,command - прямоугольная область, курсор здесь приобретает вид "руки", а нажатие вызывает выполнение соответствующей команды.
SpotCircle x,y,r,command - круглая область, курсор здесь приобретает вид "руки", а нажатие вызывает выполнение соответствующей команды.

команды для Spot*:

 LoadMap Line1.map - загрузка схемы из соответствующего файла
 SelectLine 1 - подсветка (выделение) линии №1

3D-макеты (*.pm3d)

Из-за большого объема макетов, автор был вынужен сделать формат файлов pm3d бинарным. Формат его постоянно меняется и формальному описанию не поддается.

Кроме того, по просьбе авторов большей части макетов, этот формат объявляется закрытым.

Тем не менее, пользователи могут сами создавать макеты в формате ASE (поддерживается, например, 3dMAX), и присылать их автору.

Примечания

  1. Доступные на текущий момент карты формата PMZ: http://pmetro.chpeks.com/Maps.html

Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Полезное


Смотреть что такое "Формат PMZ" в других словарях:

  • pMetro — pMetro …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»