Форум Trainsim

Форум Trainsim (http://www.trainsim.ru/forum/index.php)
-   TrainZ - Маршруты и сценарии (http://www.trainsim.ru/forum/forumdisplay.php?f=24)
-   -   DEM и SRTM (http://www.trainsim.ru/forum/showthread.php?t=6790)

Gregory_777 30.03.2009 15:50

DEM и SRTM
 
В MSTS программой Route Geometry Extractor тайлы жёстко привязывались к географии, а низкое разрешение сетки рельефа позволяло использовать бесплатно доступные данные SRTM-3, имеющие в наших широтах резрешение 60-70м. Файлы, .hgr легко конвертировались в рельеф программой DemEx, тоже условно-бесплатной. За деньги были доступны некоторые дополнительные фичи, такие как distant moutains и сохранение DEM-данных в виде grayscale bitmap. Но в целом бесплатная версия была вполне работоспособна.

В Trainz всё плохо. Во-первых я что-то не понял, как привязать трассу к world coordinates. Но это как бы в общем-то полбеды. В TRS2009 размеры бейсбордов (аналог тайлов в MSTS) - 720х720м, а разрешение рельефной сетки - 5м. То есть один бейсборд на картинке, полученной из SRTM-3 в масштабе [3 угловых секунды : 1 пиксел] и имеющей соответственно разрешение 1201х1201, занимает квадратик примерно 100х100 пикселей. Каким способом нарезает бейсборды певсофтовский DEM tile maker я так и не понял, но факт, что 1 hgr-файл покрывает на карте квадрат примерно 72х72км, то есть территорию 100х100 бейсбордов в Trainz. Есть ещё одна прога, называется HOG, она генерирует сразу тайлы, а не картинки хейтмапов, как tile maker. Но с TRS2009 она у меня не заработала: сгенерированные ей бейсборды просто не отображаются в редакторе.

То есть грубо говоря SRTM-3 данные для создания более-менее приличного рельефа в Trainz практически не пригодны: их можно рассматривать как вспомогательное средство предварительной профилировки бейсбордов для получения более-менее реалистичных ландшафтов вымышленных карт, но и только. Во-первых из-за отсутствия географической привязки задача совмещения рельефа и карты становится мягко говоря нетривиальной. Во-вторых из-за низкого разрешения рельеф всё равно придётся доводить вручную, т.к. он неизбежно получится слишком "плоским". И в-третьих из-за особенностей органов управления редактированием рельефа в Surveyor выдержать вертикальный масштаб не представляется возможным. К тому же без перенастройки камеры невозможно выделить тайл целиком: он просто не помещается в кадр.

В интернете я нашёл несколько совершенно адских туториалов по применению в Trainz DEM-данных SRTM24 или TIGRA. Но там надо задействовать какое-то невероятное количество программ, включая полноценную ГИС под названием MicroDEM, которая хоть и бесплатная, но у меня ушло несколько часов, прежде чем я наконец воткнул, что с ней делать. Плюс ко всему она просто вулканически глючна. Да и DEM-файлы такой точности как правило платные и надо пройти через 10 кругов ада, чтобы их заполучить. На одном из сайтов форма регистрации занимает аж 5(!!!) страниц. Выдержать это может не каждый.

После всех этих злоключений у меня возник (кто бы мог подумать...) вопрос: а нет ли какого-то более адекватного способа создания реалистичех рельефов в Trainz? С однозначной привязкой к географии (хотя бы Google Maps) и минимальной доработкой бейсбордов после генерации?

genesis 30.03.2009 17:16

Странно что хог не работает, у меня прекрасно конвертнул. С ним нужны танцы с бубенами, чтобы границы тайлов были норм.
Микродем правда, это не отменяет, но возможно сделать что требуется можно и в других гисах;)

Wld 31.03.2009 12:45

[QUOTE=Gregory_777;79606]Есть ещё одна прога, называется HOG, она генерирует сразу тайлы, а не картинки хейтмапов, как tile maker. Но с TRS2009 она у меня не заработала: сгенерированные ей бейсборды просто не отображаются в редакторе.

... под названием MicroDEM, которая хоть и бесплатная, но у меня ушло несколько часов, прежде чем я наконец воткнул, что с ней делать. Плюс ко всему она просто вулканически глючна.[/QUOTE]

Ты где эти версии HOG'а и Microdem'a выкопал?

Сгенерированные Хогом тайлы не могут не отображаться в редакторе; где-то ты ошибся, хотя не представляю где. Микродем-же отлично пашет, от него-то и задач много не требуется.

Кстати, на клане я в своё время писал заметку о рельефе и сейчас далаю так.
Правда, с некоторой поправочкой, о которой(х) можно прочитать ниже по теме.

genesis 31.03.2009 12:59

[URL="http://trains-clan.ru/forums/showthread.php?t=456"]http://trains-clan.ru/forums/showthread.php?t=456[/URL] - тута

Микродем тварь весьма глючная, сам с ней намучился

Wld 31.03.2009 14:05

[B]Microdem[/B] иногда пучит и он выводит сообщения о не хватке ресурсов или типо того, а так, вроде, ничего страшного не замечал.

Кстати, о фильтрации, упомянутой по ходу темы.

Не знаю как там насчет пустого tga-файла, но я теперь провожу линию указанным цветом, в том-же файле, где и сама карта, и [B]HOG[/B] действительно прекрасно фильтрует по ней. В опции фильтрации, до всего, акромя этого цвета, ему до потолка.

Артефакты в 2009-м, это Да (блин). У меня теперь под это дело стоит 2006-й, куда я импортирую рельеф, там все это редактирую, сохраняю, а потом присоединяю к пустому квадрату в 2009-м экспортированную карту из 2006... Если все делать напрямую, то проявляются не только артефакты, а еще и проблемы с отображением поверхности...

Dem-данные использую со своей ссылки;
ту которую дал [B]agmike[/B], Microdem не затрепал.
И помойму это те самые *.hgr файлы.

Gregory_777 31.03.2009 14:44

Короче. Кто-нибудь значет формат .GND-файлов Trainz? Проще уже написать прямой конвертор .hgr -> .gnd и не париться. Думаю, дело займёт часа два неспешной возни...

genesis 31.03.2009 14:59

а как удалять ненужные тайлы? А как нужный квадрат отрезать? ХОГ проверен все же.
[QUOTE=Wld;79789]ртефакты в 2009-м, это Да (блин). У меня теперь под это дело стоит 2006-й, куда я импортирую рельеф, там все это редактирую, сохраняю, а потом присоединяю к пустому квадрату в 2009-м экспортированную карту из 2006... Если все делать напрямую, то проявляются не только артефакты, а еще и проблемы с отображением поверхности...[/QUOTE]
На аурановском форуме был рецепт, надо создать 2 пустых роута, в одном заменить gnd на сгенерированный хогом и затем присоединить его ко 2ому. Только я не проверял, хз пашет ли.
[QUOTE=Wld;79789]Dem-данные использую со своей ссылки;
ту которую дал [B]agmike[/B], Microdem не затрепал.
И помойму это те самые *.hgr файлы.[/QUOTE]
Ненай, там *.hgt, у меня прекрасно конвертятся

Wld 31.03.2009 15:52

Только что опробовал этот рецепт.
Артефакты стали менее заметными, но всё-же остались.

[URL=http://www.radikal.ru][IMG]http://s45.radikal.ru/i110/0903/cc/3a6e2664981c.jpg[/IMG][/URL]

C [B]hgt[/B]'шками особо не разбирался.
Устраивают прежние результаты.

genesis 31.03.2009 16:57

ясно, значит пустой ТС1 поставить, чтоб место не пропадало, для таких целей

Wld 31.03.2009 17:31

[COLOR="Silver"]TC1 - это Trainz Classics?[/COLOR]

genesis 31.03.2009 17:56

[COLOR="Silver"]ага[/COLOR]

petka 31.03.2009 21:22

TransDEM вам в зубы и будет вам счастье, но она платная

Gregory_777 01.04.2009 19:13

А какого размера должна быть картинка, генерируемая MicroDEM? В смысле разрешения? Потому как вот это "четырежды увеличил" -- это напоминает алхимический рецепт: типа и добавить толчёный зуб дракона ;) У меня какая-то жуткая колбаса с масштабом получается...

genesis 01.04.2009 20:22

см пост ниже
Увеличивать нужно до получения размера пикселя в 10 метров.

Wld 01.04.2009 21:46

[QUOTE=Gregory_777;80042]Потому как вот это "четырежды увеличил" -- это напоминает алхимический рецепт: типа и добавить толчёный зуб дракона ;) У меня какая-то жуткая колбаса с масштабом получается...[/QUOTE]

Как я понял, это о моей рецептуре? :)

