Как получить в телефоне карту лыжных трасс Швеции? Для примера, с норвежским сайтом https://www.skisporet.no/map все понятно - с него можно скачать треки трасс и использовать в любом своем приложении, либо поставить приложение skisporet и видеть свое местоположение на трассе в нем. А вот со шведским https://xn--lngdspr-5wao.se/ проблема - как треки с него скачать я не нашел, приложения такого нет, ни одного контакта на сайте тоже нет...
Треков нет. И выгрузить их никак. Там на сайте используется интерактивная полигональная картография: ну т.е. каждый маршрут лыжной трассы состоит из независимых объектов (прямоугольников), привязанных по координатам. В теории их можно сконвертировать в gpx (трек Garmin), но на практике такой gpx не воспримется никакими устройствами в виде маршрута.
Как сконвертировать? Уж с готовым GPX я справлюсь. Мне как маршрут он и не нужен. Я его наложу на карту в Locus Maps и таким образом смогу видеть свое местоположение на трассе.
Вы справляетесь с gpx, имеющим теги <trkseg>-<trkpt> Т.е. содержащим именно трэк. Полигональный gpx локус не воспримет нормально просто потому,ч то там трека нет.
Файл 00.gpx нормально отображается. 01.gpx нет, но там я и не вижу вообще линии или многоугольника, вижу только описание области, в которой они должны находиться.
Файл 00 Содержит исходные точки отслеживания (планировщика) - <rtept> Это совсем не одно и то же, что и точки маршрута - <trckpt>, которые сегминтируются в <trkseg> и уже сегменты объединяются в сам трек - <trk> Cписок локуса содержит значительно больше инструкций, потому он их отображает. Но не воспринимает как трек, а именно как планировщик.
Если разницы нет, то достаточно хоть простого скриншота сделать и привязать к локусу. Там всё просто, как дважды-два: Локус для растровых карт использует sqllite любую картинку прописываем в sqllite геопривязкой - и вот готовая карта, которую локус отобразит - достаточно положить в его каталог maps
Если лень руками - загоняем скриншот в SASplanet и оттуда экспортируем в sqllite и опять копируем в локус.
Но это - НЕ ТРЕК.
01.gpx нет, но там я и не вижу вообще линии или многоугольника, вижу только описание области, в которой они должны находиться.
Именно потому, что Файл 01 - это как раз полигон. Т.е. то, о чем я говорил.
как планировщик и не нужно, достаточно только отображения на карте. Если привязывать скриншоты, то получится карта только одного масштаба, ее невозможно будет ни увеличить ни уменьшить. А ведь уже есть исходная хорошая карта с openandromaps, на нее бы только наложить трассы. В примере файла 01 в kml я вижу 5 точек, а в примере его же в gpx не было ни одной.
Что по этой ссылке? К сожалению изучать под 100 страниц нет возможности.
Мануал. Это наш форум сас-планетчиков )
А на векторных картах на разные слои и наполнение разное
Векторные карты - прошлый век. Весь нормальный мир давно перешел на растр. Тот же BirdEye в гармине. 1. Берешь полноценный растр настоящих топографических карт с разными масштабами. 2. Привязываешь их по гео. 3. Получаешь в любом нафигаторе - хоть локусе, хоть гармине, хоть где - полноценную топографию.
Мне кажется, что для такой задачи гораздо проще нарисовать сам трек в любой трек-рисовалке или вообще в тексте/екселе:
Если на шведском сайте включить просмотр кода страницы, то там видно координаты полигонов. Эти координаты тупо откопипастить в gpx формат руками - и вот готовый трек gpx
Класс leaflet-interactive содержит координаты поинтов. Т.е. щелкая мышой по строчкам классов получаем координаты точек нарисованной линии. Копипастим в куда удобно и потом в gpx и имеем трек. Вопрос только в том, что за координаты указаны. Это могут быть относительные центра карты, или глобальные по её краю, или 100500 вариантов. Самый простой путь - определить геокоординаты любой точки линии и проверить остальные на +/- смещения.
Например: (выделенный фрагмент) 323L1076 и следующая точка в строке 323L1082 сравнивая с предыдущим классом, чей полигон помечается ниже и левее и имеет точки 532L1069 и 547L1059 и 552L1059 очень похоже на: до L - широта, после - долгота Во всяком случае линия в полигоне 532L1069 547L1059 552L1059 - как раз нарисована сначала слева направо (с запада на восток), а потом на север (наверх) без изменения долготы "1059" - маленький кусочек с острым углом. Т.е. проблема сводится к преобразованию координат 323L1076 в широта/долгота
Ну и получив таким образом точки и загнав их в любой gpx как trkpnt получаем идеальный трек.
Где hassela - это трасса 8 - масштаб карты 12 - цена смещения 16.71535 и 62.06675 - координаты центра данной карты.
Тогда координаты полигонов/треков трассы - это пиксельные смещения относительно центра карты. С помощью любого конвертера или экселя легко преобразовываются смещения в координаты и строится трек. 😉
не похоже, что 8 это масштаб. Я перешел по этой ссылке и пробовал масштабировать - 8 не меняется, а меняется как раз 12. Т.е. масштаб это после / Что такое 8 неясно. А как можно вычислить эти смещения не понял.
Тогда еще проще. Кстати /8./ можно вообще из ссылки удалить)))
Проще вот в чем: Тогда строчка ссылки это: /12,долгота_центра,широта_центра
Где 12 (14,13,10,11 и тд) Это z тейлов, т.е. уровень увеличения - почти, как масштаб, но в колисественном эквиваленте. Т.е. количество тейлов (плиток картинки). Ну как у гармина или опенстрит z8, z10 и тд Тут подробно: https://wiki.openstreetmap.org/wiki/Zoom_levels
Формулы преобразования z есть и много описаны. И тогда просто и экселя хватит для получения координат точек полигонов.
Т.е. Точка 532L1069 в геокоординатах это будет точка: Широта_центра+к*532, Долгота_центра+к*1069
Где к получается по формуле для данного разрешения (12,14 и тд) Эти преобразования есть в интернете. И более того в самой библиотеке leaflet есть готовая функция преобразования: ей отдаются координаты центра карты и смещения, а возвращает она геокоординаты
Ну т.е. грубо говоря Z - это уровень размера плитки картинки в градусах. На вики там описано. Например z14 это 1:35000 или 1 плитка = 0.022 градуса долготы
Для примера, с норвежским сайтом
А вот со шведским