¿No sabes por dónde empezar? Ayúdanos normalizando artículos.
¿Tienes experiencia? Crea alguno de estos artículos de actualidad.
Geodjango
|
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.
Sumario
[ocultar]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:
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.