Просмотр полной версии : MSTS Mapper
всем доброго вечера!
наш ответ чемберлену, или TS Mapper заколебал в корень.
хочу поделиться новостью про скоротечную разработку. буквально за пару дней наваял маппер, который хотел наваять уже года 3 как, с момента рождения менеджера сценариев.
на текущий момент еще много задач в TODO, и местами подглючивает отрисовка, но уже очень даже юзабельно.
http://storage6.static.itmages.ru/i/12/1128/s_1354113080_1790636_67f6bf3078.png (http://itmages.ru/image/view/780228/67f6bf30)http://storage7.static.itmages.ru/i/12/1128/s_1354113092_8493956_07bab538b7.png (http://itmages.ru/image/view/780229/07bab538)http://storage9.static.itmages.ru/i/12/1128/s_1354113101_1441205_602aaec195.png (http://itmages.ru/image/view/780230/602aaec1)http://storage1.static.itmages.ru/i/12/1128/s_1354113110_4996937_fc9b68c129.png (http://itmages.ru/image/view/780231/fc9b68c1)http://storage2.static.itmages.ru/i/12/1128/s_1354113119_4343419_07e13472ba.png (http://itmages.ru/image/view/780232/07e13472)
степановку грузит секунд 15, отрисовка всего маршрута с кучей всего полезного без ограничений - без тормозов, и есть куда улучшать.
на этапе загрузки степановки жрет 200 метров, после – 50.
что еще надо:
· еще надо километраж;
· надо Siding Items рисовать;
· есть мысли улучшить вывод текста нормалью к платформе;
· есть идеи по поводу отрисовки профилей заданных участков (пока не умеет)..
· также хотелось бы добавить в статусбар координаты тайлов (и на тайле) и географические, при движении курсором по карте;
· и есть идеи по сохранению в картинку (умела, но переделал на движок с зумом, и пока не переучил) — были мысли забить на идиотское жадное сохранение в 100500х100500 картинку, и сделать заместо этого нарезку в кучу картинок для последующей печати листов.. с заданием dpi, формата бумаги.. отрисовку в текущем уровне зума делать.. и как максимум – печатать прямо из программы.
будет ли кто таким пользоваться? :D
еще пару дней полирнуть какие мелочи, можно и использовать.
сейчас, честно говоря, крайне забито свободное время, потому сделалось все молниеносно, но качественно, чтобы не было очередного унылого Gовна. потому из-за времени сейчас проект не сильно приоритетен (у меня еще неотрелизенный менеджер висит на шее :D)
le Sandro
28.11.2012, 18:52
Молодца...
Такого софта порой ой как не хватает. Как допилишь, рекомендую выложить на trainsim.com. Оторвут с потрохами.
Ну красиво, да) Не знаю насколько практично.
есть идеи по поводу отрисовки профилей заданных участков (пока не умеет)..Кстати да, такая же мысль, глядя на скрины,- построить бы план-профиль участка, и схемы станций заодно ещё)) Можно будет режимные генерировать)))
Сохранение в файл нужно, хотя бы без разбивки на куски.
Сохранение в файл нужно, хотя бы без разбивки на куски.
это как раз самый легкий вариант. я про него думал в первую очередь. просто спрашивается разрешение, какое должно быть у картинки по большей стороне, и вся сцена рендерится в файл во мгновение.
зы. на текущей граф-библиотеке держало порядка 11000 пикселей на сколько-то там, на более простой держало 25000 и около того. просто здесь сглаживание линий есть, но я еще подумаю :)
GeneZone
28.11.2012, 19:47
будет ли кто таким пользоваться? :D
Будет, конечно. Я, например, точно буду. Молодец Net - так держать!
причесал междумордие, научил сохранять все галочки, размеры и позиции в xml. амбициозно добавил галочек из редактора маршрутов. будем надеяться, осилим :D
http://storage9.static.itmages.ru/i/12/1129/s_1354138618_4389713_ba43b98cff.png (http://itmages.ru/image/view/780931/ba43b98c)
Айс! Будет очень полезная штука для сценаристов и вообще всех причастных, некоторые летают по Степанкам понятия не имея в каком направлении :D, типа куда рельса приведет, а так можно карту распечатать и на стенку повесить.
В идеале научить бы его подписи раздвигать... или отображать на мелких масштабах только один путь из нескольких параллельных.
уже научен фильтровать названия станций (не платформ). рисуется только одно название, если на станции их несколько и все имеют одинаковое название.. если же разные (опечатка, латиница с кириллицей, или на самом деле разные станции), то рисуется все, как есть.
раздвигать, по этому поводу были мысли с поворотом текста перпендикулярно платформе..
Seafarer
29.11.2012, 13:57
Айс! Будет очень полезная штука, можно карту распечатать и на стенку повесить.
:eek:Жесть +1
Конечно буду пользоваться!
А что тут такого, приколол Степанки этак на паре А2 и поехал, на следующий сценарий поверх наколол Лесногорск и дальше поехал. :D
Кстати, Антон, надо бы потом распечатывать научить, чтобы А4 склевать в карту, идеально чтобы можно было картинки высокого разрешения в размере А4 с полями для склейки можно было утащить на комп без МСТС и распечатать на работе =)).
Кстати, Антон, надо бы потом распечатывать научить, чтобы А4 склевать в карту, идеально чтобы можно было картинки высокого разрешения в размере А4 с полями для склейки можно было утащить на комп без МСТС и распечатать на работе =)).
дык у меня такие мысли и были :) задаем dpi, формат бумаги, ориентацию :D
и пускай себе режет на куски, которые потом клеить.. ну или если это A1, то меньше клеить :)
А1 при 300 dpi это 10000 х 7000, а степановку чтобы более менее нормально видеть, надо 20000 х 15000, то есть надо A0, а это уже 120х84 см, один квадратный метр :D
projecter
29.11.2012, 15:19
...можно было утащить на комп без МСТС и распечатать на работе...
А не проще сделать на компе с МСТС *.pdf-файл и утащить его в любое место, где есть возможность вывода на печать? ;)
прикольный в степановке tdb. из 8416 светофоров только 8102 имеют TrItemRData и собсно координаты. это столько трешака? :) вычистить бы его
Дык остальные занулены, это просто статика, никому не мешают =)).
хух, поборол глюки отрисовки на большом зуме, не хотел жертвовать сглаживанием, уж больно красиво. платформы сделал 3-пиксельной толщины.
http://storage1.static.itmages.ru/i/12/1130/s_1354225282_6460215_ee474b96d1.png (http://itmages.ru/image/view/782418/ee474b96)
думаю вот, что придется курить tsection.dat и считать по радиусам кривых опорные точки и рисовать дуги.. мне не очень нравятся угловатые треки.
научил отбивать текстовые подписи в зависимости от угла наклона платформы. интересно получается :)
до:
http://storage2.static.itmages.ru/i/12/1130/s_1354233444_2718453_07b84e2d84.png (http://itmages.ru/image/view/782473/07b84e2d)http://storage3.static.itmages.ru/i/12/1130/s_1354233456_4313334_88fad44812.png (http://itmages.ru/image/view/782474/88fad448)
после (степановка выровнена пиксель в пиксель, хорошо листать разницу):
http://storage8.static.itmages.ru/i/12/1130/s_1354233409_2121528_d80c75dee8.png (http://itmages.ru/image/view/782470/d80c75de)http://storage9.static.itmages.ru/i/12/1130/s_1354233428_7442738_449654aeb6.png (http://itmages.ru/image/view/782471/449654ae)
:D укуренный мозг
http://storage4.static.itmages.ru/i/12/1130/s_1354233641_6108003_34f1bf3850.png (http://itmages.ru/image/view/782475/34f1bf38)http://storage8.static.itmages.ru/i/12/1130/s_1354234147_2224326_901e9f279b.png (http://itmages.ru/image/view/782479/901e9f27)
Добавлено через 12 минут
еще немного курева со времени разработки функций трансляции тайловой системы координат в экранную, а затем в декартовую (сейчас такая последовательность: тайловая –> декартовая –> экранная).
http://storage9.static.itmages.ru/i/12/1130/s_1354234329_2067197_ae9004227e.png (http://itmages.ru/image/view/782480/ae900422)http://storage1.static.itmages.ru/i/12/1130/s_1354234437_6625106_641419f62b.png (http://itmages.ru/image/view/782481/641419f6)
научил сегодня отображать координаты в статусбаре, подгонять масштаб карты под размер маршрута при его открытии, добавил зум-уровень аля google maps, сделал изменяемый размер шрифта для станций (от 7 до 10 кегля в зав-ти от зума). также сделал шаг сетки и шаг подписей адаптивными, масштабируются в зависимости от зума... и уменьшил минимальный масштаб. теперь уровень зума по масштабной линейке колеблется от 200 км до 24 м.
http://storage1.static.itmages.ru/i/12/1201/s_1354309502_6154964_5af989e8e4.png (http://itmages.ru/image/view/783597/5af989e8)
итак, добавились километровые знаки (пока еще не отбиваются от пути, чтоб не налезали)
http://storage7.static.itmages.ru/i/12/1202/s_1354440524_8717716_ad2a10e799.png (http://itmages.ru/image/view/785313/ad2a10e7)
ограничения скорости по маршруту (на двухпутках по два числа, да еще в оба направления, поэтому смотрибельно только на больших увеличениях)
http://storage8.static.itmages.ru/i/12/1202/s_1354440533_4592841_e25813cf61.png (http://itmages.ru/image/view/785314/e25813cf)http://storage9.static.itmages.ru/i/12/1202/s_1354440540_1837935_46efc7a011.png (http://itmages.ru/image/view/785315/46efc7a0)http://storage1.static.itmages.ru/i/12/1202/s_1354440548_8854733_f7f740763c.png (http://itmages.ru/image/view/785316/f7f74076)
пункты заправки и переезды :D
http://storage2.static.itmages.ru/i/12/1202/s_1354440555_9916827_ec891f7f69.png (http://itmages.ru/image/view/785317/ec891f7f)
названия станционных путей (выполняются зеленым цветом)
http://storage3.static.itmages.ru/i/12/1202/s_1354440562_2769162_8b2a5490a6.png (http://itmages.ru/image/view/785318/8b2a5490)
мерная линейка :rolleyes:
http://storage4.static.itmages.ru/i/12/1202/s_1354440569_8241020_0dfc628180.png (http://itmages.ru/image/view/785319/0dfc6281)
статистика :) (общая длина путей для оценки трудоемкости маршрута, а число километровых знаков более менее хорошо показывает «правильную» длину путей)
http://storage5.static.itmages.ru/i/12/1202/s_1354440576_9416771_0727c6f8c9.png (http://itmages.ru/image/view/785320/0727c6f8)
... увеличен предел зума с 24 м до 12 м (с 14 уровней до 15)..
честно говоря, осталось сохранение цивильное сделать. и отбивку километровых знаков от пути, как со станциями.. и готов релиз
научил собирать список платформ (ну они и так вообще-то были :)), и показывать по ним инфу: станция, платформа, длина платформы в метрах и ближайжий километровый знак (в степановке, где несколько веток с одинаковым километражом, может быть запутывающим).
всю инфу можно скопировать в буфер или перейти на карте к выбранной станции. в списке есть инкрементальный поиск по названию станции и сортировка по любому столбцу.
1: начинаем отсюда
http://storage1.static.itmages.ru/i/12/1202/s_1354460847_4327412_8afdad884e.png (http://itmages.ru/image/view/785803/8afdad88)
2: нашли платформу, Перейти
http://storage5.static.itmages.ru/i/12/1202/s_1354460915_4446392_4a9470884e.png (http://itmages.ru/image/view/785807/4a947088)
3: и тут внезапно :D
http://storage8.static.itmages.ru/i/12/1202/s_1354460948_2777243_84c7079e57.png (http://itmages.ru/image/view/785809/84c7079e)
зы. должен заметить, что в списке отображаются все платформы маршрута, и по четному, и по нечетному направлению, вообще все. но на карте названия фильтруются по близости, чтобы не налегать друг на друга.
зыы. степановку грузит 13 секунд, 220 МБ и падает до 75 МБ.
Добавлено через 32 минуты
добавил 2 колонки в окно платформ: Время стоянки и Число пассажиров
http://storage5.static.itmages.ru/i/12/1202/s_1354462897_6997827_f472d2afc8.png (http://itmages.ru/image/view/785842/f472d2af)
Net, а что за параметр время стоянки? Сколько сценарии не делал, ни разу на него не нарывался.
это PlatformMinWaitingTime, буквально Минимальное Время Ожидания, я так понял, читай посадки.
Добавлено через 3 минуты
по совету MJack убрал из показа в списке платформ дубликаты. отсеяли PlatformItem'ы с флагом FFFF0000, т.к. там на каждую платформу по две записи - точка начала и точка конца..
стало чище :)
http://storage1.static.itmages.ru/i/12/1202/s_1354473099_8809184_7f7a99ca16.png (http://itmages.ru/image/view/786136/7f7a99ca)
Seafarer
02.12.2012, 22:36
Эту утилиту, кроме ее оригинальных функций, можно будет с большим успехом использовать для склейки альтернативных путей ( через другие станции или в объезд таковых )...По google Earth можно точно проложить, но для контроля - самая что не на есть подходящая программа будет...
немного не понял, как ее для склейки использовать? :rolleyes:
зы.
:) сценаристов удовлетворили давно, теперь сбудется моя давняя мечта — удовлетворятся маршрутизаторы маршрутчики маршрутисты :D
Seafarer
02.12.2012, 22:48
немного не понял, как ее для склейки использовать? :rolleyes:
зы.
:) сценаристов удовлетворили давно, теперь сбудется моя давняя мечта — удовлетворятся маршрутизаторы маршрутчики маршрутисты :D
Смотри, Тоха, я в своем маршруте проложил ветку Лубны - Ромодан - Хорол - Веселый Подол - Глобино - Рублевка - Кагамлыцкая - Кременчуг - Крюков - Бурты - Павлыш - Корыстовка - Знаменка - Кировоград....От Рублевки до Буртов есть ветка через Светловодск - 27 км...Мне кроме того, чтоб угадать точное размещение, нужно было выводить еще и высоту профиля...Развести 2 ветки, а потом их точно свести - потенциальный геморрой...С качественным масштабированием в твоей утилите - задача облегчается...Ведь склеивал то я не в последний раз...
я понял.. да, замеры вещь полезная.
вот еще вспомнил про вывод географических координат в статус-баре, как там сейчас тайловые сидят — а надо ли они будут? я предполагаю, что полезно, ибо с гуглом хорошо синхронизироваться..
но их надо еще научиться расчитывать. я пока тайловые считал, слегка сломал мозг. если у кого есть методика — бросайте в меня.
Добавлено через 1 час 14 минут
спасибо MJack за идею улучшить поиск. взял готовый велосипед и получилось такое:
http://storage9.static.itmages.ru/i/12/1203/s_1354478900_2376440_7bc9b94ed7.png (http://itmages.ru/image/view/786233/7bc9b94e)
живая фильтрация по мере набора текста. ищет по всем колонкам. после выбора платформы двойным щелчком или Enter или Перейти, и последующего открытия списка платформ по F8, список показывается в том же состоянии (сортировка, фильтр, текст поиска), в каком и был.
зы. также добавился прогрессбар загрузки маршрута :)
О обрастает функционалом, ты только сам не запутайся =)).
Эм... еще бы у светофорчиков их типы писать, а если Тимаса то рисунок светофора строить в соответствии с формулой, чтобы выглядел как на схеме из ТРА.
ухожу, ухожу. :D
:eek: ацкий изверг. :D может их еще анимировать, и шобы со временем лампы горели? и анимацию сцбиста дяди Пети, который ту лампу меняет :rofl:
а типы светофоров то можно. для отладки в самый раз. я запишу в TODO пока что. как припечет, скажете :)
хотя это понять можно. кто с чем в мстс трах@ется, тому того и не хватает :)
:eek: ацкий изверг...
- Доктор! Мне же больно!
- Я знаю.
:D
Дядю Петю то зачем =)), а что такого, там все просто
if(substr(TrSignalType,0,6)=='T_Head_'){
// оно, строим рисунок по формуле =))
}else{
// не оно, выводим рисунок без схемы
}
Ну хоть тип напиши. :o :)
а какие там хоть типы бывают, или где смотреть? :) набросай, пожалуйста, а то я щас в развалке (в отладке :D) сижу чешу репу, почему название одной платформы не отбивает подальше :D
В .tdb TrItemTable - SignalItem - TrSignalType третий параметр, только там собственно головка и надо еще проверять совпадающие, чтобы преобразовать, например накладка двух голов T_Head_YR_xW и T_Head_YRG_W по одним и тем же координатам должна давать только полное значение YRG_W, если есть х то запись опускается - это дополнительная башка.
Но это только для Тимаса, у Славы например другое именование голов proh3L_AB3, PredVhod и т.д.
У Алексея даже боюсь смотреть, поколотит еще =)).
В общем построить название светофора можно только для сигналки Тимаса, где в названии голов заложены формулы светофоров, в остальных случаях только условное обозначение, или надо делать базы для каждой сигналки.
в общем, строковое название :) понял.
Можно конечно и по TrItemId + TrItemRData (тайл) сходить посмотреть что там стоит в параметре FileName соответствующей TrItemId секции Signal, но это адская рекурсия по всем W, т.е. полный геморрой. :crazy:
по поводу километража.
нужно выводить не ближайший километр, а меньший из двух ближайших. то есть если платформа расположена на 65 км 8 п 45м, у вас, если я правильно понял, выведется 66, а нужно 65, поскольку платформа находится на 65 километре, а не 66.
и вообще мне кажется было бы правильней вместо километра выводить полную ординату, то есть, километр + расстояние до платформы. правда не знаю, как оно считается - до начала платформы, или по её оси(середине).
по поводу километража.
нужно выводить не ближайший километр, а меньший из двух ближайших. то есть если платформа расположена на 65 км 8 п 45м, у вас, если я правильно понял, выведется 66, а нужно 65, поскольку платформа находится на 65 километре, а не 66.
и вообще мне кажется было бы правильней вместо километра выводить полную ординату, то есть, километр + расстояние до платформы. правда не знаю, как оно считается - до начала платформы, или по её оси(середине).
а вот это дельное предложение!
сейчас считается напрямик (не по путям) к центру платформы.
округлять к меньшему это можно сделать :)
улучшил алгоритм отбивки текста от путей.. теперь перпендикуляры красивые.
уровень 3, до и после:
http://storage4.static.itmages.ru/i/12/1203/s_1354533427_3602911_8225beb1f0.png (http://itmages.ru/image/view/786930/8225beb1)http://storage6.static.itmages.ru/i/12/1203/s_1354533470_3071371_35d5818f16.png (http://itmages.ru/image/view/786932/35d5818f)
уровень 4, до и после:
http://storage5.static.itmages.ru/i/12/1203/s_1354533454_3533734_90143ed341.png (http://itmages.ru/image/view/786931/90143ed3)http://storage8.static.itmages.ru/i/12/1203/s_1354533485_1716215_dceb27fe23.png (http://itmages.ru/image/view/786934/dceb27fe)
оранжевые перпендикуляры мне понравились, наверное навешу на чекбокс, пускай рисуется при желании юзера. :)
Добавлено через 1 час 42 минуты
блин, красота
http://storage2.static.itmages.ru/i/12/1203/s_1354539679_2901528_ed3c34f090.png (http://itmages.ru/image/view/787107/ed3c34f0)
GeneZone
03.12.2012, 17:16
Да, просто ОТЛИЧНО! Вот кому надо было утилиты писать(типа DEMEXа).
Net, а профиль не планируется?
профиль планируется, но не в первом релизе... есть куча сторонней работы, с которой я переключился.
принимаются идеи :)
зы. сделаны подписи типов светофоров. Игорь, я надеюсь, на них не надо делать фильтрацию как с платформами? :D вот статистику сделаем, сколько каких..
Добавлено через 54 минуты
итак, заказ выполнен.
http://storage1.static.itmages.ru/i/12/1203/s_1354544753_6459431_37658bcc47.png (http://itmages.ru/image/view/787216/37658bcc)
будем делать таблицу светофоров с блекджеком и шлюхами поиском и локацией, как в случае с платформами
Добавлено через 10 минут
MJack пошел дальше и предложил добавить ItemId. сказано, выполнено
http://storage3.static.itmages.ru/i/12/1203/s_1354545283_4682986_e975b2b5a1.png (http://itmages.ru/image/view/787226/e975b2b5)
были еще мысли вычитать направление светофора и прочую шелуху (вспоминаются времена Marker Correction Tool :D)
Добавлено через 14 минут
сделал окно поиска платформ немодальным. суть не поменялась, но теперь удобнее шариться по карте, окно себе висит сбоку :)
О! Класс!
Антон, забей на маркеры и направление - будет каша из обратно кодирующихся, хотя можно опять навесить опцию "показывать обратное кодирование АЛСН", если их головы можно просто и быстро отличить конечно.
Есть забить! честно говоря, пока не планировал маркеры всерьез :)
Добавлено через 37 минут
Ну что, пришла и моя пора попрошайничать :D
Благодарности принимаю тут :) ya.money: 4100150365728
Добавлено через 18 минут
Географические координаты нужны кому-нибудь?
А многосегментная мерная линейка (как в гугле земле)? :)
GeneZone
03.12.2012, 23:41
Ну, тогда уж и заодно импорт kml/kmz... :)
Ну, тогда уж и заодно импорт kml/kmz... :)
я знал! :) это пока в будущем..
готов манагер светофоров
http://storage3.static.itmages.ru/i/12/1204/s_1354599449_6964176_da7bbd0852.png (http://itmages.ru/image/view/788082/da7bbd08)
Добавлено через 1 час 43 минуты
немного видоизменил координаты, значок
http://storage9.static.itmages.ru/i/12/1204/s_1354605566_6450950_e86dc4d182.png (http://itmages.ru/image/view/788142/e86dc4d1)
в процессе лазанья по карте, в этом окошке автоматом пересчитываются все расстояния (видимые в списке :)), а если по колонке Расстояние еще и отсортировано, то также еще автоматом постоянно сортируется в выбранном порядке, т.о. светофоры идут по порядку удаления от центра карты..
карту профиля надо. от точки до точки (например выбираешь название станции от входного до входного другой станции). если через несколько станций то по главному пути
тогда можно будет режимные карты для прохождения сценариев рисовать
профиль еще предстоит обдумать.. понятия главного пути в tdb нету.. строить, скорее всего будем как ТС маппер, но с заданием фрагмента нужного.. т.е. если задали фрагмент, где несколько путей, то несколько веток и будет на графике..
где-то так
Добавлено через 4 минуты
в общем, алгоритмы на обход пути, интерактивное взаимодействие с пользователем и внешний вид профиля – кто как считает нужным, рассказывайте, возможно будут хорошие и простые идеи. все равно профиля в первом релизе не будет.
Добавлено через 10 минут
в частности, хочется сделать расчет уклона в ‰. и красиво все это отрисовать
Добавлено через 13 минут
добавил фильтр на поле зрения
http://storage4.static.itmages.ru/i/12/1204/s_1354607894_2550022_c404498aba.png (http://itmages.ru/image/view/788183/c404498a)
автоматически фильтруется при панорамировании карты
Добавлено через 1 час 26 минут
добавил вот такое информационное табло.. готовимся к сохранению карты
http://storage3.static.itmages.ru/i/12/1204/s_1354612555_3983545_19b681ced6.png (http://itmages.ru/image/view/788280/19b681ce)http://storage5.static.itmages.ru/i/12/1204/s_1354613442_9014275_f0c18a21ce.png (http://itmages.ru/image/view/788300/f0c18a21)
Добавлено через 1 минуту
касательно dpi печати - 150 от фонаря пока что, надо тестировать. 300 сейчас слишком дофига – много мелких элементов и мелкого текста, на таком разрешении могут проглотиться, а тем более цветной текст на м/б принтерах, или на принтерах с забитыми краской головками :)
Добавлено через 41 минуту
тестируем..
http://storage3.static.itmages.ru/i/12/1204/s_1354616060_3606797_3ad05260d0.png (http://itmages.ru/image/view/788361/3ad05260)
крайне удачно надписи встали :)
Добавлено через 2 минуты
кстати, у кого есть tdb всякие нестандартных роутов, сбрасывайте на обменники, погоняем перед релизом..
Добавлено через 36 минут
еще один штрих к списку светофоров. теперь выбранный светофор подсвечивается на карте.
http://storage5.static.itmages.ru/i/12/1204/s_1354618401_4747750_32d3c172de.png (http://itmages.ru/image/view/788405/32d3c172)
Игорь, :drinks:
Посмотрел скрины - знаешь, направление головки светофора в голове как-то автоматом вырисовывается =)).
Хотя с технической стороны вспоминая "Ночи полные огня" наверно пирамидка маркера на карте бы не помешала, хотя-бы для экспресс проверки новых светофоров после пересборки tdb и подстройки углового ключа SignalFix-а при острой необходимости, но это сугубо личное, для мну так сказать. :o
если припечет, можно будет напрячь мозг :) я тоже позабывал все прелести из сигналфикса :D
щас учу его over 9000 подписей на одном светофоре в столбик выводить..
Головы с одинаковыми координатами то ты объединил, как я понимаю по скинам, так можно же взять оттуда общий угол и нарисовать пирамидку, если в две стороны кодируется - их будет две, что есть Айс.
ИМХО глядя на карту с пирамидками можно много узнать про ориентацию маркеров голов в маршрутах и удивиться как оно еще при этом работает =)).
Добавлено через 2 минуты
А ведь так высветятся маркеры линков, которые никто никогда не видел глазами, а многие маршрутостроители даже не слышали про них - это прорыв =)).
покажи хоть, как эти узлы выглядят и на какой параметр смотреть :))
Да... ты совсем всё забыл, но я тоже склерозом страдаю, приду с работы, ночью полистаю ту легендарную тему, которая спасла от багов уже не один маршрут =)).
договорились :)
а я поборол вот и этот геморрой
http://storage9.static.itmages.ru/i/12/1204/s_1354622500_4244538_9dea97603c.png (http://itmages.ru/image/view/788502/9dea9760)
теперь друг под дружкой
Добавлено через 4 минуты
но часто случаи, когда различимо только на over 9000 крат зума
http://storage8.static.itmages.ru/i/12/1204/s_1354622768_9332502_b6b931323b.png (http://itmages.ru/image/view/788510/b6b93132)
или вообще полный П :crazy:
http://storage9.static.itmages.ru/i/12/1204/s_1354622776_2757663_3ab168eabd.png (http://itmages.ru/image/view/788511/3ab168ea)
Дык вот линкованные головки и светятся, они сплошь дополнительные к основной и имеют в индексе "х", что у Тимаса читается как "пофигу что", например 3061 показывает только R и W в соответствующих позициях, это 100% линк, если к нему пирамидку по углу - сразу будет видно слетевший.
Опционально все с "х" можно исключать, если координаты и углы одинаковы с основной головой, у неё не должно быть "х" в значении, хотя не факт и зависит от светофора.
Добавлено через 5 минут
Ха, Антон, всё как я и писал, светофор у Тимаса можно собирать по обозначениям, заменяя "х" из другой записи с этой координатой и углом, вот смотри по этому скрину (http://itmages.ru/image/view/788510/b6b93132), при объединении получим формулу YGR_YW, составленную из всех голов.
Добавлено через 7 минут
Пирамидки можно тупо рисовать все, они просто наложатся друг на друга и будет одна, если одна развернулась скорее всего кодируется обратно, если вообще в сторону от пути - 100% линк со съехавшей крышей.
Ух хочу такую штуку, аж слюни текут :D.
Сейчас мну на работе закопают, убежал.
еще одну красоту навел. до и после:
http://storage6.static.itmages.ru/i/12/1204/s_1354629489_3252899_de4389f703.png (http://itmages.ru/image/view/788643/de4389f7)
фильтруем названия не только по названию но и по близости (порог 0.5 км).
сейчас вот думаю, может заюзать нечеткое сравнение строк да и всего то делов..
все станции, что я видел, как правило либо с опечаткой, либо дописки в конце, либо цифра другая..
зы. Уважаемые авторы маршрутов, делайте их с любовью к пользователям, сценаристам и разработчикам картографических приложений! :D
отскринил картинку
http://storage7.static.itmages.ru/i/12/1204/s_1354649039_2288064_5bf1d6f450.png (http://itmages.ru/image/view/789130/5bf1d6f4)
напечатал фотошопом на 150 PPI. длина масштабной линейки 183 м, масштаб на печати: 54 м в 1 см, итого длина линейки должна быть 3.38 см. меряем, один в один :) слегка не дотягивает до 3.4
итого 4х6 м карта степанок в таком масштабе
Добавлено через 39 минут
закончил наконец алгоритм отбивки километража от трека.. не идеал, но вроде бы лучше.
до и после (смотрим на смещение только километража):
http://storage1.static.itmages.ru/i/12/1205/s_1354651272_2836233_ffc6b748cf.png (http://itmages.ru/image/view/789187/ffc6b748)http://storage9.static.itmages.ru/i/12/1205/s_1354651267_5917778_a5738bb0c1.png (http://itmages.ru/image/view/789186/a5738bb0)
должен сказать, алгоритм брутфорсоподобный. не имея точной привязки КМ-обьекта к TrackNode, было придумано такое ухищрение: для каждого КМ считаем расстояние до _каждой_ точки TrVectorSection каждого TrackNode... берем два наименьших (читай близлежащих) и принимаем за факт, что это граничные точки отрезка, на котором типа лежит КМ-обьект. это в идеале. на станциях сложнее.. бывает зацепляется за левую точку и выносит перпендикуляр совершенно не в ту сторону.. здесь аналитика чистой воды.
поб. эффект - степановка +3 сек стала грузиться. 900 км-обьектов на 44000 трекнодов = дофига :)
Это в маршруте такие косяки с километрами? :eek:
не, косяков нету! :) я так понимаю, в мстс не предусмотрена привязка трекноды к спидпост итему. ну то есть ссылка на запись в TrItemRef есть, но ссылка эта аж из целого TrVectorSections, где может быть хоть 100 узлов.. сиди думай, между какими КМ знак стоит.
поэтому здесь угадай-ка :D как плюс - между треком и КМ подписью серая линия проводится, выходит она точно из нужного места, так лучше видно, где тот самый знак стоит.
Добавлено через 2 минуты
Игорь, ты не сильно будешь сопротивляться, если я тебе бету отдам сегодня? :)
из всего, что я планировал в первый релиз, нету только сохранения в файл.. ну и к этому приблизились – уже считаются все размеры/разрешения/масштабы, которые получились бы на выходе...
Дык с 51 по 55 вообще выпало всё. :confused:
Может их по координатам рисовать?
ааа, ты про 51..55.. ну это как раз да, в маршруте такой кайф :D
а по координатам рисовать — смотри левый скрин. :) и сравни с тем, что стало.
зы. поскорей бы уже! неделя напряжного труда и 4000 строк :)
сделал галочку для фильтрации платформ в поле зрения, как со светофорами
http://storage6.static.itmages.ru/i/12/1205/s_1354657778_4549692_38c0601597.png (http://itmages.ru/image/view/789336/38c06015)
добавил настройку цветов. теперь каждый сможет себе сделать свой вырвиглаз :D или монохромную для лучшей печати на ч/б принтере.
http://storage2.static.itmages.ru/i/12/1205/s_1354693308_1247005_79e2b655ea.png (http://itmages.ru/image/view/789521/79e2b655)http://storage3.static.itmages.ru/i/12/1205/s_1354693327_1401715_02970b68a4.png (http://itmages.ru/image/view/789522/02970b68)http://storage4.static.itmages.ru/i/12/1205/s_1354693338_4150013_dc63a420ad.png (http://itmages.ru/image/view/789523/dc63a420)
вот бы еще цветовые схемы сделать...
и надо ввести регулировочные коэффициенты размера подписей (на станции отдельно, на км-знаки отдельно)..
первые тесты сохранения :)
Киевский ход в трех исполнениях:
цвет, монохром, цвет без отладочных элементов.
масштаб: 1:184500, в 1 см 1.845 км при 150 dpi. (надо учить задавать круглые масштабы)
http://storage6.static.itmages.ru/i/12/1205/s_1354703803_3058134_73fe9334bc.png (http://itmages.ru/image/view/789662/73fe9334)http://storage7.static.itmages.ru/i/12/1205/s_1354703826_5369317_404a7e07a9.png (http://itmages.ru/image/view/789663/404a7e07)http://storage8.static.itmages.ru/i/12/1205/s_1354703854_3057397_1243f266c5.png (http://itmages.ru/image/view/789664/1243f266)
ну и конечно же, степанки :D
масштаб: 1:92274, в 1 см 923 м при 150 dpi. (2.5 х 3.5 метра :D)
..:eek: itmages слег от степанок :o:D не открывается больше
блин, ни один сайт не варит :(
Упакуй в архив и залей на помойку. Уж очень интересно посмотреть.
http://zalil.ru/34036064
Добавлено через 1 час 54 минуты
была шальная мысля сделать таблицу расстояний между станциями :rolleyes:
Riddik007
05.12.2012, 21:43
http://narod.ru/disk/64293958001.5ac4443aefab07eca1c04a0dded05bb1/rout.tdb.html
Про расстояния было бы неплохо
Если можно сохрани пожалуйста карту)
Профили кстати твоя прога пока не рисует? тут профиль интересный, а вот остального пока нету к сожалению ничего.
нету пока профиля, нету.. и сохранения человеческого еще нету. так бы уже выложил, замучила она в корень :)
ох и долго карту рендерит.. минуты 2.. но там 16 тыщ на 20 тыщ, хотя эта карта меньше.. то я со степанок разрешение оставил.. 1.2 гига отьедает.. ну ничего, придумаем сохранение фрагмента или нарезку..
карта тут: http://zalil.ru/34037884
внешний вид маршрута и статистика
http://storage3.static.itmages.ru/i/12/1205/s_1354731266_6421880_4cbdfc9314.png (http://itmages.ru/image/view/790243/4cbdfc93)
Riddik007
05.12.2012, 22:17
Спасибо. а как быть с профилем к примеру паралельных веток? или ответвления? а то я пробовал в маппере строить, фигня какая-то выходит)
фигня понятно почему выходит :) как быть у себя, еще не решил окончательно.
скорее всего, пользователю будет дана возможность выбирать область/кусок трека, по которому строить профиль.. будут профили участков, как в реальной жизни..
как это интерактивно будет выглядеть, пока не скажу..
Riddik007
05.12.2012, 22:28
А как насчет чтобы выводило типо отдельно схемы всех раздельных пунктов?
схемы станций? надо ломать голову, как эти самые станции и их границы отличать от обычных перегонов :)
tdb маршрута Alfold (http://narod.ru/disk/64294783001.551d73dc2d61ea445a4ab9363de7041f/Alfold.rar.html)
Riddik007
05.12.2012, 23:01
Ну если б можно было задать по крайним стрелкам. Будет по идее выдавать перегон-два пути или один потом станция потом перегон. вобщем типа линейно вывести схемы или что-то наподобие того.
tdb маршрута Alfold (http://narod.ru/disk/64294783001.551d73dc2d61ea445a4ab9363de7041f/Alfold.rar.html)
http://storage2.static.itmages.ru/i/12/1205/s_1354735791_1129194_2cac0c38a2.png (http://itmages.ru/image/view/790314/2cac0c38)
Добавлено через 44 секунды
Ну если б можно было задать по крайним стрелкам. Будет по идее выдавать перегон-два пути или один потом станция потом перегон. вобщем типа линейно вывести схемы или что-то наподобие того.
да, наверное только по стрелкам. причем стрелки — это не обязательно рядом станция..
да, наверное только по стрелкам. причем стрелки — это не обязательно рядом станция..
в любом случае, это какой-то раздельный пункт. даже если одна стрелка - это уже путевой пост. но возникает большой вопрос как раздельный пункт с одной стрелкой взять "в оборот". второй стрелки-то нет.. чем ограничивать?
о. станции наверное можно определять по входным светофорам. то есть выводить кусок карты, ограниченный координатами входных светофоров. или типа того.
хотя опять же. как определить, что они относятся к той, или иной станции.. искать за входным светофором ближайшую "спину" входного разве что..
входные светофоры – тоже понятие растяжимое :) их по-моему только по типу и различать.. а типы от сигналки к сигналке рознь.
Добавлено через 51 минуту
последние косметические рихтовки..
http://storage6.static.itmages.ru/i/12/1206/s_1354745441_3004559_0799d3d62c.png (http://itmages.ru/image/view/790444/0799d3d6)
ААА Антон, подожди , идея забежала!
А что если сделать упрощенную схему маршрута, как стандартно рисуют станция-перегон, станция-перегон, светофоры, стрелки, названия путей.
Кстати, станция это как минимум две стрелки на расстоянии не менее 50 м (примерно).
Добавлено через 3 минуты
Типа вот такой:
http://storage4.static.itmages.ru/i/12/1206/s_1354746275_6806807_4b4c3ef019.jpeg (http://itmages.ru/image/view/790451/4b4c3ef0)
Упс... а где ограничения скорости? [обнаглел] :o
ну так по большому счету и сейчас упрощенку можно сделать.. на не сильном зуме станции превращаются по толщине в пятнышко, а по длине в черточку. рядом подпись. между ними перегоны. светофоры по трекам четко в ряд, мелкими кружками..
лишние элементы отключать можно, да еще и цвет им менять.
а определять станции, перегоны это уже аналитика.. :)
зы. я положу сюда через минут 20 ссылку на инсталлер. версия пока еще beta будет. сюда не войдет одно обещаемое исправление, а именно — в списке платформ ближайший КМ брать с меньшим значением.
ну все в будущем еще. хочется уже поделиться и заняться другой работой! а там и багрепорты и фичреквесты пойдут
Добавлено через 1 минуту
ограничения скорости есть, правда не причесаны они, да и возиться не особо охота..
а твоя схема это конечно жЫр, но тут ой как попотеть надо, чтобы видоизменять форму станции.. карта и схема - две большие разницы.
Это не моя =)), дык не горит же, это так, чтобы энтузиазм не погас и было над чем поломать голову, результат аналитики практически сразу на экране, можно совершенствовать и проверять на разных маршрутах.
По идее там даже упрощение получается, из БД нужны только нитки, была одна, стрелка стало две - похоже станция, еще стрелка - точно станция...
ну что, вроде не сильно рубает карту... проверил на нескольких масштабах..
но поля по 100 пикселей с каждой стороны всунул :D
так что будет говорить в статусе размеры карты — это по границам тайлов, а так чуть побольше
http://storage2.static.itmages.ru/i/12/1206/s_1354747387_4328925_fe72bcaa98.png (http://itmages.ru/image/view/790467/fe72bcaa)
здесь масштабная линейка вверху по центру такой одинокой смотрится :) по сути она здесь не нужна, т.к. сетка лучше помогает, но пускай висит, рендерится все одним движком..
Добавлено через 2 минуты
http://storage5.static.itmages.ru/i/12/1206/s_1354747612_9241889_8ee25c7d73.png (http://itmages.ru/image/view/790470/8ee25c7d)
Добавлено через 3 минуты
сейчас в планах научить ее сохранять выбранный фрагмент карты. а также независимая возможность (не смотря на то, целую карту, или фрагмент сохраняем) резать на куски заданных размеров (пиксели, листы бумаги)...
Добавлено через 5 минут
ftp://netanton.no-ip.org/pub/mapper-setup.exe
Игорь, можешь забирать себе..
ну и я знаю, может сразу же и на трейнсим кого-нибудь попросить, я уже не помню, кто здесь заведует хозяйством.
зы. очередной костыль к msts, который, надеюсь облегчит жизнь хоть кому-то..
Добавлено через 22 секунды
если что забыл или упустил, не беда
Добавлено через 2 минуты
кому будет интересно, могу поделиться исходниками, ради интереса, потому что все равно не соберется.
У меня в старой версии маршрута ОП Озерки сперли =)).
http://storage3.static.itmages.ru/i/12/1206/s_1354749451_4345275_98be35bf5d.jpeg (http://itmages.ru/image/view/790576/98be35bf)
Наверно он поплатился за то, что в 600 метрах от Шувлово :D.
1.0 Beta - у мну конечно положу, штука очень полезная и Readme имеется. :drinks:
ридми там уже немного устарел :)
Ну что есть, нужно что-то написать же в блоке программы (http://zaborin.ru/msts/file.htm#mm), вот и копипастю :), если что не так закидывай на почту - поправлю.
Хотел раньше лечь спать, теперь из мапера не вылезти - столько интересного про маршруты можно узнать =)).
Ну что есть, нужно что-то написать же в блоке программы (http://zaborin.ru/msts/file.htm#mm), вот и копипастю :), если что не так закидывай на почту - поправлю.
Хотел раньше лечь спать, теперь из мапера не вылезти - столько интересного про маршруты можно узнать =)).
знал бы ты, сколько я потерянных светофоров видел :)
и то ли они нерабочие по ИСИ, то ли рабочие, но с битыми линками, и автор забил... в общем была мысля проверки структуры tdb со всякой лабудой
Добавлено через 8 минут
вот я тебе сайт захламил софтом :D
Добавлено через 29 минут
чего только ни было в TODO, жалко я в истории его не оставил, но сейчас он такой (числа это первоочередность):
{TODO 1 : в таблице платформ выводить расстояние к меньшему из ближайших (т.е. 765 и 766 - брать меньшее)}
{TODO 1 : выделение фрагмента карты для сохранения и нарезка на куски заданных размеров}
{TODO 1 : подсветка выделенной платформы (как со светофорами)}
{TODO 1 : профиль пути}
{TODO 2 : читать tsection.dat и брать оттуда параметры кривых, чтобы длинные кривые рисовать дугой, а не отрезками}
{TODO 3 : таблица расстояний между станциями}
{TODO 4 : возможно сделать пункт меню (или на тулбаре) - Задать масштаб (в хх см yy км}
{TODO 4 : выводить географические координаты}
{TODO 4 : многосегментная мерная линейка}
{TODO 4 : рисовать маркеры светофоров}
{TODO 5 : отпрофилировать}
{TODO 5 : сделать скроллинг колесиком быстрее, если зажат Ctrl}
{TODO 5 : собрать под x64}
Игорь, брось в меня свой tdb :) на живом примере посмотрю, кто и куда спер о.п. может там нифига и не полкилометра фильтруется, а какая то фигня.. я вроде нигде больше не замечал исчезновений
у меня опять вопрос :): кого беспокоить, чтобы сбросить разработку в download?
Сашу ANK(ft) наверно, или Сереге1969 напиши, но есть мысль, что ты на этом не остановишься и будет еще 2-3 беты =)).
Мне места для хороших вещей не жалко, тем более, что отдельное файловое хранилище несет отдельный же сервер с диким провайдером, а бетки я традиционно собираю для продвижения в массы. =))
беты горячие будут.. вот щас уже багу нашел. и еще уже шото с утра поправил.
просто уточняю, конечно, пока не спешим
GeneZone
06.12.2012, 18:38
Скачал, потестил. Багов пока нет, загружал Лесногорск и парочку своих недоделанных тестовых маршрутиков :).
Net, а можно сделать, чтобы показывались границы сгенерированных(в RGE) тайлов?
входные светофоры – тоже понятие растяжимое :) их по-моему только по типу и различать.. а типы от сигналки к сигналке рознь.
ну вот да. по типам. я это и имел в виду.
тогда надо иметь массив типов входных на всех известных нам "наших" сигналках. сигнализаций-то на данный момент всего три - не так много, а типов входных в 20-30 штук вместится..мне кажется, вполне реально, нет?
Добавлено через 1 минуту
вот такая фигня случилась на нашем районе. после нажатия "точки соединения путей"
http://s61.radikal.ru/i173/1212/90/eb3d718f4451t.jpg (http://s61.radikal.ru/i173/1212/90/eb3d718f4451.jpg)
Скачал, потестил. Багов пока нет, загружал Лесногорск и парочку своих недоделанных тестовых маршрутиков :).
Net, а можно сделать, чтобы показывались границы сгенерированных(в RGE) тайлов?
включите Границы тайлов :rolleyes:
Добавлено через 1 минуту
ну вот да. по типам. я это и имел в виду.
тогда надо иметь массив типов входных на всех известных нам "наших" сигналках. сигнализаций-то на данный момент всего три - не так много, а типов входных в 20-30 штук вместится..мне кажется, вполне реально, нет?
Добавлено через 1 минуту
вот такая фигня случилась на нашем районе. после нажатия "точки соединения путей"
http://s61.radikal.ru/i173/1212/90/eb3d718f4451t.jpg (http://s61.radikal.ru/i173/1212/90/eb3d718f4451.jpg)
не хотелось бы перебирать все возможные варианты сигналок...
касательно ошибки – а если чуть больше зуму наехать на тот же регион и включить галку?
GeneZone
07.12.2012, 00:41
включите Границы тайлов :rolleyes:
Нет, это границы тайлов по которым проходит маршрут(пути), они у меня отображаются, а я имел в виду все остальные тайлы, которые в RGE называются "дерево тайлов".
аа, понял.. его еще надо покурить, как оно вычисляется
Добавлено через 42 минуты
1.01 beta
ftp://netanton.no-ip.org/pub/mapper-setup.exe
@ r10
| * сделал рисование выносок км-подписей цветом основных путей
|
o r9
| * сделал рисование выносок км-подписей с противоположной к подписям станций стороны
|
o r8
| ! дописал забытое сохранение значения размера подписи станций
|
o r7
| + добавил настройку коэффициентов на км-подписи
|
o r6
| ! поправил глюк с сортировкой при щелчке по списку светофоров
|
o r5
| + добавил вызов LockPlotting во всех случаях открытия карты
|
вроде как органичнее в целом стали км-знаки смотреться, с противоположной стороны. киеский ход, савелово — особенно, т.к. там маршруты без офигенных разворотов
http://storage4.static.itmages.ru/i/12/1207/s_1354855142_7792039_3b0639c112.png (http://itmages.ru/image/view/792127/3b0639c1)
Классная программа, огромное спасибо. Если можно, то добавьте ещё возможность загружать поверх карты, сценарии, чтобы можно было видеть где стоит состав и каким маршрутом он поедит.
И отдельная просьба, если вам не сложно могли бы вы дать мне исходники вашей wrlenta, я хочу попробовать добавить в него еще несколько полезных идей.
сценарии пока не планируются, это уже из другой оперы задача, и масштабная :)
а wrlenta — это не моего авторства продукт, поищите на форуме :)
ОК, спасибо будем ждать :)
Точка соединения путей не масштабируется и в какой-то момент становится даже больше светофора =)), Антон, может эти точки просто рисовать черточками, толщины пути или чуть тоньше, что-то типа вот этого.
----|---------|---------
GeneZone
07.12.2012, 17:59
Net, а может научить Маппер и рельеф делать "правильный", вместо DEMEXa?
Точка соединения путей не масштабируется и в какой-то момент становится даже больше светофора =)), Антон, может эти точки просто рисовать черточками, толщины пути или чуть тоньше, что-то типа вот этого.
----|---------|---------
точка не масштабируется, да. но я и не предусматривал, т.к. это чисто для отладочных целей разрабу маршрута, и смотреть все равно будут под микроскопом. на мелком зуме вдали, даже если уменьшить эти точки до пикселя, пользы с них не будет :)
Добавлено через 32 секунды
Net, а может научить Маппер и рельеф делать "правильный", вместо DEMEXa?
а что делает DEMEX? :rolleyes: я только раз загуглил, пару скринов увидел, не вникал. и что значит "правильный" рельеф?
Добавлено через 8 минут
точки соединения я таки сделал немного зависимыми от масштаба, как и светофоры, но меньше размером.
светофорам тоже набросил максимальный размер с 16 до 20 пикселей (они варьируются от 4 до 20)
GeneZone
07.12.2012, 18:25
Да нет, это я пошутил насчёт DEMEXa. Извини...
А вообще DEMEX генерирует рельеф месности по специальным файлам высот(например, hdt). Правда у него проекция какая-то дурная, и сгенерированный рельеф в маршруте улезает черте-куда. Отсюда и разговоры о "правильном" рельефе.
а что делает DEMEX?
Берёт базу данных по высотам (http://dds.cr.usgs.gov/srtm/version2_1/SRTM3/) и делает по ней рельеф в маршруте.
P. S. Опередили :)
А эта программа сама маршруты строить не умеет случайно? :)
...я только раз загуглил, пару скринов увидел, не вникал. и что значит "правильный" рельеф?Антон, это полный геморрой, скачают файлы высот с какого ни будь общедоступного сайта NASA, с точностью +/- 16 этажный дом, а шишки на тебя посыплются =)). [ИМХО]
Берёт базу данных по высотам (http://dds.cr.usgs.gov/srtm/version2_1/SRTM3/) и делает по ней рельеф в маршруте.
P. S. Опередили :)
посмотрел я один hgt, регулярная структура, вроде даже простая навскидку.
иил у нее есть штатный редактор высот?
Добавлено через 59 секунд
Антон, это полный геморрой, скачают файлы высот с какого ни будь общедоступного сайта NASA, с точностью +/- 16 этажный дом, а шишки на тебя посыплются =)). [ИМХО]
ну да, по хорошему надо жпс-ные топокарты раскуривать и конвертить...
GeneZone
07.12.2012, 19:03
А эта программа сама маршруты строить не умеет случайно? :)
Ага, а ещё она за поллитрой бегает и стирает...
скачают файлы высот с какого ни будь общедоступного сайта NASA, с точностью +/- 16 этажный дом, а шишки на тебя посыплются =)). [ИМХО]
Ну, конечно есть в мире глупые люди, чего скрывать, но не все же такие :).
Кроме того, ИМХО, существующей точности баз SRTM3, для ЖД маршрута вполне хватает.
и в каких единицах в tdb значения высоты :crazy:
http://storage5.static.itmages.ru/i/12/1207/s_1354899472_4399112_e30bd66b8a.png (http://itmages.ru/image/view/792857/e30bd66b)
набросал по быстрому высоты (темно красным) и типа уклоны, ага фиг :D
Добавлено через 9 минут
агаа.. кажись обычные метры..
http://storage6.static.itmages.ru/i/12/1207/s_1354899994_1769189_d2bf21a5ad.png (http://itmages.ru/image/view/792867/d2bf21a5)
то у меня такие бешенные тысячные из-за того, что секции пути не по порядку рисуются... надо граф делать и обход графа в глубину... эх, не вышло по быстрому.. ну ничего, зато есть абс. значение, хватит шобы набросать профиль для покатушек из TS маппера с числами
Net признайся ты профи программист? Так быстро программу делаешь, я тему читать еле успеваю :)
профи, профи :D :drinks: с многолетними рецидивами :)
да блин пока сам для себя не сделаешь, так нечем вообще пользоваться :rolleyes:
Добавлено через 1 минуту
сбацал не своим маппером профиль, нарезал по заданной ширине (тоже своя утилитка), надо было еще и декорировать километражом (тоже своя утилитка), но лень учить километраж в обратном направлении бежать
http://storage7.static.itmages.ru/i/12/1207/s_1354900537_9932626_8be9ab6577.jpeg (http://itmages.ru/image/view/792877/8be9ab65)
GeneZone
07.12.2012, 21:19
...
это я так понял, про .w файл? там в имени координаты, это я знаю.. и тайловую систему координат успешно перевожу в декартовую для расчетов расстояний и т.д., а потом и в экранную для отрисовки.
а вот про матрицу недопонял. матрица чего и где? :)
Император
07.12.2012, 21:23
По сути ведь можно сделать отображение электрифицированных путей (по наличию столбов) и отобразить их на маршруте
По сути ведь можно сделать отображение электрифицированных путей (по наличию столбов) и отобразить их на маршруте
по идее можно, но потребуется читать Track Items по-моему, и легкий анализ делать..
Добавлено через 45 секунд
я сейчас хочу обход в глубину таки сделать.. ну хотя бы уклоны выводила чтоб.. это первый шаг к профилю
GeneZone
07.12.2012, 21:26
это я так понял, про .w файл? там в имени координаты, это я знаю.. и тайловую систему координат успешно перевожу в декартовую для расчетов расстояний и т.д., а потом и в экранную для отрисовки.
а вот про матрицу недопонял. матрица чего и где? :)
Нет-нет, это я невнимательно прочитал твой пост. Мне показалось, что ты про hgt спрашиваешь.
Модераторы просьба - удалите пост #109, пожалуйста. Да и этот тоже можно, чего зря тему засорять.
Спасибо.
и в каких единицах в tdb значения высотыМетры, метры =)).
Метры, метры =)).
ты знал! :drinks: и я знал, что ты придешь! и мы все знаем, что рано или поздно профиль будет :D
Я тут еле живой =)), сеть до 180 свалилась упсы щелкают и орут, не одно так другое, чтобы этих каБельщиков разорвало!
Add
Антон, файл на 1.01_beta обновлять?
конечно, можешь забирать :)
Обновил до 1.01_b и Route backuper до 2.0.
разобрался с секциями пути.. теперь делаем более системно, заодно ускорим кеширование данных.
а сейчас вот такая картина:
http://storage7.static.itmages.ru/i/12/1208/s_1354970020_4029340_eb49ed00b2.png (http://itmages.ru/image/view/793598/eb49ed00)http://storage2.static.itmages.ru/i/12/1208/s_1354970241_9787808_20fc95705f.png (http://itmages.ru/image/view/793602/20fc9570)
абс. высоты и уклон... там, где уклонов нет, число с уклоном не отрисовывается
еще научу рисовать выноски для текста и вектор расчета уклона (с какой стороны ехать, чтобы знать подьем это или спуск)
проблема описанная мной выше не зависит от приближения, и возникает когда одновременно включены светофоры и точки соединения путей.
с кривыми нужно что-то придумывать, потому что может получаться вот так.
http://s018.radikal.ru/i502/1212/7b/b1468a556a61t.jpg (http://radikal.ru/F/s018.radikal.ru/i502/1212/7b/b1468a556a61.jpg)
про кривые знаю..
ошибки добиться не могу :(
может сбросите маршрут под неразглашение на опыты? :)
Хе-хе, профиль это хорошо - посмотрим потом кто у нас станции на уклонах строит. :D
а что, не бывает станций на уклонах? вообще вообще? :)
Как исключение из правил, в горах где-нибудь.
Riddik007
08.12.2012, 19:28
бывает. на уклонах до 2,5 промилле. в исключительных случаях горловины можно строить до 10 промилле. или когда не производиться отцепка локомотивов
Подправлю сам-на площадках, в обоснованных случаях до 1,5, в трудных и особо трудных до 2,5, когда нету отцепки до 12 ( обычно принимают равным расчетному но не более 12 промилле), остановки пасс составов-до уклона допускающего трогание пасс состава с места, соединительные до 30 промилле, пути для движения локомотивов-до 40, диспетчерские съезды до руководящего
добавил в таблицу платформ абсолютную высоту.
http://storage1.static.itmages.ru/i/12/1209/s_1355003762_2690429_595f4104a5.png (http://itmages.ru/image/view/794528/595f4104)
оптимизировал кеширование, особенно заметно на степанках...
сейчас думаю над красивой отрисовкой уклонов. отбрасываем нулевые, остальные рисуем. рядом с числом думаю рисовать стрелку-указатель, в каком направлении верно данное число
Ого, чего-то высоко они все.
Давай я тебе Александрово БД скину, там я точно знаю высоты, проверим =)).
бросай :) если что, завтра с утра
а эти высоко, потому что высота абсолютная
Отослал, распарсить можно тут, там ничего секретного нет, все схемы выложены в теме, а профиль посмотреть самому интересно =)).
маршрут плоский, аки Земля в представлении древних греков :D
http://storage9.static.itmages.ru/i/12/1209/s_1355033730_9996982_dd3b8e5117.png (http://itmages.ru/image/view/794779/dd3b8e51)
Хе-хе, профиль это хорошо - посмотрим потом кто у нас станции на уклонах строит. :D
http://storage1.static.itmages.ru/i/12/1209/s_1355034122_5108429_72de8c3036.png (http://itmages.ru/image/view/794789/72de8c30)
:D:D
Бундино не в счет - она строилась на уже готовом профиле, мну не спрашивали, пути уже были. :D
Станции там все "приземлены" к нулевой отметке, это нормально, потому и просил проверить.
А вот про соединения не очень понял, похоже ты вычитал куски, из которых состоят секции, а не сами секции, например между стрелками там 3 секции, непосредственно перед стрелкой торчит маневровый, на карте как обычный светофор.
Надо бы как-то это высчитывать - вводит в заблуждение, отображая его как поездной.
http://storage6.static.itmages.ru/i/12/1209/s_1355045931_3656637_7acdbc4beb.jpeg (http://itmages.ru/image/view/795059/7acdbc4b)
так маневровый так же само пишется, как и поездной. tdb вообще их не различает.. что то светофор, что это.. :confused:
а вычитываю я, равно как и хранится оно, в виде узлов, а не секций. секции я уже сам строю из узлов. одна секция состоит из 2 узлов, но один узел может быть в 0, 1, 2 и 3 секциях. 0 - потерянный узел (бывает такое, черта вертикальная в редакторе торчит), 1 - конечный узел TrEndNode, 2 - обычный TrVectorNode, по оба конца по секции, и 3 - стрелка TrJunctionNode
Может базу привернуть, светофоров не так уж много и уже от названия определять тип?
ну так тип же выводится уже строкой возле светофора :)
Добавлено через 1 час 9 минут
уменьшил пороговое расстояние близости платформ для фильтрации с 1 км до 0.7 км. Озерки появились, вроде лишнего ничего больше
Добавлено через 23 минуты
карта Савелово с отметками уклонов, отличными от нуля.
http://storage4.static.itmages.ru/i/12/1209/s_1355054350_5049173_977aebbc4a.png (http://itmages.ru/image/view/795215/977aebbc)
пока еще нет векторов..
и пока еще не работает фильтр по уклонам, чтоб отсеивать мелкие значения (по модулю)
http://storage6.static.itmages.ru/i/12/1209/s_1355054445_7773911_f7bf9f7866.png (http://itmages.ru/image/view/795217/f7bf9f78)
Антон, какой алгоритм по высчитыванию промиле, в смысле какие параметры использует кроме высоты точки линка?
Странно, что минусы чередуются с плюсами, это понятно - смотря с какой стороны смотреть =)), но как-то плохо профиль воспринимается.
ИМХО стоит объединять несколько секций имеющих схожие параметры наклона и выписывать уклон уже для группы, а посекционно (покусочно :)) выводить только высоту от нуля.
тысячные считаются для каждой секции (секция есть отрезок между двумя 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 файлы я вообще не трогаю, там загадок своих полно. пока данных хватает..
Добавлено через 3 минуты
По алгоритму понял, ты берешь следующий трек как конец расчитываемого.
внутри TrVectorSections да, там сколько точек, столько рожается и секций, но на одну меньше (10 точек, 9 секций),
а межузловые отношения описаны в ссылающихся узлах TrPins, по ним находим привязанные секции.
Ничего плохого, я вот и говорю - уровень расположения станций еще ничего не определяет. За точку отсчета можно в принципе принять среднее значение высоты всех секций, но оно опять не даст 100% гарантии определения спуска/подъема.
Riddik007
09.12.2012, 19:31
я думаю что надо брать самое меньшее значение та и все. потом от него профиль строиться и видно сразу подъемы и спуски.
ну если речь про диапазон график профиля, то тут все прозрачно: нижняя планка – наименьшая высота, встречаемая в трекнодах, верхняя – наибольшая
почти научил читать tsection.dat. пока еще не до конца понял, в какую сторону вертеть секции и как их откладывать
tsection.dat уже читается.. я так думаю, что для него повесим отдельный пункт меню, один раз вычитаем и сохраним в свой формат (двоичный сжатый), и будет он лежать под боком у маппера.. мгновенно загружаться секции будут, и не придется его парсить каждый раз. а сам tsection.dat меняется относительно редко. поменялся – перечитал его и все дела..
я, кстати, с картами такой же механизм думал :) сохранить степановку во что-то похожее, и весить будет не 17 метров, а 1 к примеру, грузиться почти в момент, и что главное, не жрать 230 метров на его разбор...
кто за? :)
Добавлено через 1 час 4 минуты
итого:
tsection.dat - 5.05 МБ, загрузка 2-3 с
двоичный несжатый индексный файл - 1.21 мб, загрузка доли секунды
двоичный сжатый индексный файл - 171 кб, загрузка доли секунды
расход памяти на разбор дерева отсутствует
Мну за, особенно БД создать по секциям, включая длину кривых и просто из неё подставлять при отрисовке "технической" карты, тогда куски, из которых состоят многие секции из tdb не надо будет вычитывать и для глаза привычнее, а если еще и подписать секции то вообще отпад =)).
А tsection.dat это же динамическая гадость, как ты там разобрался. :crazy:
Мну за, особенно БД создать по секциям, включая длину кривых и просто из неё подставлять при отрисовке "технической" карты, тогда куски, из которых состоят многие секции из tdb не надо будет вычитывать и для глаза привычнее, а если еще и подписать секции то вообще отпад =)).
:crazy:
это все в идеале :) конечно же, ломать существующее я не буду, т.к. tdb надо чем то же открывать, пускай чтобы потом и в своем сохранять.. но я думаю не хранить секции, т.к. код кеширования уже есть и работает универсально.
а вот сохранять/читать слепки структур, в которых у меня хранится вся эта куча – это несложно..
А tsection.dat это же динамическая гадость, как ты там разобрался.
раскурил..
а вообще разве не в нем хранится инфа по форме обьектов?
в TrVectorSection, который в tdb, первый параметр каждой записи как раз указывает на TrackSectionID... а в tsection.dat по этому ИД находим запись и смотрим ее форму - длину, радиус кривой, угол поворота.. в общем, все что надо для красивой отрисовки ломаных дугой...
Добавлено через 9 минут
1.1 beta.
ftp://netanton.no-ip.org/pub/mapper-setup.exe
здесь уже индексатор tsection (кому не лень, выложите свой idx где-то),
а также добавлена отрисовка уклонов, высот...
в общем внимательно смотрим что нового на левой панели :)
в TrVectorSection, который в tdb, первый параметр каждой записи как раз указывает на TrackSectionID... а в tsection.dat по этому ИД находим запись и смотрим ее форму - длину, радиус кривой, угол поворота..Угу, только эта связь частенько разрывается, случается данные в tsection.dat кривые, есть несколько типичных ситуаций, когда этот механизм дает сбои в 100% случаев, не удивлюсь, если ты в tsection.dat раскопаешь горы мусора.
:D дык я пока этот маппер, да и менеджер сценариев до кучи писал, уже стал почетным археологом в этих дебрях, не удивлюсь.
мало того, видел своими глазами, как в TrackItems одна нода платформы вторым концом привязана к светофору :D
а миллиард потерянных светофоров без линков (или то просто нерабочие по ИСИ?), это давно не новость..
мы что в tsection найдем, то и будем с его помощью дугами рисовать, а остальное как сейчас
Вот, косяк вылез. Не везде отображаются уклоны. Там уклон порядка 16 тыщ.
http://s52.radikal.ru/i137/1212/ec/94c5cc66e1bbt.jpg (http://s52.radikal.ru/i137/1212/ec/94c5cc66e1bb.jpg)
Tarik, можно tdb посмотреть?
Riddik007
11.12.2012, 01:17
У меня кстати тоже не все уклоны.
"А он там есть" (с) ДМБ
Ах вот почему Александрово вдруг стал "плоским" :D.
реализовал собственный формат хранения БД пути.
итого:
степановка обычный tdb msts — 17 МБ файл, загрузка 13 с, отрисовка 1 с
степановка tdbx несжатый — 3,5 МБ файл, загрузка почти мгновенно, отрисовка 1 с
степановка tdbx сжатый — 1,2 МБ файл, загрузка почти мгновенно, отрисовка 1 с
Только построил кривую, 2000r20, угол 0.24 это примерно 4%о - Mapper говорит, что там нет подъема :crazy:.
И закидал окошками в неимоверном количестве:
http://storage4.static.itmages.ru/i/12/1211/h_1355217822_9277685_4912b9892f.jpeg
База не пересобиралась, смысла пока нет, черновик строительный, может там чего и криво, но надо бы это предусмотреть, пришлось Mapper снять диспетчером.
бросай в меня базой.. либо на ноль делим где-то, либо одно из двух.
а про подьем интересно.
Кинул, она разок падала, после чего была пересобрана, после пересборки 22 изменения, в общем практически чистая, в мстс естественно никаких ошибок нет.
Подъем см. от 83 км в поле, там ровная 100 м секция, где километровый и задвинутый светофор, а потом все секции в гору пошли до конца пути в поле.
ИМХО влияет направление строительства пути, старый участок от 83 км в сторону Александрово, который наверняка собирался к Александрово он показывает, больше ничего не успеваю посмотреть ошибка эта зациклено начинает генерироваться.
Net у меня тоже это ошибка сыпется. При больших увеличениях. Может это из-за Windows 7 x64
у меня тоже Win7 64, можете конкретнее сказать, на какой карте в каком месте? я у себя не могу добиться :(
по поводу проглоченных уклонов – исправлено! это я проффффесор, сам сказал сравнивать с пороговым фильтром по модулю, а модуль написать и забыл. потому глотались только отрицательные числа..
1.2 beta
ftp://netanton.no-ip.org/pub/mapper-setup.exe
также в этой версии добавлен механизм сохранения карт в свой формат tdbx и его открытие. попробуйте, реально быстр и меньше весит :)
Добавлено через 4 минуты
кто скачал буквально минуту назад, в 15:29 по мск? перекачайте! :)
Добавлено через 47 минут
сконвертировал некоторые карты здесь:
ftp://netanton.no-ip.org/pub/mapper_tdbx_maps/
Какие планы на будущее для этой программы? Что нового ожидать в новых версиях?
· отрисовку кривых дугами
· карта профиля гламурная
· таблица профиля того же участка (какой уклон какой длины и т.д.)
· таблица расстояний между станциями
· сохранение фрагмента карты
· сохранение карты с нарезкой на фрагменты заданной ширины и высоты
это из серьезного. и это планы.
наполеоновские.
но у меня сейчас валом другой работы, поэтому пока нового я ничего не делаю масштабно.
понятно, удачи в реализации. надеюсь, что можно будет предложение вносить.
завсегда можно :) к хорошим идеям будем прислушиваться
Если можно, то такое предложение. Добавить на карту обозначение стрелок(ручная/автомат). Насколько я знаю, то это обозначается в файле *.tdbтак -
автомат = TrJunctionNode (0 71 0)
ручная = TrJunctionNode (0 71 1)
вполне можно.
галочка "Стрелочные переводы".
а как видите отображение типа на самом переводе?
спасибо. да так будет вполне приемлемо.
Добавлено через 1 час 10 минут
Добавочка.
В реадми добавить:
С зажатым <ctrl> прокрутка колесика зуммирует карту на 10 пунктов.
Добавить бы горячих клавиш: для центрирования "С", макс/мин зумм "Б"/"Ю" и т.д.
Добавлено через 31 минуту
Вот файл с одного маршрута, потесть свою программу.
http://files.mail.ru/O0Y819
у меня тоже Win7 64, можете конкретнее сказать, на какой карте в каком месте? я у себя не могу добиться :(
О только навелся, стал увеличивать, шлеп и эти окошки с ошибкой пачками, пачками.
http://storage2.static.itmages.ru/i/12/1212/s_1355257026_1895153_6d1bf0d327.jpeg (http://itmages.ru/image/view/798482/6d1bf0d3)
Добавлено через 4 минуты
Приближал пошагово, ошибка возникает на зум 8 тоно 245, после чего управление теряется и перехватывается плодящимися окнами ошибки.
:crazy: как я его только не вертел, и параметры как у тебя поставил..
давай я на почту тебе отладочную сброшу..
как только вылетит эта фигня, посмотри, создался ли файл Mapper.elf под боком с екзешником. если есть, бросай на почту
Отослал обратно, блин он теперь окна рапорта об ошибке плодит как из пулемета. :D
Добавлено через 4 минуты
Посмотрел файл - все кишки моего компа в рапорт вывернул =)), причем столько раз, сколько окошко успело вылезти, пока диспетчером не прибил. :rofl:
О только навелся, стал увеличивать, шлеп и эти окошки с ошибкой пачками, пачками.
http://storage2.static.itmages.ru/i/12/1212/s_1355257026_1895153_6d1bf0d327.jpeg (http://itmages.ru/image/view/798482/6d1bf0d3)
Добавлено через 4 минуты
Приближал пошагово, ошибка возникает на зум 8 тоно 245, после чего управление теряется и перехватывается плодящимися окнами ошибки.
Эта ошибка появляется, если:
1) Стоит галка "Пути", "Светофоры", "Типы светофоров".
2) Зум грубо 9 и больше.
Если галку любую(из1пункта) снять то все норм. Копай в районе (тип голов и (id:))
Уф... снял галку полегчало =)).
Антон, а почему кривая заминусована? Она вообще-то вверх идет.
http://storage2.static.itmages.ru/i/12/1212/s_1355266871_5605066_64a62b968b.jpeg (http://itmages.ru/image/view/798572/64a62b96)
А, да вот еще, добавить бы опцию "Обменять кнопки мыши", всё же таскать карту более частое действие, чем мерить линейкой и таскать инстинктивно хочется ЛКМ.
проблема была в процедуре отрисовки светофоров, в том месте, где вычисляются координаты тексту для типов светофоров, для первой записи.. вроде как неинициализированная переменная, поправил, но у себя по прежнему не могу воспроизвести. поэтому сбросил отладочную еще раз.
сделал таскание ЛКМ. пускай так и будет :) у меня были подозрения, что так лучше
Добавлено через 32 секунды
на галочку "Ручные стрелочные переводы" пока не обращай внимания!
Оно! Спасибо!
Хм... и весь заход в подъем заминусован.
http://storage8.static.itmages.ru/i/12/1212/s_1355297233_5353877_45a2879b8d.jpeg (http://itmages.ru/image/view/798740/45a2879b)
Антон, а можно через дробь уклон в мстс значении выводить, к примеру в этом подъеме 0,015 0,045 0,075 0,105 и т.д. тогда можно сразу проверять, что выложил и не дал ли где косяка пропустив секцию.
Добавлено через 2 минуты
И циферки бы масштабировать. :o
Добавлено через 6 минут
Еще вот ограничения кучкуются до нечитабельности.
http://storage3.static.itmages.ru/i/12/1212/s_1355297945_8156218_cbbe799ec1.jpeg (http://itmages.ru/image/view/798753/cbbe799e)
заминусован, потому что видимо алгоритм с другой стороны зашел. это и подьем и спуск одновременно, как у шредингера :)
цЫферки уже умеют масштабироваться :) фокусируемся на левой панели 3-й пункт с самого низу.
а в каких единицах в редакторе уклоны? я так и недопонял. тангенс угла? в общем, кто достоверно знает безо всяких таблиц формулу, поделитесь :)
Добавлено через 34 секунды
на ограничения я забил, там сложный случай, надо под микроскопом разглядывать, чтоб не кучковалось
Угу, коэффициентом можно разрулить =)), Ок.
По углу в мстс доподлинно мало что известно, кроме легендарной таблицы, потому в Выборге мы перешли на перевод промиле в метры, это на раз проверяется и 100% соответствует реальности, ну в самом деле, если на 1 км поднялись на 10 метров то это по любому 10%о, как бы секции не укладывал - хоть одну "вертикально", а остальные ровно.
А вывод угла будет востребован строителями для самоконтроля, не более того.
подсветка стрелок готова
http://storage2.static.itmages.ru/i/12/1212/s_1355303614_9089099_478add674c.png (http://itmages.ru/image/view/798824/478add67)
только чето у меня когнитивный диссонанс.. на половине карт как-то вообще левое все.. там где автострелки как-будто - показывает ручные. ну рисую я то, что на самом деле, кто что скажет?
Добавлено через 23 минуты
забыл сказать, можно качать :) 1.3 beta
ftp://netanton.no-ip.org/pub/mapper-setup.exe
не скачивается..ссылка нерабочая.
-----------------------------------
Сорри, кэш очистил..скачивается.
кэш не виноват :) это я комп перезагружал, не успело все догрузиться, смотрю в трее, кто-то уже шарится :)
кэш не виноват :) это я комп перезагружал, не успело все догрузиться, смотрю в трее, кто-то уже шарится :)
да я, я пошарился ;).
Антон, меня это пугает - светофоры в стороне от путей, это косяк Мапера или маршрута?
http://storage6.static.itmages.ru/i/12/1213/h_1355352705_3760064_07bdfed084.jpeg
это косяк отрисовки. т.к. рисуем кривые мы не дугами, а отрезками, на крутых и длинных кривых вот такое происходит. это в планах
Net в версии 1.3 beta пропала ошибка "invalid floating ..." Я твой маппер крутил на "Рабочий посёлок". Сейчас, с новой версией, весь "Рабочий посёлок" облазил и ни одной ошибки. И с отображением светофоров, и со стрелками, и на максимальном увеличении.
Большое тебе спасибо ! Нужное дело делаешь
пускай будет в beta состоянии пока что. до следующей версии хорошо оттестируется пользователями..
Добавлено через 1 минуту
кстати, сразу замечание сделаю: если обновилась версия и перестали читаться tdbx, значит изменился формат или добавилось что-либо новое. с обратной совместимостью я не заморачиваюсь, поэтому надо пересохранить все свои карты заново
Сергей1969
14.12.2012, 18:33
Антон, спасибо за программу - очень интересная:drinks::drinks::drinks:
Есть 1 вопрос - можно ли сделать такую вещь - нажимаешь на путь (я про боковые пути говорю) мышкой и выходит информация о его длине от светофора чётной горловины до светофора нечётной. или как у тебя таблица "станции" с информацией о их длине, такую бы таблицу, как на пример...http://storage6.static.itmages.ru/i/12/1214/s_1355495540_7319625_3624d7440c.jpeg (http://itmages.ru/image/view/802383/3624d744) (взято с сайта http://v-rzd.ru).:o Нам, сценаристам, было бы виднее на какой станции (разъезде) можно встать под обгон, на каком разъезде встречный на боковой зайдёт, а где его только по главному и.т.д. То есть для такого не надо будет лишний раз прогонять сценарий.
сценаристам, безусловно, такая инфа будет полезной.
но без особых пометок на светофорах, что мол этот является выходным такой то станции по такому то направлению, а этот в таком-то, будет тяжко..
либо аналитику писать, либо метки как то проставлять (опять же, все станции замахаешься), либо вручную мерной линейкой промерять :crazy:
Да ладно вам, все просто!
Берем название станционных путей и считаем расстояние от центра до стрелок, минус 15 метров. Вот и все.
ну это и называется угадайка. причем еще сферически-идеальная в вакууме.
не буду напоминать, что станции не одинаковые, с разным числом платформ и прочими конфигурационными отличиями.
кстати, что такое 15 метров? среднепотолочная, умноженная на пи? :)
алгоритмически это выглядит не очень серьезно :)
Сергей1969
15.12.2012, 13:07
Да ладно вам, все просто!
Берем название станционных путей и считаем расстояние от центра до стрелок, минус 15 метров. Вот и все.
Прошу прощения...не понял 1) чем считаем расстояние; 2) Как определяем центр. И про 15 метров тоже не понял.:confused:
decone, Вы сценарии пишите? Если да, то Вы должны знать, что имея данные о длине состава (поезд игрока), опять же при помощи программы Менеджер сценариев, Уважаемого Антона - не всегда "кидая нитку" можно определить поместится ли состав на тот или иной путь, пока не прогонишь сцену в реале. А такие таблицы о длине боковых путей были бы очень нужны сценаристам. Это значительно бы сократило время создания сценариев. Таблицы, что на http://v-rzd.ru очень полезны и ими пользуюсь с удовольствием. К сожалению не на все пока маршруты такие ведомости там есть. Но я спросил можно ли в этой программе сделать такую вещь, потому, что в одной программе удобнее, чем в разных. Но раз нельзя, так нельзя.
сценаристам, безусловно, такая инфа будет полезной.
но без особых пометок на светофорах, что мол этот является выходным такой то станции по такому то направлению, а этот в таком-то, будет тяжко... Антон, а зачем такие пометки - выходной / входной / направления...? Они как раз не нужны (ИМХО конечно). Или я не совсем понял мысль.
кстати, стрелки тоже ж надо идентифицировать.
Насколько я знаю у каждого станционного пути есть Маркер, который можно увидеть в игре по Ф6 или Ф7 не помню. Так вот он привязан к пути, от него и следует считать длину пути, до ближайших стрелок по оба конца этого маркера.
стрелка ------- маркер --- стрелка
Так об этом и речь, все просто :)
Сергей1969
15.12.2012, 13:38
Насколько я знаю у каждого станционного пути есть Маркер, который можно увидеть в игре по Ф6 или Ф7 не помню. Так вот он привязан к пути, от него и следует считать длину пути, до ближайших стрелок по оба конца этого маркера.
стрелка ------- маркер --- стрелка
Где на скринах у меня маркеры? Покажите, пожалуйста. http://storage6.static.itmages.ru/i/12/1215/s_1355564225_2990490_07b534b803.jpeg (http://itmages.ru/image/view/803276/07b534b8) http://storage5.static.itmages.ru/i/12/1215/s_1355564224_9800135_084dca18bc.jpeg (http://itmages.ru/image/view/803275/084dca18) и как от них считать?:confused: Имею ввиду как я смогу в игре узнать длину путей. Потом всё таки в игре, то есть путём прогонки сценария. О чём и речь. Всё...оффтоп заканчиваю.
...от него и следует считать длину пути, до ближайших стрелок по оба конца этого маркера.
стрелка ------- маркер --- стрелка А вот как раз длина нужна не от стрелки до стрелки, а от светофора до светофора, что бы состав встал в габарите пути и имелись проходы.
Название путей (Петрова Депо, Петровка трек) это и есть маркер он связан с конкретной точкой на пути. Вертикальная линия и есть точка маркера. Считать метрами.
Сергей1969
15.12.2012, 14:04
Блин...да что же я тупой такой:mad:. Вижу я эту полоску. Как метрами считать от неё не пойму. Извиняюсь, конечно, но речь то была совсем о другом. Я говорил о том, что бы не переделывая сцену - не меняя пути или укорачивая состав, посмотрев в программе MSTS Mapper можно было бы знать куда кидать нитку, где гарантированно состав встанет на боковой. Во многих своих сценах я отклоняю маршрут на боковой, но при пройгрыше вижу, что не помещается там состав и приходится менять пути приёма поездов или укорачивать составы, тем самым разбиваю идею сцены.
Ладно всё. Нельзя такое сделать - значит нельзя. На этом закрываем по этому моменту дискуссию.
мы знаем, к какому трекноду привязана какая то платформа. это прописано в TrItemRefs. зная ее, мы уже знаем список всех трек итемсов, которые висят на этом узле пути. можно по всем ним пробежаться, обращая внимание только на SignalItem, и вычислить для каждого этого светофора расстояние от центра платформы до него (надо проверить еще, чтобы были координаты маркера, т.к. у меня сейчас есть координаты светофора, он осторонь пути стоит)..
допустим вычислили, теперь надо взять ближайшие два светофора, причем чтобы они были в разных направлениях. тут надо подумать..
ну дальше дело техники, расстояние между светофорами..
Добавлено через 1 минуту
а вот по какому принципу в одно трекноде обьединяются TrVectorSections, я пока не понял. может, это все узлы от стрелки до стрелки..
а вот по какому принципу в одно трекноде обьединяются TrVectorSectionsАналогично, но я на это забил болт на 22, после того как мы с тобой приручили tdb =)).
Маркеры есть не всегда, особенно на станционных путях без платформ, схема получается проще.
маркер 1 _________________ маркер 2 маркеры платформы или пути не важно.
Хотя стоп. Мыслю индивидуально, применительно к Александрово, там маркеры в полную длину путей, с расстоянием до светофоров, но есть и исключения, например р-д Пахомово, где на одном пути и платформа и путь.
Светофоры тоже не выход, они могут сократить длину пути, но не определить её, если по стрелкам то ИМХО отступать метров 20, чтобы точно за пределом оказаться, но это для случая когда нет светофора.
Хм... а как быть когда путь разделен маршрутным светофором?
если будет маршрутный иил маневровый, мой алгоритм на нем споткнется. ну чем они не полноценные светофоры?
Выдаваемыми аспектами :D, разве что кроме маневрового К-Б.
аспекты это уже абстракция на уровень выше, в симуляторе. там движок уже знает относительно какой то точки на пути, какой светофор дальше и как работает сигнализация (с помощью скриптологов же) :)
Riddik007
15.12.2012, 15:27
Название путей (Петрова Депо, Петровка трек) это и есть маркер он связан с конкретной точкой на пути. Вертикальная линия и есть точка маркера. Считать метрами.
Во-первых маркеры есть не на всех путях, особенно старых маршрутов. И учитывать что их ставят люди, не всегда в пределах полезной длины.
Тем более надо учитывать что полезная длина в четном и нечетном направлении не всегда одинакова и не всегда между выходными светофорами, а часто это выходной и с противоположной стороны-граничный столбик. Думаю для вычисления длин впору делать отдельную прогу или модуль, где можно выбрать станцию, выбрать путь и выбрать ограничивающие точки, и потом возможность корректирование таблицы с результатами.
Да маршрутные точно запутают программу, ведь они часто делят путь на 1 и 1а, к тому же путь может поделен не напополам, а участок после маршрутного может быть со стрелками которые не попадут в полезную длину.
Как я уже писал, есть три правила расстановки светофоров и правила определения полезной длины.
Расстановка входных-за 50м от центра входных стрелочных переводов при тепловозной тяге и за 300 при электровозной.
На приемо-отправочных путях:
http://i.piccy.info/i7/438985f0dfa5b570cb164ab6564d8df1/4-50-198/57603178/ch_240.jpg (http://piccy.info/view3/3828901/bb0977267192570d382c787c7d2e0a28/)http://i.piccy.info/a3/2012-12-09-20-43/i7-3828901/240x69-r/i.gif (http://i.piccy.info/a3c/2012-12-09-20-43/i7-3828901/240x69-r)
1-в одном междупутии с граничным столбиком-на расстоянии Lсветофора (береться из справочника Козлова)
2-в разных междупутиях-на расстоянии 3,5м от граничного столбика при пошерстном расположении следующего стрелочного перевода за светофором
3-в разных междупутиях-на расстоянии А стрелочного перевода от центра перевода при противошерстном расположении следующего стрелочного перевода за светофором.
Измерение полезной длины:
http://i.piccy.info/i7/a08ec8ed529d04146f8c3dac2f45070b/4-51-43/394887/Pol1_800.jpg (http://piccy.info/view3/3853805/180226b87992f1ec1558b2ee752b3361/1200/)http://i.piccy.info/a3/2012-12-15-11-57/i7-3853805/487x800-r/i.gif (http://i.piccy.info/a3c/2012-12-15-11-57/i7-3853805/487x800-r)
http://i.piccy.info/i7/397c0fd64fc1cd5dafdf6ecb24aff67c/4-51-43/2120097/Pol2_800.jpg (http://piccy.info/view3/3853808/54b53551feffd824b3dbb92d13e3e20b/1200/)http://i.piccy.info/a3/2012-12-15-11-58/i7-3853808/502x800-r/i.gif (http://i.piccy.info/a3c/2012-12-15-11-58/i7-3853808/502x800-r)
вот насколько все серьезно.
Riddik007, спасибо, но нижние картинки — битые ссылки.
Сергей1969, я тебя давно понял. И поддерживаю твою идею. Относительно того, как сделать - разберемся и сделаем. Сейчас под рукой нет сима, сяду гляну и точно тогда скажу, как можно сделать.
Для начала, можно сделать самое простое. Показывать длину участка между двумя стрелками, также как меряет линейка. Навел на путь, вплыла подсказка с длинной, подсветились граничные стрелки.
Riddik007
15.12.2012, 15:58
Исправил
Добавлю полезную статью, было бы хорошо если бы роутостроители все хотя бы читали ее и брали во внимание.
Расстановка изостыков
Разбивку станции на изолированные участки целесообразно выполнять в следующей последовательности:
• изолирующими стыками станция отделяется от перегона;
• выделяются рельсовые цепи главных и приемо-отправочных путей станции;
• устанавливаются изолирующие стыки, выделяющие бесстрелочные участки пути за входными светофорами, а также участки пути, удобные для производства маневровой работы;
• отделяется изолирующими стыками нецентрализованная зона (грузовые дворы, депо, тупиковые и подъездные пути); при этом следует отметить, что путевое развитие тяговых подстанций, путей отстоя пожарных и восстановительных поездов, а также классных вагонов являются объектами централизации;
• на входе в зону централизации с подъездных путей выделяется короткая рельсовая цепь (не менее 25 м) для контроля подхода составов с подъездных путей;
• стрелки, примыкающие к приемо-отправочным путям, выделяются в отдельную рельсовую цепь;
• в отдельные рельсовые цепи выделяются каждая из стрелок стрелочной улицы;
• устанавливаются изолирующие стыки, обеспечивающие одновременные параллельные передвижения (стыки между стрелками съездов, параллельно расположенными съездами и т.п.);
• далее должен быть выполнен анализ полученных разветвленных рельсовых цепей: во-первых, все ли рельсовые цепи имеют центр секции и, во-вторых, не входит ли в одну рельсовую цепь более трех одиночных или двух перекрестных стрелок; при необходимости устанавливаются дополнительные изолирующие стыки, причем желательно, чтобы число изолирующих стыков по главным путям было минимальным.
Расстановка светофоров
Станционные светофоры по назначению подразделяются на входные, выходные, маршрутные, маневровые, заградительные и повторительные.
Входные светофоры при автономной тяге устанавливаются для каждого из примыкающих к станции направлений на расстоянии не менее 50 м от первого входного стрелочного перевода, считая от остряков противошерсгной стрелки (движение навстречу острякам) или предельного столбика пошерстной стрелки. На электрифицированных участках входные светофоры устанавливаются на расстоянии 300 м от входной стрелки перед воздушным промежутком, отделяющим контактные сети перегона и станции. При необходимости производства маневров с вытягиванием состава на главный путь (при отсутствии вытяжного тупика) входной светофор относится на расстояние до 400 м от входной стрелки. На место установки входного светофора также влияет его видимость со стороны перегона, а также условия трогания тяжеловесного поезда с места.
Входные светофоры обозначаются литерами Н или Ч соответственно для приема на станцию нечетных и четных поездов. При наличии нескольких подходов на станции к литеру светофора добавляется первая буква названия ближайшей участковой станции. На двухпутных линиях для приема поездов, движущихся по неправильному пути, в створе с основными устанавливаются дополнительные входные сигналы. При невозможности обеспечения габарита они размещаются с левой стороны. При новом строительстве по конструкции такие сигналы должны быть мачтовыми (ранее применялись карликовые).
Выходные светофоры устанавливаются с каждого пути с учетом специализации по направлениям движения. Допускается установка группового выходного светофора для нескольких путей, кроме главных. При числе отправляющихся поездов по групповому выходному сигналу более 10 поездов в сутки, светофор дополняется маршрутным указателем номера пути, с которого разрешается отправление.
На станциях полупродольного и продольного типа перед стрелочной зоной, разделяющей последовательно располагающиеся парки или пути, устанавливаются маршрутные светофоры.
Поездные светофоры (входные, маршрутные и выходные) могут применяться с маршрутными указателями, дополняющими разрешающее показание основного сигнала:
• при наличии группового выходного или маршрутного светофора; маршрутный указатель в этом случае имеет зеленые лампы и служит для индикации машинисту номера пути, с которого разрешается отправление;
• при наличии двух и более направлений, примыкающих к станции и на которые возможно отправление поездов с одних и тех же путей, а также при двусторонней АБ на двухпутных линиях; применяется индикация белым цветом номера главного пути, условной буквы направления следования поезда или указателя положения;
• для указания машинисту прибывающего поезда номера пути или парка приема поезда; в этом случае маршрутный указатель устанавливается на входном светофоре, а используемая индикация имеет белый цвет.
Нумерация выходных светофоров выполняется добавлением номера приемо-отправочного пути к литеру соответствующего направления, например, Н2,43. При нумерации маршрутных светофоров, кроме того, добавляется литер М: НМ2, ЧМ5.
Маневровые светофоры устанавливаются в соответствии с маршрутизацией маневровых передвижений станции. Обычно применяются карликовые светофоры. Мачтовые сигналы устанавливаются на выходе из нецентрализованной зоны.
В соответствии с заданным направлением движения четных и нечетных поездов входным светофорам присваиваются литеры Ч и Н, а горловины станции называют четной или нечетной.
Маневровые светофоры нумеруются четными или нечетными арабскими цифрами для соответствующих горловин с увеличением номера по мере приближения к оси станции (М4, М7).
Рекомендуется расстановку светофоров вести в следующей последовательности:
• на границе станции в створе с изолирующими стыками устанавливаются входные светофоры Ч и Н; при наличии нескольких подходов к станции к литеру входного светофора добавляется первая буква ближайшей участковой станции;
• на двухпутных линиях для приема поездов с неправильного пути устанавливаются дополнительные входные светофоры ЧД и НД; по условиям габарита они могут быть установлены с левой стороны;
• с приемо-отправочных путей с учетом их специализации устанавливаются выходные светофоры;
• при наличии на станции нескольких парков с приемо-отправочных путей устанавливаются маршрутные светофоры;
• при нарушении условий видимости выходных и маршрутных светофоров устанавливаются повторительные светофоры;
• со специализированных приемо-отправочных путей устанавливаются маневровые светофоры;
• для въезда на станцию из нецентрализованных зон устанавливаются маневровые светофоры;
• стрелки, примыкающие к приемо-отправочным путям, ограждаются маневровыми светофорами;
• для производства маневровой работы со всех бесстрелочных участков пути в горловинах станции устанавливаются маневровые светофоры;
• в горловине станции устанавливаются маневровые светофоры, исключающие перепробег при маневровой работе.
Сигнальные показания всех светофоров должны строго соответствовать действующей Инструкции по сигнализации на железных дорогах России.
_________
Сергей1969
15.12.2012, 19:38
Исправил
Добавлю полезную статью, было бы хорошо если бы роутостроители все хотя бы читали ее и брали во внимание.
И, одно из главных, добавлю - обязательно оставлять расстояние от светофоров до стрелки как можно больше для невидимого локомотива. Иногда так изощряешься, что по 2-3 точки разворота ставишь, что бы лок попал на точку ожидания.
Как оказалось, табличка уклонов, которая в теме ФАКа по маршрутах, не совсем точная. Поразмыслив ночью решил сделать свою. Вот что получилось. Кажись правильно посчитано. Уклоны_МСТС.pdf (https://docs.google.com/open?id=0B6JzQUGhwa7helRpdHI5cGF0Y0k) Думаю, многим пригодится. Также пришла некоторая мысля по профилю. Точнее, по его отображению. Может быть я многого хочу, но если такое получиться сделать, то это будет мега!
http://s018.radikal.ru/i518/1212/74/5eb968150319t.jpg (http://radikal.ru/F/s018.radikal.ru/i518/1212/74/5eb968150319.jpg)
Только вот как быть с мелкими переходными кривыми и переходами от одного уклона до другого?
Что не понравилось
Когда выставлена галочка "Типы светофоров", то очень много текста, который сливается с текстом соседних светофоров и таким образом становиться не читабельным. Возможно, для одиноко посаженых светофоров подходит этот метод, но на том же Зилупе, это выглядит отвратительно. Надо думать, как исправить это неудобство.
Что понравилось
Очень полезная программа, к сожалению опоздавшая лет на 5 - 10 :)
типы светофоров для отладки предназначается, в обиходные карты их включать не планировалось :) мало того, там большинство обьектов рисуется без какого-либо анализа "налазит/не налазит на соседнюю"
к сожалению опоздавшая лет на 5 - 10
это можно сказать про любую разработку под MSTS :)
Что не понравилось
Когда выставлена галочка "Типы светофоров", то очень много текста, который сливается с текстом соседних светофоров и таким образом становиться не читабельным.
если бы уважаемый decone смог бы осилить прочитать readme, а именно пункты · отображение светофоров, находящихся только в поле зрения
· обведение выбранного светофора синим кружком (для быстрого нахождения его на карте)то, возможно, не писал бы такие претензии, потому что использование этих фич как раз устраняет эту проблему и они были специально добавлены для решения этой проблемы.
Скриншот с примером для наглядности:
http://storage9.static.itmages.ru/i/12/1219/s_1355938056_6868982_9e26dea6ed.png (http://itmages.ru/image/view/810188/9e26dea6)
Каша из текста, информация не читабельна. Про остальное я знаю. Антон разъяснил, так что все нормально.
http://storage8.static.itmages.ru/i/12/1219/s_1355941342_2423774_8144ef74a8.png (http://itmages.ru/image/view/810267/8144ef74)
Хмм.. я не пойму - так ты понял для чего окошко "Светофоры" и синий кружок или нет?
Если все таки не понял - объясняю. Читай внимательно.
В окне "Светофоры" выделяешь светофор и смотришь на карте, какой светофор выделился кружком. Если тот, что тебе надо - смотришь тип светофора В ОКОШКЕ "Светофоры". Если не попал сразу на нужный светофор или голову - выделяешь следующий в списке, пока не найдешь нужный. Надеюсь теперь дошло? Более подробно уже некуда. Если тебя настолько раздражают подписи светофоров - их можно убрать, выключив галочку "Типы светофоров" в главном окне на панели слева.
P.S. Что-то у меня начинается подозрение на троллинг. Зачем писать бессмысленные и противоречивые сообщения? Типа "Все нормально, но все плохо." и "к сожалению опоздавшая лет на 5 - 10". К чему все эти претензии? Автор старался, тратил свое время и силы, разрабатывал все эти фичи, чтобы потом выслушивать претензии по каким то мелочам, даже не смотря на то, что они не критичны и есть другой способ чтения надписей.
И вообще - если ты такой умный, напиши свою программу, которая будет делать тоже самое, но лучше. Тебе только спасибо скажут ;).
http://storage8.static.itmages.ru/i/12/1219/s_1355941342_2423774_8144ef74a8.png (http://itmages.ru/image/view/810267/8144ef74)
а что это у вас с заголовком окна Светофоры? :)
[#] ... [#], ресурсы почикали? :rolleyes:
MJack, не наезжай :)
MJack спасибо, теперь дошло.
а что это у вас с заголовком окна Светофоры? :)
Сейчас переустановил программу всё нормально стало. Спасибо за подсказку.
GeneZone
20.12.2012, 17:00
Может быть я многого хочу, но если такое получиться сделать, то это будет мега!
http://s018.radikal.ru/i518/1212/74/5eb968150319t.jpg (http://radikal.ru/F/s018.radikal.ru/i518/1212/74/5eb968150319.jpg)
Я бы тоже хотел такой профиль..., но, наверное, мы и в самом деле многого хотим.
MJack, не наезжай :)
ИМХО, правильно он наехал.
Антон, подними FTP сервер (лежит :confused:), или кинь мне на почту публичный Мапер 1.3 beta - на сайте обновлю, у меня есть только отладочная версия.
конечно лежит, я же уезжал на 3 дня, а комп выключить решил :)
уже поднят.
всех с новым годом!
Спасибо, обновил до 1.3b =)).
всем три раза ку :)
математики есть? :)
обьясните, пожалуйста, что к чему приравнять, чтобы узнать, какой из двух кругов пригоден для сопряжения и как отсеять другой?
уравнения кругов, прямых, все можно узнать.. углы наклона прямых есть, думал уже их вычитать, сравнивать на вхождение [0..180], а потом знак сравниваь.. :crazy: должен же быть параметрический способ.
http://storage3.static.itmages.ru/i/13/0304/s_1362402095_2365687_3ef8f2a593.png (http://itmages.ru/image/view/924243/3ef8f2a5)
(на скрине слева внизу три точки слились: C – центр круга, U – конец параллели к AO, V – конец параллели к BZ, когда все три точки совмещаются, тогда выходит существующее сопряжение)
зы. угу, это для маппера заготовка под отрисовку дуг-сопряжений гнутых секций пути :)
отставить! :D помогли :)
http://storage9.static.itmages.ru/i/13/0305/s_1362435344_9405405_2d67bada98.png (http://itmages.ru/image/view/925130/2d67bada)http://storage1.static.itmages.ru/i/13/0305/s_1362435356_8188098_6f3d813a31.png (http://itmages.ru/image/view/925131/6f3d813a)http://storage2.static.itmages.ru/i/13/0305/s_1362435366_7859366_99e22d749f.png (http://itmages.ru/image/view/925132/99e22d74)http://storage3.static.itmages.ru/i/13/0305/s_1362435374_5215051_50dab0d62d.png (http://itmages.ru/image/view/925133/50dab0d6)
на 4-м скрине немного палева, но ничего страшного, конструктивный недостаток :) квадратура круга тсказать :)
Свят, свят, как-бы Windows учитывая количество кривых в маршрутах не повесился обсчитывая всё это. :D
По-моему Zabor прав. Рисование получается немасштабируемым. Какое бы ни было разрешение/приближение, детализация каждой кривой при рисовании будет одна и та же. Вернее то, как она будет меняться, решает алгоритм рисования секторов, что может быть не очень хорошо.
Тут надо в зависимости от масштаба пиксела, т.е. сколько в 1 пикселе метров, рисовать по-разному. По сути надо обойти точки кривой с шагом, равным разрешению. Если масштаб большой - от кривой нарисуется только одна точка. С уменьшением детализация растет. У меня так сделано в пульте.
ну я так и планирую.. при большом увеличении бОльшая часть карты вне зоны видимости, поэтому не будет рисоваться. а когда увеличение маленькое и видно все, тогда маленькие размеры элементов, сравнимые с пикселем. тогда и нет смысла рисовать. я уже использую этот подход при отрисовке треков.
зы. считать придется меньше, чем здесь, все-таки радиус кривой в tsection нам уже посчитан :)
заюзал свой клиппинг при отрисовке. т.е. вызов отрисовки всех-всех обьектов теперь контролирую я по видимой области. должен сказать, что GDI+ сам умеет это делать, но экономия на глазах выросла, благодаря накладности самих API вызовов, которых сейчас меньше на приличных зумах.. теперь при рассматривании станций в степанках скроллинг мышом куда плавнее, чем был. :)
также подверг отрисовку всего текста галочке «Сглаживание». раньше всегда рисовало со включенным ClearType, сейчас отключается.
поправил отрисовку стрелочных переводов. раньше галочка «Ручные» отключала нафиг и автоматические.
! исправил фильтрацию платформ в поле зрения (иногда на больших зумах не попадали в список)
! исправил фильтрацию светофоров в поле зрения (работала только при сортировке по посл. колонке)
! исправил заголовок скопированных данных из списка светофоров
! поправил отрисовку стрелочных переводов в зависимости от выбранных галочек
+ сделал отрисовку текста с реакцией на галочку «Сглаживание»
* переименовал общую длину путей в развернутую
* слегка оптимизировал подсчет развернутой длины путей
- убрал и заменил конфликтующие хоткеи
* добавил в копирайты 2013-й год
Версия 1.3.1 (когда меняется третья цифра в версии, значит это багфикс-релиз, когда вторая — фича-релиз, когда первая — туши свет :))
ftp://netanton.no-ip.org/pub/mapper-setup.exe
зы. Игорь, можешь у себя выкладывать :) я вижу, там описание уже заветхало, по крайней мере, таскать карту сейчас левой кнопкой :) и не вижу описания диалога светофоров... хотя я сам в ридми редко заглядываю, мне его любезно MJack написал :D
зыы. немного цифр: у меня на степанках при том зуме, когда вся карта влазит, отрисовывается 7000-8000 секций пути при общем количестве 40000 (18%). и все равно это прилично. думаю, есть шансы понизить это число. при относительно хорошем скроллинге без особых тормозов рисуется ~1500, а когда вообще мягко, то ~500. к этому надо стремиться :)
выпустил версию 1.4.
* ускорил отрисовку путей, светофоров, стрелок, точек соединения, выносок км-знаков, переездов и пунктов заправок
+ добавил хоткеи Num + и Num – на управление увеличением
* поправил отрисовку при запуске приложения с параметром
! поправил фильтрацию видимых платформ
! поправил подсчет числа секций пути в статистике (брало TrackNodes, а не VectorSections)
+ добавил возможность задать название шрифта для отрисовки текста
* сделал сортировку по названию платформы с учетом величины чисел
http://storage4.static.itmages.ru/i/13/0307/s_1362663137_6180475_d41d8cd98f.png (http://itmages.ru/image/view/928649/d41d8cd9)
+ реализовал подсветку выделенной платформы
http://storage3.static.itmages.ru/i/13/0307/s_1362663111_8118961_d41d8cd98f.png (http://itmages.ru/image/view/928647/d41d8cd9)
+ добавил в статистику число стрелочных переводов
http://storage4.static.itmages.ru/i/13/0307/s_1362663137_2780553_d41d8cd98f.png (http://itmages.ru/image/view/928648/d41d8cd9)
забирать там же:
ftp://netanton.no-ip.org/pub/mapper-setup.exe
Вроде всё Ок, багов не нашел (пока) =)), v1.3 beta обновляем?
Добавлено через 2 минуты
Тайл видимо без единого стыка, выпал...
http://storage9.static.itmages.ru/i/13/0309/s_1362791829_5512240_36ff9d704d.jpeg (http://itmages.ru/image/view/930646/36ff9d70)
Тайл видимо без единого стыка, выпал...
забавно :) ну на то оно и похоже.
маппер можно обновлять :) я пока в разработке следующего
Обновил, если нужно оно тут (http://disk.zaborin.ru/000020) =)).
фигасе, 152 загрузки за сегодня? даниможыдбыдь!!! :eek:
Ето вообще по файлу, оно от версии не обнуляется =)), сегодня вроде с 152 и начали, сейчас 156.
В субботу пользовал mapper, отлично работал. В понедельник попробовал запустить - выдает ошибку "Runtime error 216 at 0040588A". Может кто сталкивался с подобной проблемой и подскажет, как победить.
Версия 1.4. Переустановил заново, проблема не прошла.
На каком этапе выдает? стабильно и постоянно стал? попробуйте может .ini удалить..
Удалил Mapper.xml (размер файла был равен 0). Сразу запустился, правда сбились настройки, но это не беда. Спасибо за подсказку!
а вы его сохранили где-то? :) я бы посмотрел на xml. может там всего навсего глюкануло что то при сохранении и какой то параметр вышел за пределы диапазона допустимого..
пардон, я слепой. ну раз размер нулевой, значит таки точно глюкануло. другое дело, что должен стартовать как ни в чем не бывало..
Я пробовал внутрь заглянуть - файл далек от xml. Какая то крякозябра одна в начале и все.
Нашел немного времени, чтобы доделать давнюю задачу (пока в отладке, будет установка – я сообщу).
До и после:
http://storage3.static.itmages.ru/i/13/0915/s_1379193254_2277288_e117d191b4.png (http://itmages.ru/image/view/1216985/e117d191)http://storage4.static.itmages.ru/i/13/0915/s_1379193254_8490362_e0f2f9bb06.png (http://itmages.ru/image/view/1216986/e0f2f9bb)
Реализована отрисовка дуг в соответствии с tsection.dat. Он должен быть проиндексирован в tsection.idx рядом с программой с помощью соответсвующего пункта меню.
В планах рисовать платформы, которые стоят в кривых, тоже дугами.
Также вот пришла мысль как-то визуализировать пересечения путей приблизительно как мосты на топокартах. Тот путь, который проходит ниже (под мостом, и т.д.), перед пересечением немного усекать, чтобы было видно, кто выше.
Также вот пришла мысль как-то визуализировать пересечения путей приблизительно как мосты на топокартах. Тот путь, который проходит ниже (под мостом, и т.д.), перед пересечением немного усекать, чтобы было видно, кто выше.Может сделать с помощью значка, как на картах.
\___/
--------
/----\ как то так.
И по случаю... А можно попросить научить программу рисовать профиль пути? Очень востребовано!
Да, я знаю, что все ждут профиля :) я сам уже давно хочу его увидеть. сейчас пока время есть, может буду делать
Добавлено через 7 минут
Еще одна фишка, которую хочу сделать (идея MJack).
Есть кусок пути, который всегда между двумя точками, возможно на разных высотах, соотв-но считается, что этот путь имеет постоянный уклон.
Задача: при зажатом Ctrl (к примеру) искать ближайший трек к курсору мыши, искать ближайшую точку на треке к курсору мыши, рисовать в том месте кружок и в то же время линейной интерполяцией считать высоту в этой точке на основании высот концевых точек трека.
Где-то для RTS вроде бы нужно было..
Добавлено через 24 минуты
гм.. это только у меня в tsection.dat секции до 40000 идут?
в степановке по чертихино в одной из горловин (ну мало ли где еще) используются неизвестные секции, которые не прописаны, по ним дуги не просчитались..
http://storage3.static.itmages.ru/i/13/0915/s_1379221920_9091407_a0ae2b4a5d.png (http://itmages.ru/image/view/1217131/a0ae2b4a)
...Есть кусок пути, который всегда между двумя точками, возможно на разных высотах, соотв-но считается, что этот путь имеет постоянный уклон. Задача: при зажатом Ctrl (к примеру) искать ближайший трек к курсору мыши, искать ближайшую точку на треке к курсору мыши, рисовать в том месте кружок и в то же время линейной интерполяцией считать высоту в этой точке на основании высот концевых точек трека. Где-то для RTS вроде бы нужно было..Как инженеру-путейцу мне была бы очень интересна подобная информация. Как машинисту мне достаточно средней интерполяции на промежутке в 1 километр. Понятно, что на расстоянии в 300 метров на путях не будет уклон в 100 тысячных. Я сейчас делаю для мультиплееров RTS профили пути. Данные беру или из tdb, или из MSTS Mapper (смотрю абсолютную высоту рельс в начале отрезка из 1 км, в середине и в конце, делаю интерполяцию - какое красивое слово).
Также вот пришла мысль как-то визуализировать пересечения путей приблизительно как мосты на топокартах. Тот путь, который проходит ниже (под мостом, и т.д.), перед пересечением немного усекать, чтобы было видно, кто выше.
Если мы сможем посмотреть высоту пути в конкретной (любой) точке [см. ниже], то, имхо, может быть не надо делать дополнительную визуализацию. Кстати, если будешь делать, то вариант, предложенный csf, вполне подойдет. Рисовать "мост" так же, как мы рисуем платформу. Можно просто другим цветом и без "загибов" по краям "маркера" (значка моста).
...
при зажатом Ctrl (к примеру) искать ближайший трек к курсору мыши, искать ближайшую точку на треке к курсору мыши, рисовать в том месте кружок и в то же время линейной интерполяцией считать высоту в этой точке на основании высот концевых точек трека.
Где-то для RTS вроде бы нужно было..
Это нужно для того, чтобы удобнее было узнать координату по оси Y (высоту), которая необходима для задания точки блокировки в сценарии RTS.
Способ, предлагаемый Ted'ом, имхо, не очень удобный.
Вот скриншот из его мануала:
http://storage6.static.itmages.ru/i/13/0915/s_1379237752_4540250_d1c7a99a6d.png (http://storage6.static.itmages.ru/i/13/0915/h_1379237752_4540250_d1c7a99a6d.png)
гм.. это только у меня в tsection.dat секции до 40000 идут?
в Степановке по чертихино в одной из горловин (ну мало ли где еще) используются неизвестные секции, которые не прописаны, по ним дуги не просчитались... <картинка>
Всё верно, в tsection.dat секции идут до 40000, но в папке Степанок лежит еще один, свой, tsection.dat, который, видимо, добавляет дополнительные секции пути (в нем есть секции 40497, 40498 и другие).
P.S. С прорисовкой кривых карта выгдялит безусловно лучше и все "точечные" маркеры сразу "встали на место". Спасибо, что продолжаешь разработку Mapper'a.
облом подкрался незаметно. касательно своего tsection в папке маршрута. ну что за конченая структура.. да еще и формат записей отличается.
ну что ж, еще работы привалило..
кстати, принимается помощь в описании этого формата, он отличается от корневого tsection
Итак, рад наконец-то представить версию 1.5. :o
Уже полгода прошло, как множество доработок висит на винте не отданное в публику. На днях завершил отрисовку кривых дугами и решил выложить. Написал список измененного, и довольно таки много чего. Но профиля по прежнему нету.
+ реализована отрисовка кривых дугами (аппроксимация прямыми), расчет развернутой длины пути – тоже дугами, расчет всех градиентов – тоже исходя из дуг (как следствие, все уклоны уменьшились, т.к. дуга всегда длиннее прямой).
* расширен диапазон увеличения до 19 уровней (1х до 262144х) от 10 км/пикс (~ 10000 х 9000 км) до 4 см/пикс (~ 38 х 32 м)
+ на больших увеличениях добавлена сетка 100-метровка и 10-метровка (до этого минимальной была километровка)
* теперь после загрузки карты лучше вписывается в окно карты
* меню "Центрировать карту" теперь кроме центрирования вписывает карту в экран
* улучшен расчет размер текста для многих выводимых подписей с учетом увеличения
* отрисовка названий платформ теперь выполняется под тем же углом, что и сама платформа
+ теперь запоминаются 10 последних открытых файлов
+ добавлен пункт меню «Отображать боковую панель» (F4)
+ добавлены хоткеи для истории открытых файлов и выполнено замещение открытых файлов сверху вниз
* мерная линейка теперь показывает расстояние в формате хx.х м, если измеряемая длина < 100 м, и до x.xx м, если < 10 м
+ добавлена заливка полупрозрачным цветом при отрисовке использованных тайлов
* изменен стиль заливки для отрисовки стрелочных переводов
! поправлена ошибка при запуске приложения без .xml
* всякие мелкие интерфейсные доработки
· формат tdbx снова изменился с прошлой версии! необходимо перекешировать используемые карты.
· файлы tsection.dat из папок маршрутов пока еще не подгружаются, поэтому некоторые кривые отрисовываются прямыми.
· индекс файла tsection.dat из папки GLOBAL включен в установку и содержит 6051 определение секций. при желании его можно удалить и сгенерировать свой.
Забирать здесь:
ftp://netanton.no-ip.org/pub/mapper-setup.exe
Игорь! К тебе просьба, сам знаешь какая :D:) Благодарю большое.
зы. Хочу на днях завершить с дугами. Надо научиться читать tsection.dat, который в папке маршрута. Там есть некоторые дуги, которые сейчас не читаются и рисуются напрямую.
Попробовал версию 1.5. Отлично! Еще раз спасибо автору.
Но для меня в худшую сторону изменилось то, что теперь длина платформы отражается в десятках метров, а не в метрах (как в версии 1.4).
Тему упустил :o, всё обновлено (http://zaborin.ru/msts/file.htm#mm).
art-trans
19.09.2013, 13:24
Чем плоха публикация на trainsim.ru?
Кто сказал что плоха?
В download trainsim попадают уже проверенные и отлаженные версии, в тоже время новую нужно оперативно и надежно вывести в массы, некоторые правда спят зубами к стенке, оперативность хромает, но на одну ногу. :D
Попробовал версию 1.5. Отлично! Еще раз спасибо автору.
Но для меня в худшую сторону изменилось то, что теперь длина платформы отражается в десятках метров, а не в метрах (как в версии 1.4).
Вы имеете в виду где? в списке платформ вроде метры, хотя можно и десятые добавить и сотые :)
где могу, стараюсь идти по принципу "не навреди", как у врачей. если это большая проблема, поправлю и выложу сейчас же.
Добавлено через 2 минуты
Чем плоха публикация на trainsim.ru?
ничем :) что-то я отвык обращаться к админам, чтобы запостили.
у Игоря оперативнее :D
любой желающий может брать и выкладывать у себя :)
Вы имеете в виду где? в списке платформ вроде метры, хотя можно и десятые добавить и сотые...Да, в списке платформ. В версии 1.4 было, например, 286, а в версии 1.5 сейчас 28. Если честно, то не критично. Но иногда пригождалось!
Да, в списке платформ. В версии 1.4 было, например, 286, а в версии 1.5 сейчас 28. Если честно, то не критично. Но иногда пригождалось!
О, так это реально бок с конвертацией значений. я поправлю вечерком.
еще один бок нашел :)
спасибо за наводку. :drinks:
Итак, исправил я это и еще одну неприятную вещь.
Версия 1.5.1.
ftp://netanton.no-ip.org/pub/mapper-setup.exe (Игорь, очень большая просьба забрать еще раз, спасибо :drinks:)
Но хотя номер версии соответсвует багфиксу, я все же дореализовал одну вещь, которая давно висела закомментированной и была в планах.
+ добавлена возможность сохранять выделенную область карты;
! исправлено отображение длины платформы в списке платформ;
! исправлена ошибка, возникавшая повсеместно после того, как открыли карту через проводник с помощью маппера.
Вкратце о сохранении выделенной области.
много кто хотел сохранить карту путевого развития станции, но на больших картах при больших увеличениях размеры результирующего файла были бы чересчур большими.
http://storage8.static.itmages.ru/i/13/0919/s_1379613258_1628844_cc6d528855.png (http://itmages.ru/image/view/1228448/cc6d5288)
Но сейчас можно выделить область (Shift+правая кнопка, а линейка – просто правая кнопка), она отображается полупрозрачным синим прямоугольником и остается до выделения другой области. Убрать ее можно через меню "Вид" --> "Убрать выделение".
Сразу видим, что маппер изменил предсказания касательно результирующих размеров:
http://storage5.static.itmages.ru/i/13/0919/s_1379613859_7307094_65397ae50e.png (http://itmages.ru/image/view/1228469/65397ae5)
Уже лучше. При сохранении изображения файл будет точно такого размера и в нем будет один в один, что выделено. Если нужна бОльшая детализация, просто увеличиваем область до нужного уровня, следя за размерами файла, чтобы не было сильно много.
http://storage6.static.itmages.ru/i/13/0919/s_1379613418_8598418_bb5ed5cf1c.png (http://itmages.ru/image/view/1228454/bb5ed5cf)
Сохраняем как обычно:
http://storage1.static.itmages.ru/i/13/0919/s_1379613488_2026266_67d2ec2663.png (http://itmages.ru/image/view/1228457/67d2ec26)http://storage2.static.itmages.ru/i/13/0919/s_1379613499_5076317_e0b8d2635d.png (http://itmages.ru/image/view/1228458/e0b8d263)http://storage7.static.itmages.ru/i/13/0919/s_1379613634_9026753_c6eda7720a.png (http://itmages.ru/image/view/1228463/c6eda772)
зы. Присылайте свои наиболее замысловатые станции :)
vBulletin® v3.8.12 by vBS, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot