1 votos

Initalizar pyproj correctamente

Estoy intentando inicializar el transformador pyproj como se indica aquí: Transformaciones repetidas . Esto parece que debería ser bastante fácil. Estoy intentando pasar de NC stateplane a lon/lat.

https://epsg.io/3358

https://epsg.io/6318

import pyproj 
trans = pyproj.Transformer.from_crs(3358, 6318)`
Traceback (most recent call last):
  File "/home/MyUser/anaconda3/lib/python3.7/site-packages/IPython/core/interactiveshell.py", line 3331, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-10-0c6306cf1b50>", line 1, in <module>
    pyproj.Transformer.from_crs(3358, 6318)
  File "/home/MyUser/anaconda3/lib/python3.7/site-packages/pyproj/transformer.py", line 311, in from_crs
    CRS.from_user_input(crs_from),
  File "/home/MyUser/anaconda3/lib/python3.7/site-packages/pyproj/crs/crs.py", line 440, in from_user_input
    return CRS(value, **kwargs)
  File "/home/MyUser/anaconda3/lib/python3.7/site-packages/pyproj/crs/crs.py", line 296, in __init__
    super().__init__(projstring)
  File "pyproj/_crs.pyx", line 2338, in pyproj._crs._CRS.__init__
pyproj.exceptions.CRSError: Invalid projection: epsg:3358: (Internal Proj Error: proj_create: cannot build projectedCRS 3358: cannot build geodeticCRS 4152: SQLite error on SELECT name, ellipsoid_auth_name, ellipsoid_code, prime_meridian_auth_name, prime_meridian_code, area_of_use_auth_name, area_of_use_code, publication_date, deprecated FROM geodetic_datum WHERE auth_name = ? AND code = ?: no such column: publication_date)

Algo parece estar mal, pero no puedo averiguar qué estoy haciendo mal.

1voto

DEW Puntos 44

https://pyproj4.github.io/pyproj/stable/gotchas.html#internal-proj-error-sqlite-error-on-select

Creo que tiene varias versiones de PROJ instaladas en su sistema y está confundiendo qué base de datos utilizar.

0voto

Anagoge Puntos 248

Tenía versiones contradictorias del proj.db. Comprueba el valor de la variable de entorno PROJ_LIB. La mía apuntaba a una instalación de postgis. Esto ayuda a resolverlo: https://pyproj4.github.io/pyproj/stable/gotchas.html#internal-proj-error-sqlite-error-on-select

¿Cómo encontré la ruta para la instalación de proj ? He mirado en este archivo ...Miniconda3\envs\<ENV>\conda-meta\proj-<VERSION>-h1cfcee-<VERSION>.json y buscó \pkgs\\proj . Una vez encontrado, comprobé los versins de PROJ instalado en esta carpeta C:...\Miniconda3\pkgs\ . Hay carpetas con nombres como proj-<VERSION>-h1cfcee-<VERSION> . Asegúrese de que el nombre de la carpeta es exactamente el mismo nombre que encontró este archivo se vincula a: ...Miniconda3\envs\<ENV>\conda-meta\proj-<VERSION>-h1cfcee-<VERSION>.json . Por último, configuro mi variable de entorno con la versión necesaria ...Miniconda3\pkgs\proj-<VERSION>-h1cfcee-<VERSION\Library\share\proj .

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X