Утилиты для разработки маршрутов tscli
Добавлено: 19 авг 2016, 13:54
Сегодня решился начать выпускать свой набор утилит для RS.
Утилиты в основном для работы над маршрутом. Пока что добавляю описание только одной команды из набора.
edited: добавлено описание команд конвертации координат.
edited: добавлено описание команды выгрузки фотограифий из Foursquare.
Введение
Почему они есть?
В рамках разработки маршрута сталкиваешься с необходимостью автоматизировать часто выполняющиеся операции. То есть утилиты в основном под себя, но если tscli обретет популярность среди других разработчиков маршрутов, то будут добавляться команды по пожеланиям.
Установка и запуск
1. Скачать и установить Java Runtime. Идем на http://java.com и ставим инсталлятором. Если уже стоит, пропускаем шаг. Нужна версия любая 8.
2. Скачать архив с утилитами https://drive.google.com/open?id=0B5Ndo ... lpqdGFla3c
3. Распаковать в любую удобную папку. Например в D:\tstools\
4. Перейти в "bin" внутри распакованной папки, например D:\tstools\tscli-1.0\bin
5. Открыть командную строку. Меню "Файл - Открыть" командную строку на Windows 10.
6. Запустить нужную утилиту набирая tscli [group] [command] [parameters].
Команды сгруппированы в наборы, например набор для работы с маршрутами имеет имя route.
Для работы с Panoramio - panoramio и так далее. Каждая команда имеет свой набор параметров.
В будущих версиях появится справка по командам.
GUI версии утилит нет и пока не планируется. CLI же
Команды
panoramio getphotos - скачать фотографии около заданной точки по широте-долготе в указанном радиусе
Команда ищет фотографии на сервисе Panoramio.com в определенном радиусе некоторой заданной точки и скачивает в указанный каталог.
Параметры:
--source-point=lon:lat - географические координаты точки
--source-radius=radius - радиус в метрах
--dest-dir= - каталог, куда будут сохранены файлы с изображениями
Пример:
tscli panoramio getphotos --source-point=30.374559:59.905475 --source-radius 100 --dest-dir navalochnaya
Пример скачает фотографии относительно точки 30.374559:59.905475 в радиусе 100 метров в папку navalochnaya относительно текущей папки.
Результатом отработки будет такой набор файлов в каталоге navalochnaya.
Можно садиться и делать здание:)
Указание точки из Google Earth.
Для удобства поддержано указание точки "центра" из Google Earth, а не из командной строки.
Как это работает: выделяем некоторый "placemark" в Google Earth. Выбираем контекстное меню - скопировать. Запускаем команду где вместо координат будет указано специальное значение --source-point=cb. Команда возьмет из буфера обмена координаты выделенной точки.
Пример:
tscli panoramio getphotos --source-point=cb --source-radius=100 --dest-dir dir1
Если в нужном месте нет готового плейсмарка, следует создать свой через Add Placemark и разместить в нужном месте.
Метафайл
Помимо фотографий в папке создается файл с метаданными о скачанных фотографиям (даже два файла, CSV и JSON), в файле лежит информация об авторе, тайтл фотографии, ее координаты и прочее.
Метафайл созданный после запуска примера выше.
Особенности и траблшутинг
1. Указывать координаты надо как долгота двоеточие широта.
2. Разделитель дробной части - точка. Строго.
3. Программа скачивает не более 100 фотографий. Если нужно больше - уменьшайте радиус
4. Радиус это не радиус, а скорее половина длины стороны квадрата, в который вписана окружность с указанным радиусом:) Грубо говоря квадрат, где от центра +/- указанное число метров.
5. Не сохраняются изображения, которые в Google Earth отмечены как безымянные. Panoramio API не отдает их почему-то. Написал разработчикам, жду ответа.
6. Даунлоадер работает в 5 потоков
7. Скачиваются фотографии только оригинального формата (original в API), другие форматы пока не поддержаны.
coords convert2ts- сконвертировать географические координаты в игровые
Команда конвертирует пары географических координат долгота-широта в игровые координаты: идентификатор тайла + координаты внутри тайла.
Параметры:
--source=lon:lat - географические координаты
--route - GUID маршрута, в систему координат которого сконвертировать координаты
Пример:
tscli coords convert2ts --source=30.374559:59.905475 --route=26249b47-3309-41a7-917a-41fbeabcb761
вернет +000000:-000002;19.3656:236.2006, это означает что ваша точка находится на тайле +000000:-000002 и внутри тайла по оффсету 19м, 236м.
Система координат TS устроена так: ось X - запад-->восток; ось Z - юг-->север. То есть тайл +0:-2 это 2 тайла на юг от ориджина. Внутри тайла оффсет считается от югозападного угла.
Особенности и траблшутинг
1. Можно конвертировать несколько точек за раз передавая --source=lon:lat сколько угодно раз. Каждая сконвертированная точка будет возвращена на отдельной строке вывода команды.
2. Команда ищет путь к игре в реестре. Если на вашей системе с этим возникают проблемы, передавайте путь руками в параметре --rs-directory=полный путь к папке Railworks
3. Поддержаны только маршруты распакованные как обычные папки, архивы пока не поддержаны
coords convert2geo - сконвертировать игровые координаты в географические
Команда конвертирует четверки игровых координат (идентификатор тайла по X, Z + офсет внутри тайла x,z) в географические долгота-широта
Параметры:
--source=tileX:tileZ;x;z - игровые координаты
--route - GUID маршрута, в систему координат которого сконвертировать координаты
Пример:
tscli coords convert2geo --source=-000001:-000002;19.3656:236.2006 --route=26249b47-3309-41a7-917a-41fbeabcb761
вернет 30.34599:59.91211, это и есть географические координаты точки
Особенности и траблшутинг
1. Можно конвертировать несколько точек за раз передавая --source сколько угодно раз. Каждая сконвертированная точка будет возвращена на отдельной строке вывода команды.
2. Команда ищет путь к игре в реестре. Если на вашей системе с этим возникают проблемы, передавайте путь руками в параметре --rs-directory=полный путь к папке Railworks
3. Поддержаны только маршруты распакованные как обычные папки, архивы пока не поддержаны
4. В TS используется самая что на есть обычная UTM проекция. Географические координаты центра записаны в RouteProperties.xml, равно как и офсет UTM. Размер тайла фиксирован - 1024 метра, поэтому несложными преобразованиями можно конвертировать координаты из одного представления в другое.
foursquare getphotos - скачать фотографии около заданной точки по широте-долготе в указанном радиусе
Команда ищет фотографии на сервисе Foursquare в определенном радиусе некоторой заданной точки и скачивает в указанный каталог.
Поскольку человеческая тяга к тщеславию неискоренима, фотографий с чекинов гораздо больше нежели фотографий с Panoramio Но и фотографии качества соответствующего, хотя кадры часто более интересные и жизненные так сказать.
Параметры:
--source-point=lon:lat - географические координаты точки
--source-radius=radius - радиус в метрах
--dest-dir= - каталог, куда будут сохранены файлы с изображениями
Пример:
tscli foursquare getphotos --source-point=30.374559:59.905475 --source-radius 100 --dest-dir navalochnaya
Пример скачает фотографии относительно точки 30.374559:59.905475 в радиусе 100 метров в папку navalochnaya относительно текущей папки.
Метафайл
Помимо фотографий в папке создается файл с метаданными о скачанных фотографиям (даже два файла, CSV и JSON), в файле лежит информация об авторе, тайтл фотографии, ее координаты и прочее.
Особенности и траблшутинг
1. Команда работает полностью аналогично panoramio getphotos
2. Программа скачивает все фотографии в радиусе, ограничений не увидел
3. Радиус это радиус=)
4. Скачиваются фотографии только оригинального формата (original в API), другие форматы пока не поддержаны.
Техподдержка и обратная связь
https://telegram.me/kkorsakoff
http://route78.blogspot.ru
Ботаника
Структура папок tscli
\bin - исполняемые файлы утилиты
\bin\tscli.bat - исполняемый файл под Windows
\bin\tscli - исполняемый файл под Linux (да, работать будет, но не знаю кому это пригодится)
\lib\ - используемые сторонние библиотеки и код команд
\plugins\ - сюда можно складывать реализации своих команд (пока не буду об этом)
Утилиты в основном для работы над маршрутом. Пока что добавляю описание только одной команды из набора.
edited: добавлено описание команд конвертации координат.
edited: добавлено описание команды выгрузки фотограифий из Foursquare.
Введение
Почему они есть?
В рамках разработки маршрута сталкиваешься с необходимостью автоматизировать часто выполняющиеся операции. То есть утилиты в основном под себя, но если tscli обретет популярность среди других разработчиков маршрутов, то будут добавляться команды по пожеланиям.
Установка и запуск
1. Скачать и установить Java Runtime. Идем на http://java.com и ставим инсталлятором. Если уже стоит, пропускаем шаг. Нужна версия любая 8.
2. Скачать архив с утилитами https://drive.google.com/open?id=0B5Ndo ... lpqdGFla3c
3. Распаковать в любую удобную папку. Например в D:\tstools\
4. Перейти в "bin" внутри распакованной папки, например D:\tstools\tscli-1.0\bin
5. Открыть командную строку. Меню "Файл - Открыть" командную строку на Windows 10.
6. Запустить нужную утилиту набирая tscli [group] [command] [parameters].
Команды сгруппированы в наборы, например набор для работы с маршрутами имеет имя route.
Для работы с Panoramio - panoramio и так далее. Каждая команда имеет свой набор параметров.
В будущих версиях появится справка по командам.
GUI версии утилит нет и пока не планируется. CLI же
Команды
panoramio getphotos - скачать фотографии около заданной точки по широте-долготе в указанном радиусе
Команда ищет фотографии на сервисе Panoramio.com в определенном радиусе некоторой заданной точки и скачивает в указанный каталог.
Параметры:
--source-point=lon:lat - географические координаты точки
--source-radius=radius - радиус в метрах
--dest-dir= - каталог, куда будут сохранены файлы с изображениями
Пример:
tscli panoramio getphotos --source-point=30.374559:59.905475 --source-radius 100 --dest-dir navalochnaya
Пример скачает фотографии относительно точки 30.374559:59.905475 в радиусе 100 метров в папку navalochnaya относительно текущей папки.
Результатом отработки будет такой набор файлов в каталоге navalochnaya.
Можно садиться и делать здание:)
Указание точки из Google Earth.
Для удобства поддержано указание точки "центра" из Google Earth, а не из командной строки.
Как это работает: выделяем некоторый "placemark" в Google Earth. Выбираем контекстное меню - скопировать. Запускаем команду где вместо координат будет указано специальное значение --source-point=cb. Команда возьмет из буфера обмена координаты выделенной точки.
Пример:
tscli panoramio getphotos --source-point=cb --source-radius=100 --dest-dir dir1
Если в нужном месте нет готового плейсмарка, следует создать свой через Add Placemark и разместить в нужном месте.
Метафайл
Помимо фотографий в папке создается файл с метаданными о скачанных фотографиям (даже два файла, CSV и JSON), в файле лежит информация об авторе, тайтл фотографии, ее координаты и прочее.
Метафайл созданный после запуска примера выше.
Особенности и траблшутинг
1. Указывать координаты надо как долгота двоеточие широта.
2. Разделитель дробной части - точка. Строго.
3. Программа скачивает не более 100 фотографий. Если нужно больше - уменьшайте радиус
4. Радиус это не радиус, а скорее половина длины стороны квадрата, в который вписана окружность с указанным радиусом:) Грубо говоря квадрат, где от центра +/- указанное число метров.
5. Не сохраняются изображения, которые в Google Earth отмечены как безымянные. Panoramio API не отдает их почему-то. Написал разработчикам, жду ответа.
6. Даунлоадер работает в 5 потоков
7. Скачиваются фотографии только оригинального формата (original в API), другие форматы пока не поддержаны.
coords convert2ts- сконвертировать географические координаты в игровые
Команда конвертирует пары географических координат долгота-широта в игровые координаты: идентификатор тайла + координаты внутри тайла.
Параметры:
--source=lon:lat - географические координаты
--route - GUID маршрута, в систему координат которого сконвертировать координаты
Пример:
tscli coords convert2ts --source=30.374559:59.905475 --route=26249b47-3309-41a7-917a-41fbeabcb761
вернет +000000:-000002;19.3656:236.2006, это означает что ваша точка находится на тайле +000000:-000002 и внутри тайла по оффсету 19м, 236м.
Система координат TS устроена так: ось X - запад-->восток; ось Z - юг-->север. То есть тайл +0:-2 это 2 тайла на юг от ориджина. Внутри тайла оффсет считается от югозападного угла.
Особенности и траблшутинг
1. Можно конвертировать несколько точек за раз передавая --source=lon:lat сколько угодно раз. Каждая сконвертированная точка будет возвращена на отдельной строке вывода команды.
2. Команда ищет путь к игре в реестре. Если на вашей системе с этим возникают проблемы, передавайте путь руками в параметре --rs-directory=полный путь к папке Railworks
3. Поддержаны только маршруты распакованные как обычные папки, архивы пока не поддержаны
coords convert2geo - сконвертировать игровые координаты в географические
Команда конвертирует четверки игровых координат (идентификатор тайла по X, Z + офсет внутри тайла x,z) в географические долгота-широта
Параметры:
--source=tileX:tileZ;x;z - игровые координаты
--route - GUID маршрута, в систему координат которого сконвертировать координаты
Пример:
tscli coords convert2geo --source=-000001:-000002;19.3656:236.2006 --route=26249b47-3309-41a7-917a-41fbeabcb761
вернет 30.34599:59.91211, это и есть географические координаты точки
Особенности и траблшутинг
1. Можно конвертировать несколько точек за раз передавая --source сколько угодно раз. Каждая сконвертированная точка будет возвращена на отдельной строке вывода команды.
2. Команда ищет путь к игре в реестре. Если на вашей системе с этим возникают проблемы, передавайте путь руками в параметре --rs-directory=полный путь к папке Railworks
3. Поддержаны только маршруты распакованные как обычные папки, архивы пока не поддержаны
4. В TS используется самая что на есть обычная UTM проекция. Географические координаты центра записаны в RouteProperties.xml, равно как и офсет UTM. Размер тайла фиксирован - 1024 метра, поэтому несложными преобразованиями можно конвертировать координаты из одного представления в другое.
foursquare getphotos - скачать фотографии около заданной точки по широте-долготе в указанном радиусе
Команда ищет фотографии на сервисе Foursquare в определенном радиусе некоторой заданной точки и скачивает в указанный каталог.
Поскольку человеческая тяга к тщеславию неискоренима, фотографий с чекинов гораздо больше нежели фотографий с Panoramio Но и фотографии качества соответствующего, хотя кадры часто более интересные и жизненные так сказать.
Параметры:
--source-point=lon:lat - географические координаты точки
--source-radius=radius - радиус в метрах
--dest-dir= - каталог, куда будут сохранены файлы с изображениями
Пример:
tscli foursquare getphotos --source-point=30.374559:59.905475 --source-radius 100 --dest-dir navalochnaya
Пример скачает фотографии относительно точки 30.374559:59.905475 в радиусе 100 метров в папку navalochnaya относительно текущей папки.
Метафайл
Помимо фотографий в папке создается файл с метаданными о скачанных фотографиям (даже два файла, CSV и JSON), в файле лежит информация об авторе, тайтл фотографии, ее координаты и прочее.
Особенности и траблшутинг
1. Команда работает полностью аналогично panoramio getphotos
2. Программа скачивает все фотографии в радиусе, ограничений не увидел
3. Радиус это радиус=)
4. Скачиваются фотографии только оригинального формата (original в API), другие форматы пока не поддержаны.
Техподдержка и обратная связь
https://telegram.me/kkorsakoff
http://route78.blogspot.ru
Ботаника
Структура папок tscli
\bin - исполняемые файлы утилиты
\bin\tscli.bat - исполняемый файл под Windows
\bin\tscli - исполняемый файл под Linux (да, работать будет, но не знаю кому это пригодится)
\lib\ - используемые сторонние библиотеки и код команд
\plugins\ - сюда можно складывать реализации своих команд (пока не буду об этом)