简体   繁体   English

使用python底图和pyproj运行时错误?

[英]Runtime error using python basemap and pyproj?

I wrote a script using Spyder IDE with mpl_toolkits basemap to plot a GPS track as arrows for direction colored by speed. 我使用带有mpl_toolkits底图的Spyder IDE编写了一个脚本,将GPS轨迹绘制为速度着色方向的箭头。 Everything worked fine until I upgraded pandas to 0.13. 一切正常,直到我将熊猫升级到0.13。 The data is like this: 数据是这样的:

                            lon        lat     bearing  speed m/s
2014-01-20 16:26:00 -170.681264 -14.290060         NaN        NaN
2014-01-20 16:27:00 -170.681259 -14.290074  163.753636   0.026727
2014-01-20 16:28:00 -170.681259 -14.290074  180.000000   0.001172
2014-01-20 16:29:00 -170.681259 -14.290077  180.000000   0.004981
ll = [-14.294238,-170.683732] 
ur = [-14.286362, -170.673260]
gMap = Basemap(projection='merc', resolution='f',
           llcrnrlon=ll[1], llcrnrlat=ll[0],
           urcrnrlon=ur[1], urcrnrlat=ur[0],ax=ax)

Now when I try to run this line: 现在,当我尝试运行此行时:

gMap.quiver(AllPoints['lon'],AllPoints['lat'],sin(radians(AllPoints['bearing'])),cos(radians(AllPoints['bearing'])),latlon=True,color=Points['speed m/s'].values,scale=40,cmap=plt.cm.rainbow)

I get this error: 我收到此错误:

Traceback (most recent call last):
  File "", line 1, in 
  File "C:\Python27\lib\site-packages\mpl_toolkits\basemap\__init__.py", line 559, in with_transform
    x, y = self(x,y)
  File "C:\Python27\lib\site-packages\mpl_toolkits\basemap\__init__.py", line 1148, in __call__
    xout,yout = self.projtran(x,y,inverse=inverse)
  File "C:\Python27\lib\site-packages\mpl_toolkits\basemap\proj.py", line 286, in __call__
    outx,outy = self._proj4(x, y, inverse=inverse)
  File "C:\Python27\lib\site-packages\mpl_toolkits\basemap\pyproj.py", line 388, in __call__
    _proj.Proj._fwd(self, inx, iny, radians=radians, errcheck=errcheck)
  File "_proj.pyx", line 124, in _proj.Proj._fwd (src/_proj.c:1594)
RuntimeError

If I remove the latlon=True arguement it runs but does not display the data. 如果我删除了latlon=True争论它运行但不显示数据。 Any ideas what is wrong? 有什么想法有什么不对?

For whatever reason, Basemap.quiver doesn't like taking Pandas DataFrame columns after upgrading. 无论出于何种原因,Basemap.quiver都不喜欢在升级后使用Pandas DataFrame列。 I changed: gMap.quiver(AllPoints['lon'],AllPoints['lat']....) to: gMap.quiver(AllPoints['lon'].values,AllPoints['lat'].values....) and it works fine now. 我改变了:gMap.quiver(AllPoints ['lon'],AllPoints ['lat'] ....)到:gMap.quiver(AllPoints ['lon']。values,AllPoints ['lat']。values .. ..)它现在工作正常。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM