Fixed #25585 -- Allowed setting OGRGeometry srid/srs attributes to `None`.
This commit is contained in:
parent
80855a4b37
commit
0dbe897ab5
|
@ -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.')
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue