Geodjango

Geodjango
Información sobre la plantilla
LogoGeodjango.jpg
Geodjango. Expanción del framework de desarrollo web Django.
CreadorJustin Bronn
Lanzamiento inicialSeptiembre 2007
GéneroFramework Web geográfico
Sistemas Operativos compatiblesMultiplataforma
LicenciaBSD
Sitio web
http://www.geodjango.org/

Geodjango una expansión del framework de desarrollo web Django, que añade funcionalidades específicas que permiten almacenar y manipular datos geográficos. Es una herramienta enfocada en lograr que la creación de aplicaciones web geográficas se desarrolle de forma rápida y sencilla.

Surgimiento

Fue desarrollado por Justin Bronn y presentado en FOSS4G 2007 el 25 de septiembre del 2007 bajo la licencia BSD. GeoDjango pretende ser un framework de desarrollo Web de clase mundial geográfico. Su objetivo es permitir que la creación de aplicaciones de Sistema de Información Geográfica (SIG) se realicen fácilmente, aprovechando el poder de los datos habilitados para operaciones espaciales.

Requerimientos

Para hacer uso de Geodjango es necesario contar con:

  • Python y Django
  • Base de datos espacial
  • Bibliotecas espaciales

Base de datos espaciales

Como base de datos espacial es recomendable utilizar a PostgreSQL (con PostGIS), MySQL, Oracle y SQLite (con SpatiaLite) que son compatibles con esta herramienta.

Bibliotecas Geoespaciales

Las bibliotecas geoespaciales que necesita Geodjango depende de la base de datos espacial utiliza. Seguidamente se representan la base de datos, los requisitos de la biblioteca, las versiones compatibles y las notas de cada uno de los backends de bases de datos compatibles.

Tabla de requisitos

A continuación se enumeran los requisitos de la biblioteca, las versiones compatibles, y de las notasde cada uno de los backends de bases de datos compatibles:

Base de datos Requerimientos de la Biblioteca Versiones Compatibles Notas
PostgreSQL GEOS, PROJ.4, PostGIS 8.2+ Requiere PostGIS
MySQL GEOS 5.x No es compatible con OGC;funcionalidad limitada.
Oracle GEOS 10.2, 11 XE no se admite, no probado con 9.
SQLite GEOS, GDAL, PROJ.4, SpatiaLite 3.6.+ Requiere SpatiaLite 2.3+,pysqlite2 2.5+.

Beneficios del uso de Geodjango en el framework de desarrollo web Django.

1. Modelos de Geodjango Con Geodjango se puede utilizar atributos espacialesen los modelos.

from django.contrib.gis.db import models
class Lakes(models.Model):
name = models.CharField(max_length=100)
rate = models.IntegerField()
geom = models.MultiPolygonField()
objects = models.GeoManager()

2. Utilidad de las Capas de mapeo LayerMapping:

import os
from django.contrib.gis.utils import LayerMapping
from land.models import Lakes
# Auto-generated `LayerMapping` dictionary for Lakes model
lakes_mapping = {
'name' : 'name',
'rate' : 'rate',
'geom' : 'MULTIPOLYGON',
}
lake_shp = os.path.abspath(os.path.join(os.path.dirname(__file__), '../data/lakes.shp'))
def run(verbose=True):
lm = LayerMapping(Lakes, lake_shp, lakes_mapping,
transform=False, encoding='iso-8859-1')
lm.save(strict=True, verbose=verbose)

3. Ogrinspect

Es una opción que va a leer la fuente de datos OGC de la línea de commandos manage.py para obtener el modelo de Django y un diccionario LayerMapping $ python manage.py ogrinspect land/data/lakes.shp Lakes --srid=4326 --mapping --multi

4. Administración geográfica

El administrador gestionará automáticamente el campo de geometría mediante la materia de administración del proyecto GeoDjango, solo con añadir el admin.py:

from django.contrib.gis import admin
from models import Lakes
admin.site.register(Lakes, admin.GeoModelAdmin)

Ahora en la interfaz web de administración, al editar los conjuntos de datos GeoDjango, tendrá una interfaz OpenLayers para la edición de geometría de la función. La API de base de datos y la API de GEOS le posibilita manejar los datos con funciones de base de datos, permitiendo esto, que sea fácil crear, actualizar y eliminar las funciones, consultaespacial y las operaciones de geometría. También cuenta con campos geométricosdefinidos por funciones OGS simple tales como:

* PointField
* LineStringField
* PolygonField
* MultiPointField
* MultiLineStringField
* MultiPolygonField
* GeometryCollectionField

La API de base de datos y la API de GEOS le posibilita manejar los datos con funciones de base de datos, permitiendo esto que sea fácil crear, actualizar y eliminar las funciones, consultaespacial y las operaciones de geometría. GDAL API es un API fantástico para leer (y escribir en muchos casos) varias fuentes de datos vectoriales.

Enlaces externos