Opened 2 years ago
Closed 2 years ago
#33787 closed Bug (invalid)
GeosGeometry doesn't support empty 3d points
Reported by: | Nicolas Noé | Owned by: | nobody |
---|---|---|---|
Component: | GIS | Version: | 4.0 |
Severity: | Normal | Keywords: | |
Cc: | Triage Stage: | Unreviewed | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
I need to create an empty 3d point using GeosGeometry, but it appears the z dimension gets lost in the process:
In [1]: from django.contrib.gis.geos import GEOSGeometry In [2]: g = GEOSGeometry('POINT Z EMPTY', srid=4326) In [3]: g.ewkt Out[3]: 'SRID=4326;POINT EMPTY' In [4]: g.hasz Out[4]: False
I'd expect g.ewkt to be 'SRID=4326;POINT Z EMPTY' and g.hasz to be True. As a consequence, I can't assign it to a 3d model field.
I see the correct behavior if I use a non empty 3d point:
In [13]: g_non_empty = GEOSGeometry('POINT Z (1 1 1)', srid=4326) In [14]: g_non_empty.hasz Out[14]: True In [15]: g_non_empty.ewkt Out[15]: 'SRID=4326;POINT Z (1 1 1)'
I also tried creating the same feature using EWKB (0x0101000080000000000000F87F000000000000F87F000000000000F87F is a 3D empty point), but the third dimension is also lost here, just like in the first example.
Change History (2)
comment:1 by , 2 years ago
Description: | modified (diff) |
---|
comment:2 by , 2 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
Thanks for the report, however, this looks like an issue in GEOS not in Django itself (see e.g. https://trac.osgeo.org/geos/ticket/1005). Django doesn't do anything special with the WKT. I'd try to report/discuss this in GEOS bug tracker.