#27971: GeoDjango LinearRing and Polygon handle contains/covers differently
-------------------------------------+-------------------------------------
Reporter: Geoffrey Fairchild | Owner: nobody
Type: Bug | Status: new
Component: GIS | Version: 1.10
Severity: Normal | Resolution:
Keywords: GeoDjango, | Triage Stage:
LinearRing, Polygon, covers, | Unreviewed
contains |
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Comment (by Geoffrey Fairchild):
Search results for this topic seem sparse. Interestingly, I can compute
centroids for ''both'' LinearRings and Polygons:
{{{
> python
Python 3.6.0 (default, Mar 6 2017, 11:41:46)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from django.contrib.gis.geos import GEOSGeometry
>>> aruba = GEOSGeometry('SRID=4326;LINEARRING (-69.89912109375
12.45200195312499, -69.895703125 12.42299804687499, -69.94218749999999
12.43852539062499, -70.004150390625 12.50048828125, -70.06611328125
12.54697265624999, -70.05087890624999 12.59707031249999, -70.035107421875
12.61411132812499, -69.97314453125 12.567626953125, -69.91181640625
12.48046875, -69.89912109375 12.45200195312499)')
>>> print(aruba)
SRID=4326;LINEARRING (-69.89912109375 12.45200195312499, -69.895703125
12.42299804687499, -69.94218749999999 12.43852539062499, -70.004150390625
12.50048828125, -70.06611328125 12.54697265624999, -70.05087890624999
12.59707031249999, -70.035107421875 12.61411132812499, -69.97314453125
12.567626953125, -69.91181640625 12.48046875, -69.89912109375
12.45200195312499)
>>> print(aruba.centroid)
SRID=4326;POINT (-69.97885392271023 12.51632637412778)
>>> aruba = GEOSGeometry('SRID=4326;POLYGON ((-69.89912109375
12.45200195312499, -69.895703125 12.42299804687499, -69.94218749999999
12.43852539062499, -70.004150390625 12.50048828125, -70.06611328125
12.54697265624999, -70.05087890624999 12.59707031249999, -70.035107421875
12.61411132812499, -69.97314453125 12.567626953125, -69.91181640625
12.48046875, -69.89912109375 12.45200195312499))')
>>> print(aruba)
SRID=4326;POLYGON ((-69.89912109375 12.45200195312499, -69.895703125
12.42299804687499, -69.94218749999999 12.43852539062499, -70.004150390625
12.50048828125, -70.06611328125 12.54697265624999, -70.05087890624999
12.59707031249999, -70.035107421875 12.61411132812499, -69.97314453125
12.567626953125, -69.91181640625 12.48046875, -69.89912109375
12.45200195312499))
>>> print(aruba.centroid)
SRID=4326;POINT (-69.98267711250941 12.52088038384019)
}}}
If I can compute a centroid, why can't I compute whether another geometry
is interior to the LinearRing?
--
Ticket URL: <https://code.djangoproject.com/ticket/27971#comment:1>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/068.7ea4f08cf826c325bc4df7f2d5bfb047%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.