GeoDjango - Geographic Web Applications for Perfectionists with Deadlines
Presentation | Presented
- Justin Bronn, None
- Travis Pinney, None
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. Specifically, GeoDjango automates the tedious aspects of both web and GIS development, allowing the developer to save time and work at a higher level of abstraction.
GeoDjango is BSD licensed and fully cross-platform, as it may run on Linux, Windows, Mac OSX, and Solaris platforms. The requirements are Python, psycopg2, PostGIS, and the PROJ.4 and GEOS libraries. GDAL is highly recommended, but not required.
Django development revolves around “MTV”: Models, Templates, and Views. Models describe your data, and GeoDjango extends Django models with support for OGC geographic fields. Further, 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). Views are regular Python functions that act as the logic of the web application and feed their output to templates for generation of web output.
Other highlights of GeoDjango include new Python APIs for GEOS and GDAL using the excellent ctypes library. The LayerMapping utility automates the importation and spatial transformation of geographic vector data (e.g., SHP files) and field data directly into models. These are in addition to Django features such as RESTful URLs, automatic admin interfaces, and robust caching.
This presentation will be broken into two parts. Part I will cover the aforementioned framework components in more detail. Part II will be a live demonstration, as a complete GIS web application will be implemented, from the ground up, in 10 minutes.
Supporting Files
- GeoDjango_Presentation.ppt (application/vnd.ms-powerpoint)
- GeoDjango_Presentation.pdf (application/pdf)
- GeoDjango_foss4g_code.zip (application/zip)

