@iiggoorr73

Конвертирование координат при помощи python?

подскажите , где тут ошибка. python 3
import pyproj
from pyproj import Proj, transform
inProj = Proj(init='epsg:3857')
outProj = Proj(init='epsg:4326')
x1,y1 = ('4702932.98067679','6656376.87212693')
x2,y2 = transform(inProj,outProj,x1,y1)
print (x2,y2)

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

изменил код , закоментировал строки , но одна ошибка осталась. версия питона 3
import pyproj
from pyproj import Proj, transform
# inProj = Proj(init='epsg:3857')   изменил!
# outProj = Proj(init='epsg:4326')  изменил !
inProj = Proj('epsg:3857')
outProj = Proj('epsg:4326')
x1,y1 = ('4703866.44854467','6656019.13486793')

<b>x2,y2 = transform(inProj,outProj,x1,y1)</b>

print (x2,y2)


C:\Users\Asus\PycharmProjects\pythonProject\projectTTK\venv\Scripts\python.exe C:/Users/Asus/PycharmProjects/pythonProject/projectTTK/config.py
C:\Users\Asus\PycharmProjects\pythonProject\projectTTK\config.py:17: DeprecationWarning: This function is deprecated. See: https://pyproj4.github.io/pyproj/stable/gotchas.html#upgrading-to-pyproj-2-from-pyproj-1
  x2,y2 = transform(inProj,outProj,x1,y1)
51.19589741293947 42.255551251846896

Process finished with exit code 0

возможно где-то синтаксис не верный вx2,y2 = transform(inProj,outProj,x1,y1
  • Вопрос задан
  • 782 просмотра
Решения вопроса 1
@iiggoorr73 Автор вопроса
Я только разбираюсь, напишите пожалуйста, как правильно будет туда сюда конвертировать. Спасибо.
Спасибо Вам большое. Сделал туда и обратно. Всё хорошо !

import pyproj

from pyproj import Transformer

transformer = Transformer.from_crs("epsg:3857", "epsg:4326", always_xy=True)
x1,y1 = ('4702932.98067679','6656376.87212693')
x2,y2 = transformer.transform(x1, y1)
print (x2,y2)
# переводим обратно
transformer = Transformer.from_crs("epsg:4326","epsg:3857", always_xy=True)
x1,y1 = ('42.247165767317384','51.19791120757191')
x2,y2 = transformer.transform(x1, y1)
print (x2,y2)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@o5a
Вам же прямым текстом показали ссылку https://pyproj4.github.io/pyproj/stable/gotchas.ht...

Используемый вами синтаксис устарел и в текущей версии модуля лучше использовать предложенный там Transformer.
Насколько понимаю, такой синтаксис
from pyproj import Transformer

transformer = Transformer.from_crs("epsg:3857", "epsg:4326", always_xy=True)
x1,y1 = ('4702932.98067679','6656376.87212693')
x2,y2 = transformer.transform(x1, y1)
print (x2,y2)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы