Форум 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)

Damien Zhar 07.04.2009 20:47

От получения необходимых данных, до заготовки маршрута. И полезные мелочи, типа быстрые клавиши и руская смекалка. Ну и пожалуйста формул поменьше.:o

Gregory_777 08.04.2009 02:31

Напишу сегодня туториал, выложу тут. Покритикуете, мож чего добавим.
Без формул совсем к сожалению не получится.
Жалко, что Клан опять накрылся. Там был полезный тред по данной теме.

Gregory_777 08.04.2009 17:46

В общем, рассказываю. Критика и дополнения приветствуются.

1. Получение спутникового снимка с привязкой к Мировым Координатам.

1.1 Нужные программы.
- [URL="http://www.silber2004.narod.ru/travel.htm"]GoogleMV[/URL] - условно-бесплатная программа с визуальным интерфейсом. У меня не заработала. Но люди хвалят.
- [URL="http://mapbuilder.narod.ru/download.htm"]Map Builder[/URL] - фриварная софтинка микроскопического размера. Отличается от GoogleMV только тем, что координаты скачиваемых участков карт приходится вводить вручную. Я пользовался именно этой программой в комплекте с Google Earth.
- Любой текстовый редактор.
- Калькулятор или электронная таблица.

1.2 Открываем Google Earth, приближаем интересующий нас участок Земли так, чтобы он влезал в кадр. В меню Инструменты -> Настройки во вкладке "3D Просмотр" устанавливаем переключаель "Показать шир./долг." в положение "Градусы с десятичными долями"

1.3 Запускаем Map Builder и вводим в соответствующие поля координаты правого верхнего и левого нижнего углов интересующей области. Координаты можно округлить до 2-3 знака после запятой. [B]ВНИМАНИЕ! Использовать эти координаты для дальнейшей привязки нельзя! Так как и GoogleMV и Map Builder скачивают карту кусочками размером 256х256 пикс., соответственно картинка будет выровнена по границам прямоугольника, размеры которого кратны количеству скачанных кусочков, то есть не соответствуют первоначальной геометрии выбранной области.[/B]

1.4 Устанавливаем чекбокс "Создать файл привязки" и формат выходного изображения JPEG. Движком "Уровень" добиваемся, чтобы наша карта имела максимально возможное разрешение, но при этом всех кусочков хватало.

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

Если вы пользуетесь GoogleMV, то всех этих шаманских танцев вам не нужно. Просто выделяете область и сохраняете её с файлом привязки.

1.5 Map Builder умеет создавать только файлы привязки для программы OziExplorer (.map). GoogleMV умеет создавать нужные нам World Files, но только за деньги. В любом случае в файле .map содержится вся необходимая нам информация, так что создать на его основе файл .jpw можно самостоятельно. Открываем map-файл любым текстовым редактором, и листаем в самый конец. Там видим примерно такие строчки:
[code]MMPXY,1,0,0
MMPXY,2,3663,0
MMPXY,3,3663,2895
MMPXY,4,0,2895
MMPLL,1, 28.991547, 59.990058
MMPLL,2, 29.620171, 59.990058
MMPLL,3, 29.620171, 59.740569
MMPLL,4, 28.991547, 59.740569[/code]
Это, собственно, всё что нам нужно. Из этого ясно, что картинка имеет разрешение 3663х2895 точек и её левый верхний угол имеет координаты [28.991547,59.990058]. Формат jpw (World Image File) известен:

1-я строка (A): Горизонтальное разрешение растра (едениц карты/пиксел)
2-я строка (B): Склонение по оси X
3-я строка (C): Склонение по оси Y
4-я строка (D): Вертикальное разрешение растра (едениц карты/пиксел, со знаком минус)
5-я строка (E): Долгота левого верхнего угла растра
6-я строка (F): Широта левого верхнего угла растра.

5-ю и 6-ю строки вытаскиваем из map-файла непосредственно. А вот масштабы придётся посчитать. Поскольку юнитом карты в UTM у нас является градус и склонения равны 0, то горизонтальное разрешение = ( долгота левого края карты - долгота правого края карты ) / количество пикселов по горизонтали. В нашем случае это будет (29.620171 - 28.991547) / 3663 = 0.00017161452. Аналогично высчитывается вертикальный масштаб: (59.740569 - 59.990058) / 2895 = -0.00008617927. Итог:
[code]0.00017161452
0
0
-0.00008617927
28.991547
59.990058
[/code]
Если лениво тыкать кнопки калькулятора, можно воспользоваться электронной таблицей (я использовал OpenOffice Calc). Вот пример раcсчёта для моей карты ([URL="http://gregory.pp.ru/trash/trainz/tutor/map_01.ods"]скачать[/URL]).
Файл привязки должен иметь то же имя, что и файл со спутниковой фотографией и расширение .jpw, например, если карта называется map_01.jpg, то файл привязки должен называться map_01.jpw.

Gregory_777 08.04.2009 18:06

2. Получение карты рельефа.

2.1 Нужные программы:
- [URL="http://www.usna.edu/Users/oceano/pguth/website/microdemdown.htm"]MicroDEM[/URL] - бесплатная ГИС. Могучая, но очень глюкавая софтина, написанная университетским профессором.

2.2 Запускаем MicroDEM и нажимем кнопку "Quick vector map"

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

2.3 В открывшемся окошке с картой мира с помощью инструмента Subset & zoom выбираем интересующий нас участок

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

2.4 Кликаем правой кнопкой мыши и в выпадающем меню выбираем Download -> SRTM 3" file. Должно появиться окошко выбора континента, в котором нас инетерсует, понятное дело, Eurasia

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

Необходимые SRTM-данные загрузятся сами из интернета. Если карта покрывает сразу несколько SRTM-тайлов, загружаем их все, а затем объединяем инструментом Merge.

2.5 Жмём кнопицу Open new image

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

В открывшемся окне проводника выбираем созданный ранее файл с расширением .jpw. [B]ВНИМАНИЕ! Открывать надо именно .jpw, а не саму карту. Иначе будут проблемы с привязкой.[/B]

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

2.6 В главном меню выбираем пункт File -> Match other maps -> This coverage area

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

Рельеф и спутниковая фотография должны стать одинакового размера. Проверить совмещение можно, поводив курсором над одной из карт: крестик на второй карте должен повторять все ваши движения.

2.7 В главном меню Modify -> Elevation : Chroma Depth Color или Gray scale. Как показала практика, это не принципиально в общем-то.

[IMG]http://gregory.pp.ru/trash/trainz/tutor/tutor_08.gif[/IMG]

Нажатие на кнопку "z Range" вызывает окошко "Elevation Range For Coloring", в котором нужно выбрать пункт "Map area range". В окошечках Max и Min будут некие цифирки, отражающие минимальную и максимальную высоты на выбранном участке карты. Запомните их, они нам пригодятся в программе HOG.

2.8 Щёлкаем правой кнопкой мыши на карте и в выпадающем меню выбираем Modify map area -> Set map pixel size и в появившемся окошке выставляем значение 10 (метров/пиксел).

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

Операцию надо повторить для карты рельефа и для спутникового снимка.

2.9 Всё, собственно. Сохраняем (File -> Save image) карту и спутник в рабочую директорию программы HOG для проведения дальнейших мероприятий по созданию рельефа.

Damien Zhar 08.04.2009 18:06

Замечательно, хороший туториал. К сожалению ландшафт средне соответствует реальности. И один вопрос, каков максимальный размер текстуры земли в Trainz 2009?

genesis 08.04.2009 19:07

[QUOTE=Damien Zhar;81209]Замечательно, хороший туториал. К сожалению ландшафт средне соответствует реальности.[/QUOTE]
В чем несоответствие? В высотах?
[QUOTE=Damien Zhar;81209]И один вопрос, каков максимальный размер текстуры земли в Trainz 2009?[/QUOTE]
2048х2048

Gregory_777 08.04.2009 19:18

Это ещё не всё, господа. Читайте в следующем номере:
Генерация gnd-файла маршрута и работа с особенностями ландшафта.
Просто силы кончились, допишу завтра ;)

genesis 08.04.2009 19:18

Нашел способ определить диапазон высот фрагмента карты:
[url=http://radikal.ru/F/s51.radikal.ru/i133/0904/be/9fd45479c0a2.jpg.html][img]http://s51.radikal.ru/i133/0904/be/9fd45479c0a2t.jpg[/img][/url]

Gregory_777 08.04.2009 19:35

[B]genesis[/B], спасибо. Эту операцию надо делать на шаге 2.7 - тогда и точность закраски будет намного выше. Отличное дополнение!

Damien Zhar 08.04.2009 21:23

Млин может всё в PDF конвертировать? А также SRTM там какой версии, на [URL]http://srtm.csi.cgiar.org/[/URL] четвёртая.. Также - есть ли возможность интерполяции SRTM файлов для более выссокой точности?

genesis 08.04.2009 22:13

[QUOTE=Damien Zhar;81249]Млин может всё в PDF конвертировать? [/QUOTE]
Думаю лучше пихнуть это на страницы Trainsim FAQ
[QUOTE=Damien Zhar;81249]А также SRTM там какой версии, на [URL]http://srtm.csi.cgiar.org/[/URL] четвёртая.. [/QUOTE]
Любой DEM можно так использовать
[QUOTE=Damien Zhar;81249]Также - есть ли возможность интерполяции SRTM файлов для более выссокой точности?[/QUOTE]
Хог интерполирует. Результат я на скрине показывал

genesis 08.04.2009 22:23

[QUOTE=Damien Zhar;81249][URL]http://srtm.csi.cgiar.org/[/URL][/QUOTE]
Кстати хороший сайт, с него скачал метки для Гугл Земля и скачивать ДЕМ можно прямо оттуда:
[url=http://radikal.ru/F/s47.radikal.ru/i116/0904/7f/882920f0e504.jpg.html][img]http://s47.radikal.ru/i116/0904/7f/882920f0e504t.jpg[/img][/url]
[url=http://radikal.ru/F/s42.radikal.ru/i098/0904/cd/3041812fcfcd.jpg.html][img]http://s42.radikal.ru/i098/0904/cd/3041812fcfcdt.jpg[/img][/url]

Gregory_777 09.04.2009 01:17

Ну давайте я завтра допишу оставшуюся часть, а там посмотрим где выкладывать. Может, у себя на сайте положу. Там лицензия FDL - можно брать изменять и выкладывать где угодно.

Damien Zhar 09.04.2009 01:44

Есть собственный хостинг, где хотелось-бы разместить материалы на русском про Trainz и SRTM итп.. Вот оформления нет.
PS! Судя по скрину, Москва у Альп находится, не меньше гы гы.

Gregory_777 09.04.2009 02:11

Я совершенно официально разрешаю выкладывать данный туториал (посты #63 и #64) на любом хостинге с любыми изменениями и дополнениями на таких же условиях.
Пользуясь случаем выражаю благодарность [B]Wld[/B] и [B]genesis[/B] за помощь в его создании :drinks:


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

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