Django

Code

Ticket #5440 (closed: fixed)

Opened 1 year ago

Last modified 1 year ago

GEOSGeometry: Add WKB support

Reported by: rcoup Assigned to: jbronn
Milestone: Component: GIS
Version: gis Keywords: sprint
Cc: Triage Stage: Unreviewed
Has patch: 1 Needs documentation: 0
Needs tests: 0 Patch needs improvement: 0

Description

Attached is a patch that adds WKB support to the GEOSGeometry object, which we can use for more efficient conversions/access.

Create a GEOSGeometry by passing the binary data as a buffer type (via buffer()):

# wkb = buffer('\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0?')
# geom = GEOSGeometry(wkb)
# geom.wkt
'POINT (0.0000000000000000 1.0000000000000000)'

Get the WKB out:

# geom = Point(0, 1)
# geom.wkb
<read-only buffer for 0x2b10ff1c2030, size -1, offset 0 at 0x2b10ff1a6d18>
# str(geom.wkb)
'\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0?'

In addition to tests for WKB, I've added a number of extra tests around geometry creation from formats other than WKT.

Attachments

geos_wkb_support.patch (4.8 kB) - added by rcoup on 09/13/07 22:02:34.

Change History

09/13/07 22:02:34 changed by rcoup

  • attachment geos_wkb_support.patch added.

09/13/07 23:38:05 changed by adrian

  • needs_better_patch changed.
  • version changed from SVN to gis.
  • needs_tests changed.
  • needs_docs changed.

09/14/07 13:12:36 changed by jbronn

  • owner changed from nobody to jbronn.

09/14/07 13:12:43 changed by jbronn

  • status changed from new to assigned.

09/15/07 13:56:35 changed by jbronn

  • status changed from assigned to closed.
  • resolution set to fixed.

(In [6314]) gis: Fixed #5440 with patches from rcoup; cleaned up notice handler in libgeos.


Add/Change #5440 (GEOSGeometry: Add WKB support)




Change Properties
Action