io.py 810 B

12345678910111213141516171819202122
  1. """
  2. Module that holds classes for performing I/O operations on GEOS geometry
  3. objects. Specifically, this has Python implementations of WKB/WKT
  4. reader and writer classes.
  5. """
  6. from django.contrib.gis.geos.geometry import GEOSGeometry
  7. from django.contrib.gis.geos.prototypes.io import _WKTReader, _WKBReader, WKBWriter, WKTWriter
  8. __all__ = ['WKBWriter', 'WKTWriter', 'WKBReader', 'WKTReader']
  9. # Public classes for (WKB|WKT)Reader, which return GEOSGeometry
  10. class WKBReader(_WKBReader):
  11. def read(self, wkb):
  12. "Returns a GEOSGeometry for the given WKB buffer."
  13. return GEOSGeometry(super(WKBReader, self).read(wkb))
  14. class WKTReader(_WKTReader):
  15. def read(self, wkt):
  16. "Returns a GEOSGeometry for the given WKT string."
  17. return GEOSGeometry(super(WKTReader, self).read(wkt))