models.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. from django.contrib.gis.db import models
  2. from django.utils.encoding import python_2_unicode_compatible
  3. @python_2_unicode_compatible
  4. class NamedModel(models.Model):
  5. name = models.CharField(max_length=30)
  6. objects = models.GeoManager()
  7. class Meta:
  8. abstract = True
  9. app_label = 'distapp'
  10. def __str__(self):
  11. return self.name
  12. class SouthTexasCity(NamedModel):
  13. "City model on projected coordinate system for South Texas."
  14. point = models.PointField(srid=32140)
  15. class SouthTexasCityFt(NamedModel):
  16. "Same City model as above, but U.S. survey feet are the units."
  17. point = models.PointField(srid=2278)
  18. class AustraliaCity(NamedModel):
  19. "City model for Australia, using WGS84."
  20. point = models.PointField()
  21. class CensusZipcode(NamedModel):
  22. "Model for a few South Texas ZIP codes (in original Census NAD83)."
  23. poly = models.PolygonField(srid=4269)
  24. class SouthTexasZipcode(NamedModel):
  25. "Model for a few South Texas ZIP codes."
  26. poly = models.PolygonField(srid=32140, null=True)
  27. class Interstate(NamedModel):
  28. "Geodetic model for U.S. Interstates."
  29. path = models.LineStringField()
  30. class SouthTexasInterstate(NamedModel):
  31. "Projected model for South Texas Interstates."
  32. path = models.LineStringField(srid=32140)