I'm tempted to suggest this be moved into the CRS class itself - it seems useful outside of matplotlib?