Открытая карта улиц (pyproj). Как решить проблему с синтаксисом? имеет похожий вопрос, и ответы там мне не помогли.
Я использую вспомогательный класс, приведенный ниже, несколько сотен раз, и моя консоль заполняется предупреждениями:
/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pyproj/crs/crs.py:53: FutureWarning: '+init=<authority>:<code>' syntax is deprecated. '<authority>:<code>' is the preferred initialization method. When making the change, be mindful of axis order changes: https://pyproj4.github.io/pyproj/stable/gotchas.html#axis-order-changes-in-proj-6
return _prepare_from_string(" ".join(pjargs))
https://pyproj4.github.io/pyproj/stable/gotchas.html#axis-change-in-proj-6
Когда я пытаюсь следовать подсказке, используя:
return transform(Proj('epsg:4326'), Proj('epsg:3857'), lon,lat)
Я получаю некоторые (inf, inf) результаты в тех случаях, когда оригинальный код работал. Как правильно избежать синтаксической ошибки, но получить те же результаты?
показывает старый синтаксис но нет примера кода для совместимого нового оператора.
https://github.com/pyproj4/pyproj/issues/224 состояния:
*What is the preferred way of loading EPSG CRSes now?
use "EPSG:XXXX" in source_crs or target_crs arguments of proj_create_crs_to_crs() when creating a transformation, or as argument of proj_create() to instanciate a CRS object*
Что это означает в качестве примера кода?
из pyproj import Proj, преобразование
class Projection:
@staticmethod
def wgsToXy(lon,lat):
return transform(Proj(init='epsg:4326'), Proj(init='epsg:3857'), lon,lat)
@staticmethod
def pointToXy(point):
xy=point.split(",")
return Projection.wgsToXy(float(xy[0]),float(xy[1]))