Commit 0dbe897a authored by Sergey Fedoseev's avatar Sergey Fedoseev Committed by Tim Graham
Browse files

Fixed #25585 -- Allowed setting OGRGeometry srid/srs attributes to `None`.

parent 80855a4b
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -270,6 +270,8 @@ class OGRGeometry(GDALBase):
        elif isinstance(srs, six.integer_types + six.string_types):
            sr = SpatialReference(srs)
            srs_ptr = sr.ptr
        elif srs is None:
            srs_ptr = None
        else:
            raise TypeError('Cannot assign spatial reference with object of type: %s' % type(srs))
        capi.assign_srs(self.ptr, srs_ptr)
@@ -284,7 +286,7 @@ class OGRGeometry(GDALBase):
        return None

    def _set_srid(self, srid):
        if isinstance(srid, six.integer_types):
        if isinstance(srid, six.integer_types) or srid is None:
            self.srs = srid
        else:
            raise TypeError('SRID must be set with an integer.')
+5 −0
Original line number Diff line number Diff line
@@ -320,6 +320,11 @@ class OGRGeomTest(unittest.TestCase, TestDataMixin):
                    self.assertEqual('WGS 72', ring.srs.name)
                    self.assertEqual(4322, ring.srid)

            # srs/srid may be assigned their own values, even when srs is None.
            mpoly = OGRGeometry(mp.wkt, srs=None)
            mpoly.srs = mpoly.srs
            mpoly.srid = mpoly.srid

    def test_srs_transform(self):
        "Testing transform()."
        orig = OGRGeometry('POINT (-104.609 38.255)', 4326)