![]() |
![]() |
|
Сайт | ПРАВИЛА ФОРУМА | FAQ | Регистрация | Справка | Пользователи | Социальные группы | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
![]() |
#1 |
Разработчик
Регистрация: 01.02.2008
Адрес: Санкт-Петербург
Сообщений: 18,938
Вы сказали Спасибо: 11,499
Поблагодарили 10,291 раз(а) в 3,846 сообщениях
![]() |
![]()
Старая тема, которая не дает мне покоя и в сотни раз замедляет строительство маршрута.
Речь о нестыковке секций пути в редакторе, путем длительных изысканий удалось установить следующее: Координаты начала секции записываются в W файл с точностью до 6 знаков (параметр Position), т.е. может быть 616.345 или 35.2445 но никак не 452.7852, поскольку число до запятой определяется местом на тайле его изменить невозможно, для точности позиционирования остаются знаки после запятой, будут это тысячные или десятитысячные определяется разрядностью первого числа. Как правило, первое число состоит из 3 знаков, и точность расположения секции определяется тысячными, как оказалось тут тоже все не просто, вот пример линковки трака к окончанию предыдущего: ![]() В данном примере N предыдущий трак, N+1 следующий, сетка образуется возможными записями в W файле с шагом в одну тысячную. Конец трака N естественно промахивается мимо точек координатной сетки, следующий трак может быть прилинкован (записаны координаты в W) только в точках A, B, C, D, во всех случаях будет смещение относительно оси пути предыдущего трака и так называемый "непровар" с киданием ПС в сторону смещения. Кроме того, редактор делает стандартную ошибку выбора ближайшей точки, например в этой ситуации: ![]() Точной стыковкой по оси пути будет точка D, однако редактор выберет B. В данный момент ничего кроме ручной коррекции таких ошибок в W файле найти не удалось, это адский труд - на каждой секции: проверка, открытие W файла, коррекция, пересборка БД, проверка, повторная коррекция, перерсборка БД, проверка, Ок?, - запись в "тетрадочку". Путем несложных расчетов можно примерно рассчитать срок выхода маршрута - ~10-15 лет, приходится искать выход дальше. Удалось установить следующие нюансы: - при пересборке БД она прекрасно понимает значения координат с точностью до десятитысячной, т.е. например 557.2545 будет корректно обработано и точность стыковки будет идеальной. - при добавлении новой секции (или перестыковке) в БД заносятся (добавляются) новые координаты именно с точностью до десятитысячной, которые возвращает редактор. - запись координат в W файл ограничивается редактором на уровне 6 знаков, вне зависимости от положения запятой (точки). Соответственно аккуратно уложенный и состыкованный путь, построенный путем добавления секций (внесение в БД координат с точностью до десятитысячной) будет разрушен пересборкой БД т.к. будут использованы данные из W файлов, округленные до тысячной в результате стыки "как бык написал". В тоже время без пересборки невозможно внести в БД корректированные руками секции, получается замкнутый круг, в результате требуется пересборка и проверка после каждой секции. Исправит ситуацию внесение редактором координат в W файлы с точностью 7 знаков (десятитысячные), проверено, что такие записи корректно обрабатываются при пересборке БД и проблем не возникает даже на краях тайлов. Но подлый редактор снова грубо округлит все записи до 6 знаков при сохранении тайла ![]() Уф… разжевал проблему, предельно подробно, главный вопрос - как заставить редактор записывать координаты в W из 7 знаков, уверен, что это возможно, исходные данные есть в наличии, тот же QDirection он записывает на несколько порядков точнее, осталось только найти где изменить параметр, возможно и в train.exe в NEX редакторе … Камрады, какие есть соображения по поводу где искать? PS извиняюсь за много букв, иначе не объяснить, за ними стоят месяцы работы и проблема очень острая, очень прошу не засорять тему рекомендациями "забить", "не парится" и т.д., требуется совет и помощь.
__________________
Присылайте ваши сценарии в копилку msts. Опыт - это нечто, что приобретается сразу после того, как это было нужно. 100% не предпринятых попыток обречены на провал. Последний раз редактировалось Zabor; 18.07.2009 в 14:29. |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
Опции темы | |
Опции просмотра | |
|
|
|
![]() Что это? |