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.