Code


Version 2 (modified by anonymous, 7 years ago) (diff)

--

Desirable stuff (to be updated on GeoDjango Roadmap)

  • Distance API
    • Houses.objects.filter(point__intersects=school.point.buffer(Distance(5,km))
      • Distance is without SRS? Geopy API is neat, MIT
  • Common models for discussion/communication
    • House (point)
    • School District (poly)
    • Bus Route (line)
  • Support for a mapping framework (e.g. Google Maps/Earth, Yahoo Maps, MS Live, etc.)
    • User widget, admin widget, databrowse plugin
  • WMS views
  • Spatial querying w/ unit tests

Common CS

  • WGS84
  • NAD83
  • NAD27
  • NZ Transverse Mercator (NZGD2000) (epsg:2193)
  • NZ Map Grid (NZGD49) epsg:27200

Distance API

  • Houses.objects.filter(pointintersects=school.point.buffer(Distance(5,km))
Field.__str__ in the face of null-ish data:
 float('') broken.

Descriptor-based field instead of get_FIELD_geos; (scrap GeoMixin?  may still be needed to manage c ref lifetimes)

Multiple Geom per Model API
 LayerMapping -> CityBoundary
 but
 Multiple -> City where .boundary is one geom of the model.

__str__ cleanup (class names out)

downcase module names

2.3 compatibility (decorators, ???)

How is SRS initially determined in LayerMapping?

Why transform and transform_to are separate?

GDal/GEOS geom mapping?

Way to map .srs to srid programmatically?

LayerMapping raise custom exceptions

LayerMapping use Model.create_many once it exists.

leak testing?
 Lots of handles and __delete__

why is GEOSGeometry doing ._cache_cs and self.coord_seq (creating a
new CS unless specifically avoiding it) rather than caching internally
and returning the same one?

Seems pretty frequent:
>>> poly.exterior_ring is poly.exterior_ring
False


SpatialRefSys.ellipsoid without GDAL

Document what works and doesn't without optionals (GDAL, ???)

LayerMapping model.validate?
Or at least clearly document.

Need GIS fixture loader.

Geos .area() and friends need desired UOM args.