2015-12-01 1 views
0

J'ai des difficultés à exécuter pyproj en utilisant IPython Notebook mais pas en utilisant Python dans powershell.pyproj ne fonctionne pas sur ipython (mais fonctionne sur CLI)

IPython vomit l'erreur suivante:

RuntimeError        Traceback (most recent call last) 
<ipython-input-59-384a2e8bfd70> in <module>() 
----> 1 inproj = pyproj.Proj(init='epsg:3857') 

C:\Anaconda64\lib\site-packages\pyproj\__init__.pyc in __new__(self, projparams, preserve_units, **kwargs) 
    345     else: 
    346      kvpairs.append(kvpair+' ') 
--> 347    projstring = ''.join(kvpairs) 
    348   # look for EPSG, replace with epsg (EPSG only works 
    349   # on case-insensitive filesystems). 

_proj.pyx in _proj.Proj.__cinit__ (_proj.c:1190)() 

RuntimeError: Invalid argument 

La question est similaire à celui indiqué ici https://github.com/jswhit/pyproj/issues/17 mais je ne comprends pas comment le code fonctionne bien sur la ligne de commande. Savez-vous comment je peux obtenir pyproj pour travailler? J'utilise windows (64 bits), la version conda: 3.18.6 et la version python: 2.7.10.

Si cela aide, la sortie à pyproj.pyproj_datadir sur ipython notebook est 'C:\x07root\\stage\\Library\\share\\proj' alors que c'est 'C:\\Anaconda64\\lib\\site-packages\\pyproj\\data' sur l'invite de commandes.

Merci!

L'exemple de travail j'est de https://gis.stackexchange.com/questions/78838/how-to-convert-projected-coordinates-to-lat-lon-using-python/78944#78944

from pyproj import Proj, transform 

inProj = Proj(init='epsg:3857') 
outProj = Proj(init='epsg:4326') 
x1,y1 = -11705274.6374,4826473.6922 
x2,y2 = transform(inProj,outProj,x1,y1) 
print x2,y2 
+0

Ceci était un [bug] (https://github.com/jswhit/pyproj/issues/17), exécutez 'conda update pyproj' et obtenez pyproj> = 1.9.5 pour résoudre le problème. – jrovegno

Répondre

0

J'ai aussi eu cette erreur en cours d'exécution Python 2.7.11 sous Windows 10 (64 bits) sous miniconda. Ma version de pyproj était 1.9.4 (comme déterminé en exécutant conda list). Plusieurs solutions ont été proposées sur le link vous avez mentionné:

  1. mise à niveau inférieur à pyproj v1.9.3 du canal JimInCO sur anaconda.org. Cela n'a pas fonctionné pour mon environnement - je n'ai pas trouvé de paquets v1.9.3 appropriés. On dirait qu'il peut y avoir des offres Python 3 là-bas.
  2. Définissez une variable d'environnement appelée PROJ_DIR pointant pyproj vers l'emplacement correct pour ses fichiers de projection. Vous devez d'abord identifier l'emplacement du fichier epsg.
  3. Ceci est la solution qui a fonctionné pour moi. Prenez un fichier whl de Christoph Gohlke's site et installez en utilisant pip install the_file.whl. En utilisant cette méthode, j'ai obtenu pyproj v1.9.5, qui fonctionne bien.