nnngrach / anygis_maps Goto Github PK
View Code? Open in Web Editor NEWXML: Ready-to-use files of map preset for mobile navigation apps
Home Page: https://anygis.ru
XML: Ready-to-use files of map preset for mobile navigation apps
Home Page: https://anygis.ru
Strava heatmaps no longer work because of update 3.38 in Locus. Someone already provides a description for a fix here.
I came here from http://www.alpinequest.net/forum/viewtopic.php?p=13389
looking for Taiwan maps, but cannot find any.
It seems the full list was not installed on
https://github.com/nnngrach/AnyGIS_maps/tree/master/AlpineQuest_online_maps/Maps_full_en
or maybe the net.psyberia.offlinemaps app list is different?
Hello,
thank you for your work!
you can add spain topo, italy topo, GB topo for osmand please?
Melda.ru - Hiking
Melda.ru - Hystoric
Nakarte.me
Я пока еще не успел поучаствовать в open-source и не знаю, как это правильно организовывать. Так что я пока просто поскидываю сюда несколько задач, за которые может взяться кто-нибудь желающий.
Так вот. Меня периодически просят добавить всякие карты в нестандартных проекциях. Например вот несколько карт в проекции LKS 1994 (EPSG 3346).
http://maps.lt/map
https://www.geoportal.lt/map/#
В принципе, можно попробовать написать функцию-конвертер координат для этой проекции. Я когда-то нашел что-то подобное для тайлов Яндекса и адаптировал в свой проект. Можно использовать это в качестве примера. Вот как это выглядело.
На этой страничке в разделе "Круглая или не очень" есть описание принципа работы этого конвертера. Простыми словами и с картинками ))
https://anygis.ru/Web/Html/Description_ru
А вот и код. Работает он в четыре этапа.
Берем номер тайла в стандартной проекции. Получаем координаты его левого-верхнего угла. (Формула взята из osm wiki)
https://www.jdoodle.com/a/1ECy
https://github.com/nnngrach/AnyGIS_server/blob/671ef7071332e05741f8b2896492b7124f371ec2/Sources/App/ModelsOfLogic/Coordinate%20Tools/CoordinateTransformer.swift#L48
Берем координаты этой точки. Получаем номер тайла Яндекса, на котором она будет лежать. И количество пикселей, на которые эта точка смещена от его левого-верхнего угла.
https://www.jdoodle.com/a/1ECz
https://github.com/nnngrach/AnyGIS_server/blob/671ef7071332e05741f8b2896492b7124f371ec2/Sources/App/ModelsOfLogic/Coordinate%20Tools/CoordinateTransformer.swift#L62
Берем номер тайла Яндекса и шаблон его url адреса. Подставляем цифры на место заглушек типа {x},{y},{z}. Получаем 4 готовых url-адреса для скачивания этого и соседних тайлов.
https://github.com/nnngrach/AnyGIS_server/blob/671ef7071332e05741f8b2896492b7124f371ec2/Sources/App/ModelsOfLogic/Coordinate%20Tools/URLPatchCreator.swift#L39
Берем полученные 4 адреса и величину смещения. Отправляем post запрос с этими данными на мой микро сервер для обработки изображений. Получив запрос, он скачает эти 4 тайла и склеит их в один большой. А затем отступит от левого-верхнего угла требуемое количество пикселей и вырежет квадрат размером 256х256. Это и будет тайл с нужным нам смещением. Можно возвращать эту картинку пользователю.
Вот пример curl запроса, который можно отправлять на микросервер. Параметры должны называться urlTL, urlTR, urlBL, urlTL, urlBR, xOffset, xOffset. Здеь urlTL - это Top Left, а urlBR - это Bottom Right. Можно использовать сервер для отладки.
curl -X POST
http://68.183.65.138:3000/move
-d 'urlTL=https%3A%2F%2Fvec01.maps.yandex.net%2Ftiles%3Fl%3Dmap%26x%3D619%26y%3D318%26z%3D10%26scale%3D2%26lang%3Dru-RU&urlTR=https%3A%2F%2Fvec04.maps.yandex.net%2Ftiles%3Fl%3Dmap%26x%3D620%26y%3D318%26z%3D10%26scale%3D2%26lang%3Dru-RU&urlBR=https%3A%2F%2Fvec01.maps.yandex.net%2Ftiles%3Fl%3Dmap%26x%3D620%26y%3D319%26z%3D10%26scale%3D2%26lang%3Dru-RU&urlBL=https%3A%2F%2Fvec04.maps.yandex.net%2Ftiles%3Fl%3Dmap%26x%3D619%26y%3D319%26z%3D10%26scale%3D2%26lang%3Dru-RU&xOffset=0&yOffset=232'
А теперь, собственно, что нужно сделать?
Нужно найти подходящую формулу для перевода координат. И написать функцию как в пункте 2. Но для проекции LKS 1994 (EPSG 3346). То есть функцию, которая принимает координаты левого-верхнего угла OSM тайла. (latitude: Double, longitude: Double, zoom: Int).
А возвращать она должна номер LKS1994 тайла, на котором лежит точка левого-верхнего угла OSM тайла. То есть что-то такое (x: Int, y: Int, z: Int, offsetX: Int, offsetY: Int)
Вот. Если вы пишите на Swift, дописывайте свою функцию в файл по ссылке из пункта 2. И присылайте пул реквест.
Ну а если (что более вероятно) вы не знаете, что это вообще за язык такой, то можете просто написать эту функцию на любом удобном для вас языке. И присылать ее сюда. Прямо текстом. А я ее потом уже переведу. Думаю, это будет не сложно. Все равно большая часть работы здесь - это поиск и адаптация формул.
Примерно так. Ну, и если будет желание, то можно потом попробовать поставить это все на поток и написать еще несколько онлайн-конверторов для разных проекций. Чтобы можно было смотреть прямо из навигатора все эти локальные онлайн-карты.
Is there anything we can do with Yandex?
It's been very slow and unstable since June, now it doesn't work at all.
It's very important to me, I can even pay for this option, e.g. provide some paid Yandex.Maps API key in the request URL.
Уважаемый авторы проекта!
Мы обнаружили, что Вами выложены карты издания ООО «СЗ РЦАИ» в растровом виде на сервисе SASGIS, а также мы обнаружили модуль подключения наших карт к ГИС-системам на сайте github.com. Данные карты являются собственностью ООО «СЗ РЦАИ» и не распространяются бесплатно.
Предлагаем Вам до 15 июня 2020 года удалить карты и модуль подключения с указанных ресурсов, удалить карты с Ваших серверов/сервера.
В противном случае мы будем вынуждены обратиться в органы прокуратуры с заявлением о нарушении Вами авторских прав, и причинении тем самым материального ущерба ООО «СЗ РЦАИ».
По интересующим Вас вопросам, а также в случае Вашей заинтересованности во взаимовыгодном сотрудничестве, Вы можете обращаться в наш адрес любым удобным способом указанным на нашем сайте.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.