![]() |
про кривые знаю..
ошибки добиться не могу :( может сбросите маршрут под неразглашение на опыты? :) |
Хе-хе, профиль это хорошо - посмотрим потом кто у нас станции на уклонах строит. :D
|
а что, не бывает станций на уклонах? вообще вообще? :)
|
Как исключение из правил, в горах где-нибудь.
|
бывает. на уклонах до 2,5 промилле. в исключительных случаях горловины можно строить до 10 промилле. или когда не производиться отцепка локомотивов
Подправлю сам-на площадках, в обоснованных случаях до 1,5, в трудных и особо трудных до 2,5, когда нету отцепки до 12 ( обычно принимают равным расчетному но не более 12 промилле), остановки пасс составов-до уклона допускающего трогание пасс состава с места, соединительные до 30 промилле, пути для движения локомотивов-до 40, диспетчерские съезды до руководящего |
добавил в таблицу платформ абсолютную высоту.
[url=http://itmages.ru/image/view/794528/595f4104][img]http://storage1.static.itmages.ru/i/12/1209/s_1355003762_2690429_595f4104a5.png[/img][/url] оптимизировал кеширование, особенно заметно на степанках... сейчас думаю над красивой отрисовкой уклонов. отбрасываем нулевые, остальные рисуем. рядом с числом думаю рисовать стрелку-указатель, в каком направлении верно данное число |
Ого, чего-то высоко они все.
Давай я тебе Александрово БД скину, там я точно знаю высоты, проверим =)). |
бросай :) если что, завтра с утра
а эти высоко, потому что высота абсолютная |
Отослал, распарсить можно тут, там ничего секретного нет, все схемы выложены в теме, а профиль посмотреть самому интересно =)).
|
маршрут плоский, аки Земля в представлении древних греков :D
[url=http://itmages.ru/image/view/794779/dd3b8e51][img]http://storage9.static.itmages.ru/i/12/1209/s_1355033730_9996982_dd3b8e5117.png[/img][/url] [QUOTE=Zabor;375770]Хе-хе, профиль это хорошо - посмотрим потом кто у нас станции на уклонах строит. :D[/QUOTE] [url=http://itmages.ru/image/view/794789/72de8c30][img]http://storage1.static.itmages.ru/i/12/1209/s_1355034122_5108429_72de8c3036.png[/img][/url] :D:D |
Бундино не в счет - она строилась на уже готовом профиле, мну не спрашивали, пути уже были. :D
Станции там все "приземлены" к нулевой отметке, это нормально, потому и просил проверить. А вот про соединения не очень понял, похоже ты вычитал куски, из которых состоят секции, а не сами секции, например между стрелками там 3 секции, непосредственно перед стрелкой торчит маневровый, на карте как обычный светофор. Надо бы как-то это высчитывать - вводит в заблуждение, отображая его как поездной. [url=http://itmages.ru/image/view/795059/7acdbc4b][img]http://storage6.static.itmages.ru/i/12/1209/s_1355045931_3656637_7acdbc4beb.jpeg[/img][/url] |
так маневровый так же само пишется, как и поездной. tdb вообще их не различает.. что то светофор, что это.. :confused:
а вычитываю я, равно как и хранится оно, в виде узлов, а не секций. секции я уже сам строю из узлов. одна секция состоит из 2 узлов, но один узел может быть в 0, 1, 2 и 3 секциях. 0 - потерянный узел (бывает такое, черта вертикальная в редакторе торчит), 1 - конечный узел TrEndNode, 2 - обычный TrVectorNode, по оба конца по секции, и 3 - стрелка TrJunctionNode |
Может базу привернуть, светофоров не так уж много и уже от названия определять тип?
|
ну так тип же выводится уже строкой возле светофора :)
[size="1"][color="Silver"]Добавлено через 1 час 9 минут[/color][/size] уменьшил пороговое расстояние близости платформ для фильтрации с 1 км до 0.7 км. Озерки появились, вроде лишнего ничего больше [size="1"][color="Silver"]Добавлено через 23 минуты[/color][/size] карта Савелово с отметками уклонов, отличными от нуля. [url=http://itmages.ru/image/view/795215/977aebbc][img]http://storage4.static.itmages.ru/i/12/1209/s_1355054350_5049173_977aebbc4a.png[/img][/url] пока еще нет векторов.. и пока еще не работает фильтр по уклонам, чтоб отсеивать мелкие значения (по модулю) [url=http://itmages.ru/image/view/795217/f7bf9f78][img]http://storage6.static.itmages.ru/i/12/1209/s_1355054445_7773911_f7bf9f7866.png[/img][/url] |
Антон, какой алгоритм по высчитыванию промиле, в смысле какие параметры использует кроме высоты точки линка?
Странно, что минусы чередуются с плюсами, это понятно - смотря с какой стороны смотреть =)), но как-то плохо профиль воспринимается. ИМХО стоит объединять несколько секций имеющих схожие параметры наклона и выписывать уклон уже для группы, а посекционно (покусочно :)) выводить только высоту от нуля. |
тысячные считаются для каждой секции (секция есть отрезок между двумя TrackNode, у каждой из которой есть координаты и высота).
gradient:=(Segment.Node1.y - Segment.Node2.y) / (Segment.Length / Translator.MetersInDekart) * 1000; т.е. разница высот (в метрах), деленная на длину секции в метрах. и помноженное на 1000, чтобы ‰. плюсы с минусами это понятно, для этого я подумаю над рисование векторов – стрелочек, указывающий направление, откуда считалось значение. обьединять это хорошая идея, надо подумать. воспринимается плохо – дык это карта, а не профиль пути все-таки. но я начал с добывания данных, профиль еще нарисуется. а раз данные есть, почему бы не повесить на отдельную галочку. вот мне уже щас хоть бери и печатай и едь.. я еще галочку Абсолютные высоты добавить планирую.. высоту от нуля? а что есть ноль? самая минимальная высота в маршруте? нормировать по ней? |
Ноль он и Африке ноль, т.е. значение 0.0.
Позволяет отобразить общий ландшафт, с минусом это уже выемка, с плюсом горка. По алгоритму понял, ты берешь следующий трек как конец расчитываемого. В W еще есть параметр QDirection, второе значение это уклон секции, не знаю зеркалится ли он в tdb, можно было-бы воспользоваться, но есть подводный камень - он считается от линка, т.е. минус это еще не значит уклон, все зависит от того откуда выкладывали путь. Наверно по следующему треку вычислять окончание правильно, но как быть если два трека, скажем по 500 метров стыкуются концами? Ведь высота линков ни о чем не скажет, хотя между ними, если они имеют разные уклоны должно что-то быть. |
ну ноль есть ноль, а в савелово, например, нету ноля, там ландшафт в среднем на 120 м выше уровня моря. что плохого? :) плюс и минус с выемкой и горкой – это понятие относительное. одна платформа на 120 м, вторая на 100. что здесь происходит – первая на горке, или вторая в выемке?? то то же :) неизвестно. а вот если мы знаем среднеландшафтную высоту в вакууме – 120, – то значит вторая платформа в выемке.
w файлы я вообще не трогаю, там загадок своих полно. пока данных хватает.. [size="1"][color="Silver"]Добавлено через 3 минуты[/color][/size] [QUOTE=Zabor;376028]По алгоритму понял, ты берешь следующий трек как конец расчитываемого.[/QUOTE] внутри TrVectorSections да, там сколько точек, столько рожается и секций, но на одну меньше (10 точек, 9 секций), а межузловые отношения описаны в ссылающихся узлах TrPins, по ним находим привязанные секции. |
Ничего плохого, я вот и говорю - уровень расположения станций еще ничего не определяет. За точку отсчета можно в принципе принять среднее значение высоты всех секций, но оно опять не даст 100% гарантии определения спуска/подъема.
|
я думаю что надо брать самое меньшее значение та и все. потом от него профиль строиться и видно сразу подъемы и спуски.
|
ну если речь про диапазон график профиля, то тут все прозрачно: нижняя планка – наименьшая высота, встречаемая в трекнодах, верхняя – наибольшая
|
почти научил читать tsection.dat. пока еще не до конца понял, в какую сторону вертеть секции и как их откладывать
|
tsection.dat уже читается.. я так думаю, что для него повесим отдельный пункт меню, один раз вычитаем и сохраним в свой формат (двоичный сжатый), и будет он лежать под боком у маппера.. мгновенно загружаться секции будут, и не придется его парсить каждый раз. а сам tsection.dat меняется относительно редко. поменялся – перечитал его и все дела..
я, кстати, с картами такой же механизм думал :) сохранить степановку во что-то похожее, и весить будет не 17 метров, а 1 к примеру, грузиться почти в момент, и что главное, не жрать 230 метров на его разбор... кто за? :) [size="1"][color="Silver"]Добавлено через 1 час 4 минуты[/color][/size] итого: tsection.dat - 5.05 МБ, загрузка 2-3 с двоичный несжатый индексный файл - 1.21 мб, загрузка доли секунды двоичный сжатый индексный файл - 171 кб, загрузка доли секунды расход памяти на разбор дерева отсутствует |
Мну за, особенно БД создать по секциям, включая длину кривых и просто из неё подставлять при отрисовке "технической" карты, тогда куски, из которых состоят многие секции из tdb не надо будет вычитывать и для глаза привычнее, а если еще и подписать секции то вообще отпад =)).
А tsection.dat это же динамическая гадость, как ты там разобрался. :crazy: |
[QUOTE=Zabor;376348]Мну за, особенно БД создать по секциям, включая длину кривых и просто из неё подставлять при отрисовке "технической" карты, тогда куски, из которых состоят многие секции из tdb не надо будет вычитывать и для глаза привычнее, а если еще и подписать секции то вообще отпад =)).
:crazy:[/QUOTE] это все в идеале :) конечно же, ломать существующее я не буду, т.к. tdb надо чем то же открывать, пускай чтобы потом и в своем сохранять.. но я думаю не хранить секции, т.к. код кеширования уже есть и работает универсально. а вот сохранять/читать слепки структур, в которых у меня хранится вся эта куча – это несложно.. [QUOTE] А tsection.dat это же динамическая гадость, как ты там разобрался. [/QUOTE] раскурил.. а вообще разве не в нем хранится инфа по форме обьектов? в TrVectorSection, который в tdb, первый параметр каждой записи как раз указывает на TrackSectionID... а в tsection.dat по этому ИД находим запись и смотрим ее форму - длину, радиус кривой, угол поворота.. в общем, все что надо для красивой отрисовки ломаных дугой... [size="1"][color="Silver"]Добавлено через 9 минут[/color][/size] 1.1 beta. [URL="ftp://netanton.no-ip.org/pub/mapper-setup.exe"]ftp://netanton.no-ip.org/pub/mapper-setup.exe[/URL] здесь уже индексатор tsection (кому не лень, выложите свой idx где-то), а также добавлена отрисовка уклонов, высот... в общем внимательно смотрим что нового на левой панели :) |
[QUOTE]в TrVectorSection, который в tdb, первый параметр каждой записи как раз указывает на TrackSectionID... а в tsection.dat по этому ИД находим запись и смотрим ее форму - длину, радиус кривой, угол поворота..[/QUOTE]Угу, только эта связь частенько разрывается, случается данные в tsection.dat кривые, есть несколько типичных ситуаций, когда этот механизм дает сбои в 100% случаев, не удивлюсь, если ты в tsection.dat раскопаешь горы мусора.
|
:D дык я пока этот маппер, да и менеджер сценариев до кучи писал, уже стал почетным археологом в этих дебрях, не удивлюсь.
мало того, видел своими глазами, как в TrackItems одна нода платформы вторым концом привязана к светофору :D а миллиард потерянных светофоров без линков (или то просто нерабочие по ИСИ?), это давно не новость.. мы что в tsection найдем, то и будем с его помощью дугами рисовать, а остальное как сейчас |
Вот, косяк вылез. Не везде отображаются уклоны. Там уклон порядка 16 тыщ.
[URL=http://s52.radikal.ru/i137/1212/ec/94c5cc66e1bb.jpg][IMG]http://s52.radikal.ru/i137/1212/ec/94c5cc66e1bbt.jpg[/IMG][/URL] |
Tarik, можно tdb посмотреть?
|
У меня кстати тоже не все уклоны.
"А он там есть" (с) ДМБ |
Ах вот почему Александрово вдруг стал "плоским" :D.
|
реализовал собственный формат хранения БД пути.
итого: степановка обычный tdb msts — 17 МБ файл, загрузка 13 с, отрисовка 1 с степановка tdbx несжатый — 3,5 МБ файл, загрузка почти мгновенно, отрисовка 1 с степановка tdbx сжатый — 1,2 МБ файл, загрузка почти мгновенно, отрисовка 1 с |
Только построил кривую, 2000r20, угол 0.24 это примерно 4%о - Mapper говорит, что там нет подъема :crazy:.
И закидал окошками в неимоверном количестве: [IMG]http://storage4.static.itmages.ru/i/12/1211/h_1355217822_9277685_4912b9892f.jpeg[/IMG] База не пересобиралась, смысла пока нет, черновик строительный, может там чего и криво, но надо бы это предусмотреть, пришлось Mapper снять диспетчером. |
бросай в меня базой.. либо на ноль делим где-то, либо одно из двух.
а про подьем интересно. |
Кинул, она разок падала, после чего была пересобрана, после пересборки 22 изменения, в общем практически чистая, в мстс естественно никаких ошибок нет.
Подъем см. от 83 км в поле, там ровная 100 м секция, где километровый и задвинутый светофор, а потом все секции в гору пошли до конца пути в поле. ИМХО влияет направление строительства пути, старый участок от 83 км в сторону Александрово, который наверняка собирался к Александрово он показывает, больше ничего не успеваю посмотреть ошибка эта зациклено начинает генерироваться. |
[B]Net[/B] у меня тоже это ошибка сыпется. При больших увеличениях. Может это из-за Windows 7 [B]x64[/B]
|
у меня тоже Win7 64, можете конкретнее сказать, на какой карте в каком месте? я у себя не могу добиться :(
по поводу проглоченных уклонов – исправлено! это я проффффесор, сам сказал сравнивать с пороговым фильтром по модулю, а модуль написать и забыл. потому глотались только отрицательные числа.. 1.2 beta [URL="ftp://netanton.no-ip.org/pub/mapper-setup.exe"]ftp://netanton.no-ip.org/pub/mapper-setup.exe[/URL] также в этой версии добавлен механизм сохранения карт в свой формат tdbx и его открытие. попробуйте, реально быстр и меньше весит :) [size="1"][color="Silver"]Добавлено через 4 минуты[/color][/size] кто скачал буквально минуту назад, в 15:29 по мск? перекачайте! :) [size="1"][color="Silver"]Добавлено через 47 минут[/color][/size] сконвертировал некоторые карты здесь: [URL="ftp://netanton.no-ip.org/pub/mapper_tdbx_maps/"]ftp://netanton.no-ip.org/pub/mapper_tdbx_maps/[/URL] |
Какие планы на будущее для этой программы? Что нового ожидать в новых версиях?
|
· отрисовку кривых дугами
· карта профиля гламурная · таблица профиля того же участка (какой уклон какой длины и т.д.) · таблица расстояний между станциями · сохранение фрагмента карты · сохранение карты с нарезкой на фрагменты заданной ширины и высоты это из серьезного. и это планы. наполеоновские. но у меня сейчас валом другой работы, поэтому пока нового я ничего не делаю масштабно. |
понятно, удачи в реализации. надеюсь, что можно будет предложение вносить.
|
Текущее время: 22:49. Часовой пояс GMT +4. |
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim