io.py 799 B

123456789101112131415161718192021222324252627
  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 (
  8. WKBWriter,
  9. WKTWriter,
  10. _WKBReader,
  11. _WKTReader,
  12. )
  13. __all__ = ["WKBWriter", "WKTWriter", "WKBReader", "WKTReader"]
  14. # Public classes for (WKB|WKT)Reader, which return GEOSGeometry
  15. class WKBReader(_WKBReader):
  16. def read(self, wkb):
  17. "Return a GEOSGeometry for the given WKB buffer."
  18. return GEOSGeometry(super().read(wkb))
  19. class WKTReader(_WKTReader):
  20. def read(self, wkt):
  21. "Return a GEOSGeometry for the given WKT string."
  22. return GEOSGeometry(super().read(wkt))