"Четырежды увеличил", это для [U][B]вымышленных карт[/B][/U].
Чтобы длинная была, вестимо; и называть это можно хоть зельем бабки-повитухи, т.е. родил это исключительно для себя :drinks:
(поправочка: увеличиваю я ужо [U]трижды[/U], а районы выбираю погористей)

У меня всё ok.
Вот последние примеры:

[URL=http://www.radikal.ru][IMG]http://i070.radikal.ru/0904/49/886b6f8843c7.jpg[/IMG][/URL]

[URL=http://www.radikal.ru][IMG]http://s43.radikal.ru/i101/0904/d3/b06029bd82eb.jpg[/IMG][/URL]

[URL=http://www.radikal.ru][IMG]http://s42.radikal.ru/i095/0904/02/d650015273b9.jpg[/IMG][/URL]

[URL=http://www.radikal.ru][IMG]http://i081.radikal.ru/0904/f1/38a6ae0bd1b8.jpg[/IMG][/URL]

[URL=http://www.radikal.ru][IMG]http://s48.radikal.ru/i120/0904/c8/44ec4d0446ba.jpg[/IMG][/URL]

[URL=http://www.radikal.ru][IMG]http://i010.radikal.ru/0904/e4/1a5bffdfaece.jpg[/IMG][/URL]

[URL=http://www.radikal.ru][IMG]http://s60.radikal.ru/i167/0904/e6/0e12f883498a.jpg[/IMG][/URL]

Вот такой толченый зуб :crazy:

Gregory_777 02.04.2009 02:10

Блин, красотища!
Сражаюсь дальше. Кстати приноровился юзать DemEx вместо этого сатанинского MicroDEM, вроде пока результат радует. Просто у меня почти вся Европа в hgr есть. Кажется даже начинает получаться. Осталось научиться фильтровать тайлы.

Wld 02.04.2009 02:54

Ниже программы для подбора и определения цвета.
Я воспользовался программой [B]Web Color[/B].

[url]http://forum.ru-board.com/topic.cgi?forum=4&topic=1542[/url]

Для фильтра в [B]HOG[/B]'е нужен [U]0, 255, 255[/U] цвет.
Им я провел в Пайнте в тех местах, где пожелал видеть ландшафт в игре.

[B]HOG[/B] отфильтровывает все что отличается от этого цвета
(не забывай про радиус фильтрации, который можно варьировать).

В [B]HOG[/B]'е указал две картинки -
сам ландшафт (выше), плюс "отфильтрованный" ландшафт (ниже).

[URL=http://www.radikal.ru][IMG]http://i020.radikal.ru/0904/8b/daa53f97e7b3.jpg[/IMG][/URL]

[URL=http://www.radikal.ru][IMG]http://s49.radikal.ru/i125/0904/95/2e14452e4034.jpg[/IMG][/URL]

Gregory_777 02.04.2009 03:03

Спасибо огромное! Получилось!
Но это всё равно нереальное шаманство.

genesis 02.04.2009 16:37

почему? Берешь гугл МВ, выделяешь и сохраняешь в jpg с привязкой jpw. Далее в ФШ цветом проводишь трассу, и делаешь карту раскраски если надо. Затем качаем нужные демы, склеиваем в 1 файл в микродеме, открываем вместе с jpw файлом, по нему же раскрываем квадрат дема. Увеличиваем до нужного разрешения, сохраняем. Далее надо обрезать все файлы до пропорций (72*x+4) x (72*y+4), главное везде одинаково отрезать. Ну и все, дело в ХОГе. Получаем на выходе реальный рельеф. Все ж просто:)

Gregory_777 02.04.2009 16:58

[QUOTE=genesis;80207]Все ж просто:)[/QUOTE]

Ну в обещем да... С 10-й попытки даже получилось как надо :o

Gregory_777 03.04.2009 04:08

А объясни поподробнее про MapBuilder и файлы привязки? А то с рельефом вроде всё получилось, а фильтр без Google Maps нормально не сделать. Пробовал "на глазок" чтобы просто потренироваться - но это всё не то...

Prapor 03.04.2009 08:18

Туплю... :( Скиньте HOG кто-нить.. Связь скажу в привате...

Gregory_777 03.04.2009 13:01

[QUOTE=Prapor;80283]Туплю... :( Скиньте HOG кто-нить.. Связь скажу в привате...[/QUOTE]

Держи: [url]http://stream.ifolder.ru/11405523[/url]

genesis 03.04.2009 13:48

[QUOTE=Gregory_777;80273]А объясни поподробнее про MapBuilder и файлы привязки? А то с рельефом вроде всё получилось, а фильтр без Google Maps нормально не сделать. Пробовал "на глазок" чтобы просто потренироваться - но это всё не то...[/QUOTE]
Я пользуюсь GoogleMV, полная версия и с баном гугля справляется, и jpw привязку сама делает

[URL="http://trainz.luvr.net/projects-view.php?pid=390&tab=f"]http://trainz.luvr.net/projects-view.php?pid=390&tab=f[/URL] - вот здесь хог

Gregory_777 03.04.2009 14:15

[QUOTE=genesis;80315]Я пользуюсь GoogleMV, полная версия и с баном гугля справляется, и jpw привязку сама делает[/QUOTE]

На сайте автора написано: [B]По техническим причинам распространение программы временно приостановлено. [/B]

genesis 03.04.2009 14:57

Ой, а вот иначе никак;) Я качал с руборды, видел на torrents.ru и тд.
К тому же сайт уже открылся:)

Gregory_777 04.04.2009 16:44

Короче, этот GoogleMV - редкое фекало. Поэтому я вам расскажу как сделать, чтобы ничего не делать.

1. Запускаем MicroDEM, открываем заранее скачанный tif-файл и не отходя от кассы увеличиваем его раз этак в 10.

2. Находим нужную область на карте и с помощь инструмента Subset & Zoom выделяем её.

[IMG]http://gregory.pp.ru/trash/trainz/tutor/tutor_0.jpg[/IMG]

3. Конвертируем карту не в Chroma Depth Color, а в Grayscale (Modify -> Elevation : Gray scale). Во-первых так удобнее, а во-вторых так удобнее. В-третьих тоже намного удобнее.

4. Смотрим в Info и увеличиваем карту в количество раз, равное текущему Screen pixel size / 10. Например если это значение равно 72.54, то в окошке инструмента Zoom in вводим 7.254.

5. С помощью смешной третьей опции (File -> Save map as image -> With world file) сохраняем получившееся изображение на жёсткий диск ЭВМ.

6. Качаем Map Builder вот с [URL="http://mapbuilder.narod.ru"]этой[/URL] странички. Прога совершенно бесплатная, работает на ура и помимо гугла умеет ещё и Yandex.Карты, что в ряде случаев может оказаться ценным качеством. Правда никакой графики. Всё ручками.

7. Открываем сохранённую ранее карту в Гимпе и смотрим какого она разрешения. У меня получилось 4635х2166 точек.

8. Запускаем Map Builder и открываем в любом текстовом редакторе созданный микродемом JPW-файл, откуда берём точные координаты верхнего левого угла карты. Координаты правого нижнего угла можно получить, установив в микродеме курсор в правый нижний угол изображения и посмотрев статусную строку.

[IMG]http://gregory.pp.ru/trash/trainz/tutor/tutor_1.jpg[/IMG]

9. Остальные опции мап билдера в общем-то пофигу. Кроме одной: нажимаем большую кнопку ОК и смотрим в выскочившем окошке, какого разрешения у нас получится картинка. Если оно слишком большое - двигаем движок "Уровень" вниз. Мало - вверх. Цель - чтобы разрешение результирующей карты было примерно равно (или чуть больше) разрешению той, что сгенерирована микродемом.

10. Теперь самое главное – в гимпе создаём новый слой изображения и помещаем туда карту высот. Используя инструменты Transform и Move необходимо как можно более точно совместить сгенерированную микродемом и скачанную мап билдером карту. Сделать это в общем-то не сложно, если сначала привести обе карты к одному экранному масштабу. Например сгенерированная мап билдером карта имеет 5120 точки по горизонтали, а карта высот - 4635. Соответственно первую карту надо уменьшить в 5120 / 4635 = 1.1 раз. [B]Внимание! Не масштабируйте карту высот, она уже имеет правильный масштаб![/B]

11. Теперь цветом 00FFFF рисуем контур будущей трассы.

[IMG]http://gregory.pp.ru/trash/trainz/tutor/tutor_2.jpg[/IMG]

12. Обрезаем картинку до размеров (72Х+4)х(72Y+4), где Х и Y – размеры нашей трассы в бейсбордах (размер одного бейсборда – 720х720м, следовательно 1 бейсборд – это квадрат 72х72 пикс. на карте). Вычислить их можно, выделив участок изображения так, чтобы в него попала вся трасса и посмотрев сколько пикселей выделено по горизонтали и вертикали, а затем поделив эти значения на 72, отбросив дробную часть. Например: 2980 / 72 = 41 -> 41 * 72 + 4 = 2956.

13. Сохраняем каждый слой (карту высот, спутниковую фотографию и контур трассы) по отдельности в формате TGA и запускаем HOG. Не забудьте выставить Data format в значение Gray scale.

14. [B]Минимальную и максимальную высоту смотреть в Info микродема бесполезно[/B]: в Info отображаются значения для всей карты, а не для вырезанного участка. Поэтому для грубой оценки прямо в гимпе находим самый светлый участок и смотрим значение цвета пипеткой. А потом находим это значение на шкале высот, которая впечатана в картинку.

[IMG]http://gregory.pp.ru/trash/trainz/tutor/tutor_3.jpg[/IMG]

Это важный момент, так как если вы перепишете данные из Info микродема, то результат может оказаться непредсказуемым. Хотя в ряде случаев отклонения могут быть незначительными. Впрочем более точно максимальную и минимальную высоты можно посмотреть и в микродеме, поводив курсором над самыми светлыми и самыми тёмными местами карты и посмотрев в статусной строке значение параметра z=??? м. В моём случае эти значения равны 87м и 2м соответственно. Примем минимальную высоту равной 0, следовательно максимальную - 85м, чтобы сохранить перепад высот.

15. Засовываем сохранённые картинки в соответствующие поля хога, выставляем Filter radius на минимум и генерируем mapfile.gnd, который переносим в ранее созданный куид, предварительно открыв его на редактирование в Content Manager и коммитим.

16. Заходим в Surveyor и наслаждаемся результатом. Вуаля! Мы не использовали ни одной платной программы.

genesis 04.04.2009 18:39

[QUOTE=Gregory_777;80529]Короче, этот GoogleMV - редкое фекало.[/QUOTE]
Ой-ей. Обосновать слабо?:)
[QUOTE=Gregory_777;80529]14. Минимальную и максимальную высоту смотреть в Микродеме бесполезно: в Info отображаются значения для всей карты, а не для вырезанного участка.[/QUOTE]
Analyse > Elevation Histograms
[QUOTE=Gregory_777;80529]16. Заходим в Surveyor и наслаждаемся результатом. Вуаля![/QUOTE]
Ога, например смотрим на баги на границах тайлов в 09:D
[QUOTE=Gregory_777;80529]Мы не использовали ни одной платной программы.[/QUOTE]
Сомнительное достижение:p

И все бы хорошо, но делаем как-то задом наперед, из-за этого приходится вслепую пожимать гуглевую карту и т.п.
Можно сделать все прямо и точно.

Gregory_777 04.04.2009 20:10

> Ой-ей. Обосновать слабо?
А она ничего с гугла не качает и показывает серые квадраты с надписью "ожидание закачки". Если выделить область и попытаться сохранить, он что-то соображает минут 10, а потмо создаёт jpeg из квадратиков с надписью "не удалось скачать".

> Analyse > Elevation Histograms
Ну или так. Разницы никакой в общем-то. Точность по высоте плюс-минус пара метров ничего не решает.

> Ога, например смотрим на баги на границах тайлов в 09
Багов не замечено. У меня последний билд.

> Сомнительное достижение
См. выше.

> приходится вслепую пожимать гуглевую карту
Почему вслепую? Делаешь её полупрозрачной и всё.

Я согласен, что можно сделать точнее и проще. Но этот способ не предусматривает возни с варезом. И да. Я не знаю, почему у меня MV не заработал.

elros 04.04.2009 23:33

извините, что вторгаюсь в вашу беседу, но мне кажется, что без [URL="http://railroadsim.net/ru/downloads/trainz/utilities"]этой ссылки[/URL], тема до конца не раскрыта:), ну и обсуждение подробностей [URL="http://www.railunion.net/forum13/topic450.html"]здесь[/URL], далеко не первой свежести, конечно, но въехать в тему поможет:)

Gregory_777 05.04.2009 00:09

[B]elros[/B], да я пробовал эти проги. Хорошие, но самая большая проблема - это привязка рельефа к спутниковым фотографиям местности. Фактически единственная прога, которая это делает математически точно - GoogleMV. Но у меня она почему-то не заработала, поэтому пришлось извращаться описанным выше способом и совмещать карты "врукопашную".

elros 05.04.2009 00:13

[B]Gregory_777[/B], я бы посоветовал тебе к автору прог напрямую обратиться на юнионе, он частенько там бывает, и отвечает... там в архиве есть инструкции, не помню точно, что в них, может и по этой проблеме есть коменты...
кстати качнул сейчас эту GoogleMV, разархивировал, работает, [URL="http://narod.yandex.ru/100.xhtml?www.silber2004.narod.ru/GoogleMV1.zip"]ссылка[/URL]

Gregory_777 05.04.2009 01:20

Отлично! В данной версии заблокирована возможность создания файлов привязки. То есть самого нужного-то в итоге и нету. И выкачивает СТРАШНО тормозно. Мап Билдер 200 тайлов выкачивает на моём канале секунд за 10...

elros 05.04.2009 01:25

[B]Gregory_777[/B], порылся в закромах у себя, надыбал програмку 3Dem, если нужно могу закинуть куда скажешь, сетап весит 4, 13 МБ, [URL="http://www.visualizationsoftware.com/3dem.html"]здесь[/URL] о программе

Gregory_777 05.04.2009 03:56

А чего её искать? [URL="http://www.visualizationsoftware.com/3dem/downloads.html"]Вот[/URL] она...

elros 05.04.2009 11:43

ну, у меня просто некоторый беспорядок, уже непомню какие проги варезные, какие фри...

Gregory_777 05.04.2009 19:31

3Dem - хорошая штука, но совмещать всё равно приходится вручную (по двум точкам) и точность на выходе получается сопоставимая с той, которой можно добиться делая это просто в гимпе или ФШ. К тому же она разрешения карты высот просаживает очень сильно.

Damien Zhar 05.04.2009 22:47

Добрыый вечер уважаемые товарищи пользователи ЦМР. Я лично пользуюсь программой TransDem для построения маршрута Савёловский Вокзал - Лобня. Имеется некоторый опыт с программой и ссылки на SRTM четвёртой версии.
Ищу ЦМР с разрешением лутчше 90 м, для этой местности в любом формате. Буду благодареен за любую помощь, и также рад помочь чем могу.

Gregory_777 06.04.2009 00:09

В наших широтах SRTM-3 имеет разрешение 40-60м, так что годится. SRTM-1 уже платный.

Damien Zhar 06.04.2009 00:20

[QUOTE=Gregory_777;80757]В наших широтах SRTM-3 имеет разрешение 40-60м, так что годится. SRTM-1 уже платный.[/QUOTE]

Спасибо за информацию.
Конечно для некоммерческих нужд, может-будь кде-то и отыщется SRTM-1? Если он для наших краёв существует.


Текущее время: 13:38. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim