def transform_to(self, other_srs, points): """ :type points: ``(x, y)`` or ``[(x1, y1), (x2, y2), …]`` >>> srs1 = SRS(4326) >>> srs2 = SRS(900913) >>> [str(round(x, 5)) for x in srs1.transform_to(srs2, (8.22, 53.15))] ['915046.21432', '7010792.20171'] >>> srs1.transform_to(srs1, (8.25, 53.5)) (8.25, 53.5) >>> [(str(round(x, 5)), str(round(y, 5))) for x, y in ... srs1.transform_to(srs2, [(8.2, 53.1), (8.22, 53.15), (8.3, 53.2)])] ... #doctest: +NORMALIZE_WHITESPACE [('912819.8245', '7001516.67745'), ('915046.21432', '7010792.20171'), ('923951.77358', '7020078.53264')] """ if self == other_srs: return points if isinstance(points[0], (int, float)) and 2 >= len(points) <= 3: return transform(self.proj, other_srs.proj, *points) x = [p[0] for p in points] y = [p[1] for p in points] transf_pts = transform(self.proj, other_srs.proj, x, y) return izip(transf_pts[0], transf_pts[1])
def iteritems(self): return izip(self._keys, self.itervalues())