Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design. GeoDjango is an official branch of Django that intends to be a world-class geographic web framework. GeoDjango is BSD-licensed and cross-platform (Linux, Windows, Mac OS X, and Solaris platforms) and supports the spatial capabilities of the PostGIS, Oracle, and MySQL databases.
Django development revolves around “MTV:” Models, Templates, and Views. Models describe your data, and GeoDjango extends Django models with geographic fields that correspond to OGC geometries. GeoDjango requires no knowledge of SQL, as both the creation and querying of spatial databases are fully automated through the use of Django’s object-relational mapper (ORM). Spatial queries enable the developer to explore relationships among their models. Views are regular Python functions that act as the logic of the web application and feed parameters to templates for generation of web output.
Using the Python ctypes library, GeoDjango provides high-performance built-in “pythonic” APIs to the powerful GEOS and GDAL open source geographic libraries. The interfaces include powerful functionality for manipulating, examining, and importing spatial data. For example, the LayerMapping utility uses the OGR capabilities of GDAL for automatic importation and transformation of spatial data formats (e.g., shapefiles) into GeoDjango models.
GeoDjango speaks the languages of the geographic web and supports KML, GML, WKT, WKB, GeoRSS, and GeoJSON formats. Web maps may be created using the APIs for Google Maps and OpenLayers. Moreover, the built-in geographic admin supports the manipulation and visualization of spatial data. Databrowse dynamically creates a rich, browsable web site by introspecting your models.
Justin Bronn is a computer scientist and third-year law student at the University of Houston who enjoys studying legal topics related to intellectual property and spatial law. Prior to creating GeoDjango, Justin worked as a patent engineer for an intellectual property boutique in Houston and developed scientific data analysis applications for the Southwest Research Institute in San Antonio.
In his spare time, Justin enjoys programming in Python and monitoring the crime rate in Houston via his Houston Crime Maps mash-up.
Justin received a B.S. with honors in Computer Science from Trinity University in San Antonio, Texas.