0
- 22.05.2015 - 18:11
|
В общем, у многих наверняка есть архив своих (и не очень) GPS треков. У меня вот скопилось около трех сотен штук того добра. При планировании очередного похода возникает надобность найти все треки которые затрагивают интересующий регион. Кто и как решает эту проблему? Очевидные варианты, как разложить по папочкам - можно не указывать 8), т.к. больше интересют технические средства наподобие: | | |||
161
- 26.05.2015 - 20:00
| 150-PNL >Все верно говоришь, просто неточности в формулировках вызывают непонятки в спорах. Самый крайний пример - ActivePerl. Я немного использовал скрипты на Perl и именно под Виндой, так смею заверить что без вебсервера (локального, ессно) обойтись не удастся. Но это все к теме не имеет отношения :) | | |||
162
- 26.05.2015 - 20:08
| Кстати, в САСе добавить такую кнопочку, по-моему, раз плюнуть для его авторов, а? :) | | |||
163
- 26.05.2015 - 20:09
| 161 - Зачем веб-сервер? Кучу скриптов использую у себя в Windows на перле. Они просто консольные - выдают результат на экран консоли или в файл, или занимаются сортировкой файлов - запустил и скрипт скинул в подпапочку то что нашел. Зачем тут веб? | | |||
164
- 26.05.2015 - 21:26
| Зачем пользователю консоль :) Программист один, пользователей много. Все - для блага человека. | | |||
165
- 26.05.2015 - 21:43
| Множество программ (даже в Windows) - консольные. Не вижу проблемы. Если программе ничего не надо показывать, а только отсортировать папку с файлами, то зачем делать интерфейс? | | |||
166
- 26.05.2015 - 21:44
| Если это нужно многим, то лучше сделать сайт. А если оно надо одному человеку один раз запустить, то на фига? | | |||
167
- 26.05.2015 - 22:24
|
>Можешь придумать алгоритм, который сможет это делать, не храня все точки всех треков в базе данных? (Я без подколки - серьезно). >1. Сканируем один раз все имеющиеся треки, определяем вокруг каждого описанный прямоугольник, заносим его координаты в базу данных вместе с именем/номером этого трека. Собственно программа скриншот которой в заголовке так и работает > Для каждого отобранного трека открываем файл с треком, определяем число точек, если их слишком много - прорежаем (берем не каждую, а каждую вторую, третью, а еще лучше каждую N/100-ю - смотря как реализуем), для каждой просмотренной точки трека определяем расстояние до целевой точки - при таком масштабе можно по эвклидовой-пифагорийской формуле (корень из суммы квадратов катетов), если нашлась точка с расстояним меньшим N км - выводим имя файла такого трека - он нам подходит. тут можно прикрутить R*-tree для трека (на работе я в нем хранил "прямоугольники" описанный вокруг отрезка из двух точек трека, без всяких дальнейших оптимизаций) и его индекс сбросить в файл (также это же дерево можно использовать для прямоугольников описывающих треки) на работе я делал чуть проще - у нас был postgresql который в select позволял http://postgis.net/docs/manual-2.1/S..._Spheroid.html и емнип строить по этому индексы, вроде для mysql тоже что-то есть, есесно оптимизировать обрезая по градусам тоже стоит, хотя НМВ лучше хранить проецированные координаты | | |||
168
- 26.05.2015 - 22:25
| да, в postgres хранились точки треков и это было достаточно быстро даже на какомто там core2duo (машина разработчика) хотя есесно крутилось на нормальном сервере. | | |||
169
- 26.05.2015 - 22:45
| 168 - Ну просто тысяча треков по тысяче точек - это миллион точек в базе. Хотя... | | |||
170
- 26.05.2015 - 22:57
| у нас по 2 миллиона точек прибавлялось в день и в базе лежало этого добра за полгода в одной таблице без партицирования, единственно там надо было очень аккуратно с запросами и индексами - промах и запрос может выполняться сутками вместо миллисекунд. | | |||
171
- 26.05.2015 - 23:00
| хотя если для практических целей можно фильтровать треки (есть https://ru.wikipedia.org/wiki/Алгори..._Пекера ) | | |||
172
- 26.05.2015 - 23:18
|
0-wayerr > В общем, у многих наверняка есть архив своих (и не очень) GPS треков. У меня вот скопилось около трех сотен штук того добра. Лучше конечно свои. А то рисуют всякие идиоты, разбери потом... При планировании очередного похода возникает надобность найти все треки которые затрагивают интересующий регион. Кто и как решает эту проблему? Написал базу и клиента под нее, туда же подлил данные SRTM, в результате побочная функция в том, что можно нарисовать трек в озике, импортировать-экспортировать, и получить трек с высотами. | | |||
173
- 26.05.2015 - 23:23
| 169-PNL > чо там этих точек, данные крохотные, пусть хоть миллиарды... миллион вообще не таблица для современной БД, вон даже в экселе можно учитывать : ) | | |||
174
- 26.05.2015 - 23:25
| ЗЫ: туда же данные о путевых точках, тоже полезно. Можно с фотками. Особенно с теми у которых координаты, с canon 6д например если. | | |||
175
- 27.05.2015 - 03:25
| Цитата:
На серьёзных SQL серверах такая штука UDF=user defined function. Пишется на любом языке программирования. На этапе начального ввода естественно вручную примерно так 50_48_00_N_42_01_00_E=Урюпинск. А как база набъется содержимым, можно брать из справочника (в терминах 1С) Как-то замерил я время вставка 5003 файлов из delphiworld Каждый файл считывался, удалялась HTML шелуха, описание и тело записывались. 46 sec all files Процессор 800мГц. Правильно: один градус по широте, те по параллели.Фактический километраж больше из-за неизбежной извилистости троп.И что здесь обсуждается - веб-проект или своя персональная база? Лёгким движением руки набиваются координаты точек ограничивающего многоугольника, автоматически берутся его ограничивающие точки на севере, востоке, юге и западе. После чего используется стандартный алгоритм принадлежности точки многоугольнику. Цитата:
Цитата:
А инет использовать для обмена информацией. Держу карту в голове. Очень удобно. | | |||
176
- 27.05.2015 - 08:39
| Зачем так усложнять? Можно просто взять каждую вторую точку, на практике получится не сильно хуже. | | |||
177
- 27.05.2015 - 08:40
| Я говорю о себе. Я пишу на Перле. Как пример. Выдыхай. | | |||
178
- 27.05.2015 - 08:41
| Так вот мы с автором ищем способ, не требующий ничего вводить вручную. | | |||
179
- 27.05.2015 - 08:43
| Ну да, я их для этого и использую. И? В чем смысл твоего ответа? | | |||
180
- 27.05.2015 - 08:44
| Один градус по параллели - это один градус долготы. Не путай. | | |||
181
- 27.05.2015 - 08:50
|
А никто не думал над задачей генерации новых треков? Допустим, надо пройти из А в Б оптимальным путем. Задаются веса перемещения по горизонтали и вертикали, кожффициент сложности уклона. И вперед. Имеем связный граф, дальше дело техники. Я решал такую задачу. Но конечно программа не учитывает буреломы, заросли ганжубаса и логово медведя. Она тупо анализирует поверхность и выдает оптимальный по стоимости путь. Следствие: эту же функцию можно использовать для оценки стоимости любого имеющегося реального трека, в т.ч. и рисованного в озике. Например, в часах. Полезно при планировании маршрута. Стоит немного подобрать весовые коэффициенты, и результаты вполне правдоподобны. ЗЫ: для сильных программистов, база на MSSQL, 181 млн точек высот, это горный Кавказ от Новоросса до Эльбруса. Занимает 10 GB. Шевелится удобоваримо на домашнем сервере. Если использовать оракл или постгре и нормальное железо, можно вообще всю Россию грузануть, а если кластер, всю планету. Ну, почти всю, SRTM не сканировал поверхность в приполярных широтах. Впрочем база тут не нужна, можно тупо зачитать растр в память и считать там. Полный объем незапакованных данных занимает 42 GB, что вполне по силам любому приличному серверу. Интересно, что до сих пор никто толком не игрался с этими данными, хотя они лежат в свободном доступе на сайте NASA. | | |||
182
- 27.05.2015 - 09:08
| 181-Обормот >Есть люди, считающие горный туризм спортом, есть такие, кто считает это видом досуга/отдыха.... оказывается, есть еще и программисты :) | | |||
183
- 27.05.2015 - 09:26
| 182 - Я скажу больше, в туризме особенно много программистов. | | |||
184
- 27.05.2015 - 10:33
| 183-PNL >Я не о том, а о подходе. Надеюсь, анекдоты о программистах (как вариант - о математиках) хорошо известны. ИМХО, пост 181 - один из них :) | | |||
185
- 27.05.2015 - 12:27
| 184 - Не понял. Нормальный пост. | | |||
186
- 27.05.2015 - 12:29
|
181-Обормот > SRTM srtm очень-очень кривой, классическая его проблема - там нет обрывов | | |||
187
- 27.05.2015 - 12:29
| 185-PNL > | | |||
188
- 27.05.2015 - 12:48
| 187 - И? | | |||
189
- 27.05.2015 - 12:56
| Ну а смысл этой задачи в такой постановке? у нас есть тропы и дороги - если их учитывать то задача сводится к уже решенной прокладке маршрута (навигаторы это уже умеют), если игнорировать тропы и дороги - то задача бессмысленна | | |||
190
- 27.05.2015 - 12:56
|
"А никто не думал над задачей генерации новых треков?" А никто не думал, что будет, когда кучу треков нагенерят и зальют в сеть? И что будет с теми, кто попытается ими воспользоваться. Ну и давайте будем использовать правильные термины: - сгенерить можно не трек, а маршрут - трек - это уже кем-то пройденный маршрут. | | |||
191
- 27.05.2015 - 13:08
| 188-PNL >бывает... | | |||
192
- 27.05.2015 - 13:31
| Кстати, увидеть на карте сразу ВСЕ треки из Кавказии можно по ссылке http://caucasia.ru/site/tracks но там пипец :) | | |||
193
- 27.05.2015 - 13:55
| Добавил на главную Кавказии карту, кликнув в любом месте которой, увидите список треков, которые проходят рядом (в 1 км). Пока без отображения этих треков на карте (просто список в попапе). Сейчас думаю над тем, чтобы их еще и одновременно на карте выводить разными цветами. | | |||
194
- 27.05.2015 - 13:59
| Загрубил до 3 км. | | |||
195
- 27.05.2015 - 14:00
| Длинный список только не помещается, надо в попапе как-то прокрутку сделать и карту раскрывающуюся на весь экран... | | |||
196
- 27.05.2015 - 14:03
|
"А никто не думал над задачей генерации новых треков?" Чисто математически задача не очень сложная, но бесполезная. Если выбирать супер оптимально сгенерированный по карте трек - 10 км или в обход извилисто по тропе 15 км, то я выберу второе. | | |||
197
- 27.05.2015 - 17:27
| Этот язык совершенно не подходит для обработки чисел. В том, что вместо хранения кучи файлов, + к ним ещё файлы,.. надо аккуратно придумать структуру базы, залить в неё данные и написать хорошую морду. Вот это и надо обсуждать, а не спорить о единицах измерения близости.Ещё раз, откуда возьмутся имена объектов?Я не путаю, а опускаю тривиальную информацию.Как говорят французы а на фуа? Уже доступны карты 250м.ходят для удовольствия, а не оптимальности. Ведь Эльбрус и с самолета видно здорово. А всяческие коэффициенты для разных людей разные. Для большинства легчайший путь из Башиля в Сванетию через Нарзанный+ Твибер, а для меня через Лычат. | | |||
198
- 27.05.2015 - 19:43
| Генерить трек можно там, где заведомо нет проторенных путей, а путь надо проложить. Задача больше промышленная наверное. Но я привел следствие, на которое мало кто обратил внимание. Просто хранить треки скирдованными в кучу мало смысла, их хотелось бы использовать для получения нового знания, когда их много. | | |||
199
- 27.05.2015 - 22:25
| Трек - результат похода. Соответственно начинается всё с придумыванич - а куда хорошо пойти. А для этого надо как минимум много смотреть на карты. Так что проход по непроторенным офф топ. О чём? Возьми на caucatalog картк и нарисуй на ней упомянутые 500-700 треков. Потом долго медитируй. | | |||
200
- 28.05.2015 - 11:12
| Короче, сделал то, что надо было автору - кликаете на карту на главной caucasia.ru и видите как список треков, проходящих мимо этой точки, так и сами треки разным цветом грубо на карте. Это как раз то, чего не хватает сайту gpsies. Сейчас только всплывающий popup со списком треков закрывает полкарты, буду менять дизайн сегодня (чтобы как у викимапии и осм было - большая карта, а остальные разделы - пункты меню вверху). | |
| Интернет-форум Краснодарского края и Краснодара |