Kaydet (Commit) 0dbe897a authored tarafından Sergey Fedoseev's avatar Sergey Fedoseev Kaydeden (comit) Tim Graham

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

üst 80855a4b
...@@ -270,6 +270,8 @@ class OGRGeometry(GDALBase): ...@@ -270,6 +270,8 @@ class OGRGeometry(GDALBase):
elif isinstance(srs, six.integer_types + six.string_types): elif isinstance(srs, six.integer_types + six.string_types):
sr = SpatialReference(srs) sr = SpatialReference(srs)
srs_ptr = sr.ptr srs_ptr = sr.ptr
elif srs is None:
srs_ptr = None
else: else:
raise TypeError('Cannot assign spatial reference with object of type: %s' % type(srs)) raise TypeError('Cannot assign spatial reference with object of type: %s' % type(srs))
capi.assign_srs(self.ptr, srs_ptr) capi.assign_srs(self.ptr, srs_ptr)
...@@ -284,7 +286,7 @@ class OGRGeometry(GDALBase): ...@@ -284,7 +286,7 @@ class OGRGeometry(GDALBase):
return None return None
def _set_srid(self, srid): def _set_srid(self, srid):
if isinstance(srid, six.integer_types): if isinstance(srid, six.integer_types) or srid is None:
self.srs = srid self.srs = srid
else: else:
raise TypeError('SRID must be set with an integer.') raise TypeError('SRID must be set with an integer.')
......
...@@ -320,6 +320,11 @@ class OGRGeomTest(unittest.TestCase, TestDataMixin): ...@@ -320,6 +320,11 @@ class OGRGeomTest(unittest.TestCase, TestDataMixin):
self.assertEqual('WGS 72', ring.srs.name) self.assertEqual('WGS 72', ring.srs.name)
self.assertEqual(4322, ring.srid) 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): def test_srs_transform(self):
"Testing transform()." "Testing transform()."
orig = OGRGeometry('POINT (-104.609 38.255)', 4326) orig = OGRGeometry('POINT (-104.609 38.255)', 4326)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment