Repository: SciTools/cartopy

Issue:
BUG: EuroPP projection
Documentation EuroPP projection will not plot, invalid geometry results in an infinite loop (caught by  the linestring being re-added).

``` Python
/net/home/h05/cpelley/git/cartopy/docs/source/crs/projections.rst:232: WARNING: Exception occurred in plotting projections-15
 from /net/home/h05/cpelley/git/cartopy/docs/source/crs/projections.rst:
Traceback (most recent call last):
  File "/usr/local/sci/lib/python2.7/site-packages/matplotlib-1.3.1-py2.7-linux-x86_64.egg/matplotlib/sphinxext/plot_directive.py", line 626, in render_figures
    figman.canvas.figure.savefig(img.filename(format), dpi=dpi)
  File "/usr/local/sci/lib/python2.7/site-packages/matplotlib-1.3.1-py2.7-linux-x86_64.egg/matplotlib/figure.py", line 1421, in savefig
    self.canvas.print_figure(*args, **kwargs)
  File "/usr/local/sci/lib/python2.7/site-packages/matplotlib-1.3.1-py2.7-linux-x86_64.egg/matplotlib/backend_bases.py", line 2220, in print_figure
    **kwargs)
  File "/usr/local/sci/lib/python2.7/site-packages/matplotlib-1.3.1-py2.7-linux-x86_64.egg/matplotlib/backends/backend_agg.py", line 505, in print_png
    FigureCanvasAgg.draw(self)
  File "/usr/local/sci/lib/python2.7/site-packages/matplotlib-1.3.1-py2.7-linux-x86_64.egg/matplotlib/backends/backend_agg.py", line 451, in draw
    self.figure.draw(self.renderer)
  File "/usr/local/sci/lib/python2.7/site-packages/matplotlib-1.3.1-py2.7-linux-x86_64.egg/matplotlib/artist.py", line 55, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "/usr/local/sci/lib/python2.7/site-packages/matplotlib-1.3.1-py2.7-linux-x86_64.egg/matplotlib/figure.py", line 1034, in draw
    func(*args)
  File "/usr/local/sci/lib/python2.7/site-packages/matplotlib-1.3.1-py2.7-linux-x86_64.egg/matplotlib/artist.py", line 55, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "/home/h05/cpelley/git/cartopy/lib/cartopy/mpl/geoaxes.py", line 355, in draw
    inframe=inframe)
  File "/usr/local/sci/lib/python2.7/site-packages/matplotlib-1.3.1-py2.7-linux-x86_64.egg/matplotlib/artist.py", line 55, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "/usr/local/sci/lib/python2.7/site-packages/matplotlib-1.3.1-py2.7-linux-x86_64.egg/matplotlib/axes.py", line 2086, in draw
    a.draw(renderer)
  File "/usr/local/sci/lib/python2.7/site-packages/matplotlib-1.3.1-py2.7-linux-x86_64.egg/matplotlib/artist.py", line 55, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "/home/h05/cpelley/git/cartopy/lib/cartopy/mpl/feature_artist.py", line 100, in draw
    extent = ax.get_extent(feature_crs)
  File "/home/h05/cpelley/git/cartopy/lib/cartopy/mpl/geoaxes.py", line 497, in get_extent
    p = self._get_extent_geom(crs)
  File "/home/h05/cpelley/git/cartopy/lib/cartopy/mpl/geoaxes.py", line 543, in _get_extent_geom
    self.projection)
  File "/home/h05/cpelley/git/cartopy/lib/cartopy/crs.py", line 159, in project_geometry
    return getattr(self, method_name)(geometry, src_crs)
  File "/home/h05/cpelley/git/cartopy/lib/cartopy/crs.py", line 293, in _project_polygon
    rings.extend(self._attach_lines_to_boundary(multi_lines, is_ccw))
  File "/home/h05/cpelley/git/cartopy/lib/cartopy/crs.py", line 412, in _attach_lines_to_boundary
    raise RuntimeError('Unidentified problem with '
RuntimeError: Unidentified problem with geometry, linestring being re-added
```



Discussion:
Problem was introduced by 431b0b8 - https://github.com/SciTools/cartopy/pull/399


Resolving patch:
diff --git a/lib/cartopy/crs.py b/lib/cartopy/crs.py
--- a/lib/cartopy/crs.py
+++ b/lib/cartopy/crs.py
@@ -808,6 +808,14 @@ def __init__(self):
         globe = Globe(ellipse='intl')
         super(EuroPP, self).__init__(32, globe=globe)
 
+    @property
+    def x_limits(self):
+        return (-1.4e6, 2e6)
+
+    @property
+    def y_limits(self):
+        return (4e6, 7.9e6)
+
 
 class Mercator(Projection):
     """


Test patch: