Backend Python. Требуется настроить приём и возврат координат lat, lon
Цена договорная
Проблема в следующем:
У нас не корректно отображаются маршруты на карте, которые были записаны за пределами долготы от -90 до 90.
Причина:
в ios координаты хранятся в объекте с понятными полями latitude и longitude
но на сервер они передаются в обычном WKT формате, где две координаты просто пишутся через пробел: LINESTRING(37.8 -90.4,37.9 -90.1,38.0 -90.4)
Обратно они возвращаются уже в geojson, там примерно такая же ситуация: массив массивов по два числа
И случилось так, что приложение передавало координаты (lat, lon), а сервер думал, что получает (lon, lat)
Поэтому, когда сервер получал такую строку: LINESTRING(37.8 -90.4,37.9 -90.1,38.0 -90.4), он думал, что долгота не может быть < -90 и менял ее соответсвующим образом -90.4 -> -89.6
Задача:
Настроить бэк так, чтобы все записанные маршруты за пределами -90 и 90 долготы отображались корректно, как раннее записанные, так и новые. И при этом, все оставшиеся, корректные маршруты не слетели и отображались как сейчас правильно.
Предлагаемое решение от фронта:
"Сейчас же именно сервер, получая координаты, меняет их, если они за границами -90 90.
Если эту проверку просто убрать, и задать порядок координат lat, lon (не меняя самого порядка получения выдачи) - тогда все останется как есть.
Приложение как и раньше будет записывать координаты в формате lat, lon.
Бэк будет знать, что у него координаты хранятся в формате lat, lon."
У нас не корректно отображаются маршруты на карте, которые были записаны за пределами долготы от -90 до 90.
Причина:
в ios координаты хранятся в объекте с понятными полями latitude и longitude
но на сервер они передаются в обычном WKT формате, где две координаты просто пишутся через пробел: LINESTRING(37.8 -90.4,37.9 -90.1,38.0 -90.4)
Обратно они возвращаются уже в geojson, там примерно такая же ситуация: массив массивов по два числа
И случилось так, что приложение передавало координаты (lat, lon), а сервер думал, что получает (lon, lat)
Поэтому, когда сервер получал такую строку: LINESTRING(37.8 -90.4,37.9 -90.1,38.0 -90.4), он думал, что долгота не может быть < -90 и менял ее соответсвующим образом -90.4 -> -89.6
Задача:
Настроить бэк так, чтобы все записанные маршруты за пределами -90 и 90 долготы отображались корректно, как раннее записанные, так и новые. И при этом, все оставшиеся, корректные маршруты не слетели и отображались как сейчас правильно.
Предлагаемое решение от фронта:
"Сейчас же именно сервер, получая координаты, меняет их, если они за границами -90 90.
Если эту проверку просто убрать, и задать порядок координат lat, lon (не меняя самого порядка получения выдачи) - тогда все останется как есть.
Приложение как и раньше будет записывать координаты в формате lat, lon.
Бэк будет знать, что у него координаты хранятся в формате lat, lon."
- Файлы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.