Open
Description
Platform:
Python 3.5.2 |Continuum Analytics, Inc.| (default, Jul 2 2016, 17:53:06)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Throws error on basemap.drawcounties() (over Illinois)
Traceback (most recent call last):
File "animate_aws.py", line 171, in <module>
writer='imagemagick', fps=5)
File "/home/scollis/anaconda/envs/pyart35/lib/python3.5/site-packages/matplotlib/animation.py", line 832, in save
anim._init_draw()
File "/home/scollis/anaconda/envs/pyart35/lib/python3.5/site-packages/matplotlib/animation.py", line 1221, in _init_draw
self._draw_frame(next(self.new_frame_seq()))
File "/home/scollis/anaconda/envs/pyart35/lib/python3.5/site-packages/matplotlib/animation.py", line 1243, in _draw_frame
self._drawn_artists = self._func(framedata, *self._args)
File "animate_aws.py", line 166, in animate
display.basemap.drawcounties()
File "/home/scollis/anaconda/envs/pyart35/lib/python3.5/site-packages/mpl_toolkits/basemap/__init__.py", line 1980, in drawcounties
default_encoding='latin-1',drawbounds=drawbounds)
File "/home/scollis/anaconda/envs/pyart35/lib/python3.5/site-packages/mpl_toolkits/basemap/__init__.py", line 2146, in readshapefile
for shprec in shf.shapeRecords():
File "/home/scollis/anaconda/envs/pyart35/lib/python3.5/site-packages/mpl_toolkits/basemap/shapefile.py", line 543, in shapeRecords
for rec in zip(self.shapes(), self.records())]
File "/home/scollis/anaconda/envs/pyart35/lib/python3.5/site-packages/mpl_toolkits/basemap/shapefile.py", line 515, in records
r = self.__record()
File "/home/scollis/anaconda/envs/pyart35/lib/python3.5/site-packages/mpl_toolkits/basemap/shapefile.py", line 491, in __record
value = u(value)
File "/home/scollis/anaconda/envs/pyart35/lib/python3.5/site-packages/mpl_toolkits/basemap/shapefile.py", line 58, in u
return v.decode('utf-8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf1 in position 2: invalid continuation byte
Activity
scollis commentedon Oct 12, 2016
micahcochran commentedon Dec 16, 2016
Does installing the version that is in the repository fix the problem?
johnrobertlawson commentedon Jan 10, 2017
Having this problem too. Python 3.5.2 on matplotlib version 1.5.1 and 1.5.3 (tried both).
WeatherGod commentedon Jan 10, 2017
guziy commentedon Jan 10, 2017
Is it possible to have the failing code to try and reproduce the issue?
johnrobertlawson commentedon Jan 10, 2017
I'm using Basemap version 1.0.7, which is the newest Anaconda will install under Python 3.5.2. (I notice there are newer Basemap versions.)
The code uses one of my own packages but you can get the idea with this example:
guziy commentedon Jan 10, 2017
@johnrobertlawson I had to tweak your code for me but it seems there is no issue for basemap 1.0.8
Here is the quick notebook:
https://github.com/guziy/PyNotebooks/blob/master/basemap_demos/drawcoastlines_issue.ipynb
Cheers
johnrobertlawson commentedon Jan 10, 2017
@guziy Thanks for verifying that. What's your Python version?
guziy commentedon Jan 10, 2017
My python info:
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 26 2016, 10:47:25)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
What worries me a bit here is that I do not see the plotted field... Are my projection params too off?
Cheers
guziy commentedon Jan 10, 2017
Ah ok, now I see the field, had lons and lats in the wrong order in
m.__call__
Cheers
johnrobertlawson commentedon Jan 10, 2017
Turns out, after removing the data plotting (i.e. simply trying to plot a basemap), the counties still break the script. I tried to reproduce your exact code and it also breaks. This leaves just the 1.0.7 vs 1.0.8 version. I'm going to look into why
conda update basemap
doesn't go past 1.0.7.micahcochran commentedon Jan 11, 2017
@johnrobertlawson
basemap version 1.0.8 has not been released. If you want to read more about that read issue #267.
johnrobertlawson commentedon Jan 11, 2017
@micahcochran Good to know, thanks.
WeatherGod commentedon Jan 11, 2017
datacathy commentedon Feb 2, 2017
@WeatherGod I'm running basemap version 1.0.8, Python version 3.5.2, matplotlib 2.0.0. For me, drawcounties() doesn't give an error, it simply does nothing. I get no county boundaries drawn. Here is my code:
There is a similar problem on stackoverflow here but unfortunately it has no answer. Any ideas?
10 remaining items