GeoDjango¶
Django je vyspělý webový framework napsaný v jazyce Python, který podporuje rychlý vývoj a čisté, pragmatické konstrukce. Django je dnes v komunitě Pythonu velice populární a existuje množství rozšíření. Jedním takovým rozšířením je i tzv. GeoDjango
django.contrib.gis (GeoDjango) rozšiřuje datové modely používané v Django o typy geometrií. Pro ukládání používá buď databázi PostGIS nebo SpatialLite.
- GeometryField
- PointField
- LineStringField
- PolygonField
- MultiPointField
- MultiLineStringField
- MultiPolygonField
- GeometryCollectionField
- RasterField
Definice modelu¶
Příklad definice modelu s geometrickým atributem
from django.contrib.gis.db import models
class Street(models.Model):
name = models.CharField(max_length=50)
width = models.FloatField()
geometry = models.LineStringField()
Závislosti¶
Jako databázový backend používá GeoDjango PostGIS, SpatiaLite ale i další databáze. Následující tabulka ukazuje další potřebné knihovny, pro různé verze databází:
Databáze | Požadované knihovny | Verze databází | Poznámka |
---|---|---|---|
PostgreSQL | GEOS, GDAL, PROJ.4, PostGIS | 9.3+ | Vyžaduje PostGIS. |
MySQL | GEOS, GDAL | 5.5+ | Není kompatibilní s OGC; omezená funkcionalita |
Oracle | GEOS, GDAL | 12.1+ | Express Edition (XE) není podporována |
SQLite | GEOS, GDAL, PROJ.4, SpatiaLite | 3.6.+ | Vyžaduje SpatiaLite 4.0+ |
GeoDjango dále závisí na následujících knihovnách
- GDAL pro zpracování dat
- GEOS pro prostorové topologické operace
- PROJ.4 pro souřadnicové transformace
Todo
Tato část je zatím pahýl a potřebuje rozšířit.