Live GPS Tracking
https://livegpstracks.com/forum/

Не работает функция "Показывать направление движения".
https://livegpstracks.com/forum/viewtopic.php?f=38&t=1146
Страница 1 из 1

Автор:  zakat [ 14 мар 2018, 22:39 ]
Заголовок сообщения:  Не работает функция "Показывать направление движения".

Тариф "Бесплатный". Проблема в следующем.
Почему-то на сайте, при построении трека не работает функция "Показывать направление движения".
Галочку ставлю, масштабы разные выбираю (от 1 до...) - рисует просто синий трек, а красные стрелочки не показывает хоть ты лопни.
На демо трекере все работает.

Автор:  zakat [ 15 мар 2018, 00:15 ]
Заголовок сообщения:  Re: Не работает функция "Показывать направление движения".

zakat писал(а):

............На демо трекере все работает.

Хотя сейчас еще раз поигрался с демо трекером и увидел такую штуку.
На дневном треке длинной примерно 260 км., имеются стрелочки направления в количестве всего 9 штук.
При чем на отдельных участках где на общем треке нет стрелочек, там при генерации этого участка длиной около 100 км. рисуется всего одна стрелочка на весь этот участок.
Правильно ли моё предположение, что стрелочки направления начинают рисоваться только на очень длинных треках, размером от десятков и сотен километров?

Автор:  livegps [ 15 мар 2018, 09:25 ]
Заголовок сообщения:  Re: Не работает функция "Показывать направление движения".

zakat писал(а):
Правильно ли моё предположение, что стрелочки направления начинают рисоваться только на очень длинных треках, размером от десятков и сотен километров?

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

У демо трекера отображается довольно много стрелок:
Изображение
Вложение:
demo_arrows.png [95.51 KiB]
Скачиваний: 0

Автор:  zakat [ 15 мар 2018, 18:28 ]
Заголовок сообщения:  Re: Не работает функция "Показывать направление движения".

Спасибо, понятно. Значит программа решила, что я не достаточно напетлял тестируя трекер в окрестностях своего дома. :D
Хорошо. В скором времени попробуем пройти проверку в "боевых" условиях.

Но, тогда вот еще момент.
На вашей картинке, на первом участке трека который идет до Туапсе изображено 6 стрелочек, что вполне нормально на данном масштабе карты. А на втором участке, от Туапсе до автомобиля явный перегруз стрелочек потому, что там дорога петляет как змея и программа лепит стрелки на каждом повороте не учитывая масштаб карты так, что самого трека не видно. Как-то это не совсем правильным кажется. Что-то в алгоритме отображения стрелок явно не так.
А не так вот, что. ИМХО.

По всей видимости у вас алгоритм прорисовки стрелочек один на весь трек, не зависимо от масштаба карты. Допустим отрисовалось 50 стрелочек на весь трек. Так эти 50 стрелочек и показываются на любых масштабах, при чем в одних и тех же местах. Это конечно проще, но крайне не удобно для пользователя.

В идеале алгоритм прорисовки стрелочек в подобных картографических программах должен быть для каждого масштаба свой. Что бы в каждом масштабе рисовались свои стрелки. И при этом на каждом масштабе должно быть ограничение на количество стрелок на единицу расстояния, что бы не загромождать трек.

Это например как на любых электронных картах. При изменении масштаба, меняется и количество отображаемых населенных пунктов таким образом, что бы карта выглядела максимально информативно, но при этом не загромождала карту разными надписями.
А в совсем крутых сервисах есть даже пользовательские настройки которые позволяют самому выбрать количество информации отображаемой на карте "больше" - "меньше".

Автор:  livegps [ 15 мар 2018, 18:44 ]
Заголовок сообщения:  Re: Не работает функция "Показывать направление движения".

Не в порядке обсуждения, а для информации.

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

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

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

Сравнение с картами и объектами на них некорректно, т.к. трек это динамическая информация, меняющаяся с каждой секундой, а карта отрендерена один раз и показывается статически.

Автор:  zakat [ 19 мар 2018, 12:26 ]
Заголовок сообщения:  Re: Не работает функция "Показывать направление движения".

livegps писал(а):
Не в порядке обсуждения, а для информации.

Да спасибо. С данным вопросом в этой теме все понятно.
Но все же думаю стоит обсудить данный вопрос по алгоритму расчета стрелочек в соответствующей теме.
Я подготовлю презентацию с красивыми картинками и отпишусь.

Автор:  zakat [ 19 мар 2018, 14:24 ]
Заголовок сообщения:  Re: Вопросы, улучшения и баги в работе сайта

Извините господа.
Что-то не получается вставить картинку, поэтому попытаюсь объяснить на пальцах.
Изображение
Функция "показывать направление" имеет ряд недостатков.
Она рассчитывается один раз и показывается на всех масштабах одинаково, что приводит к следующим возможным неудобствам.
1. На крупных масштабах при довольно равномерном движении трекера можно не встретить вообще ни одной стрелочки на протяжении сотни километров.
2. В то же время на извилистых дорогах, на мелких масштабах, трек может быть усеян стрелочками так, что самого трека вообще не будет видно и смысл этих стрелочек пропадает вовсе.

Каким образом решена эта проблема на других мониторинговых ресурсах?
Во первых анализ показал, что такая функция отображения стрелочек, рисуется только на самых крупных 2-3-х масштабах. Наверное разработчики считают, что на более мелких масштабах эта функция не нужна. Потом стрелки могут отображаться только на очень больших участках перерыва в передаче данных, что бы было понятно где последний раз видели трекер и в каком направлении он потом "улетел".

Во вторых. Стрелки рассчитываются сервером, но ни какой задержки не наблюдается. Потому, что сервер рассчитывает в данный момент только тот участок который отображается на экране. Будь то 100 метров или 1000 километров. А вот программистами при расчете похоже задан такой алгоритм который считает, что 3-4-х стрелок на экран будет достаточно, что бы показать основное направление, и при этом не замусоривать экран.
В принципе все красиво работает.

Автор:  livegps [ 20 мар 2018, 16:54 ]
Заголовок сообщения:  Re: Вопросы, улучшения и баги в работе сайта

zakat писал(а):
Каким образом решена эта проблема на других мониторинговых ресурсах?
Во первых анализ показал, что такая функция отображения стрелочек, рисуется только на самых крупных 2-3-х масштабах. Наверное разработчики считают, что на более мелких масштабах эта функция не нужна. Потом стрелки могут отображаться только на очень больших участках перерыва в передаче данных, что бы было понятно где последний раз видели трекер и в каком направлении он потом "улетел".

Во вторых. Стрелки рассчитываются сервером, но ни какой задержки не наблюдается. Потому, что сервер рассчитывает в данный момент только тот участок который отображается на экране. Будь то 100 метров или 1000 километров. А вот программистами при расчете похоже задан такой алгоритм который считает, что 3-4-х стрелок на экран будет достаточно, что бы показать основное направление, и при этом не замусоривать экран.
В принципе все красиво работает.

Сожалеем, этого не будет в силу множества причин. Так же принципиально не будет подгрузки и отображения трека частями.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/