Everything is becoming smarter: we have smartphones, vacuums that remember our house layouts, smart homes that let us transform manual tasks into automatic ones, smart maps, etc. GeoDjango is a module of Django, a popular Python framework. It helps developers create location-based applications (for instance, Tinder).
In this GeoDjango tutorial, we will be working in a Linux environment (Ubuntu Linux 16.04) to create a smart map. The latter concept refers to a map that presents information. If you are using a different operating system, you can run Linux alongside it. Another option is that you can download a virtual machine such as Vmware Player or Virtual Box.
For instance, a smart map could indicate the population density in cities, shops near you, criminal activity statistics, etc. For this webGIS application, we will be using Bootstrap, JavaScript, AJAX, Pandas, Leaflet, and Python. Additionally, we will be infusing our app with PostgreSQL and PostGIS databases. Therefore, students should be aware of these frameworks, processes, and languages beforehand.
GeoDjango is the module to use when you need to create a data-driven map. It makes it rather easy to create Python GIS (geographic information system). The latter refers to using and managing location-based information. While there are many opinions on GIS, I describe GIS as the way of visualizing data as a map.
Such representation makes data more approachable, with people more likely to examine data in a map rather than in a long spreadsheet. While some Python GIS projects might be full-fledged, this tutorial shows you how to create a basic data-driven map.
In this GeoDjango tutorial, we will be representing data in the form of a map. The idea behind this project is that we will use a variety of different resources to display the differences between the water intake in the suburbs of Cape Town.
During my own journey to creating Python GIS applications, I battled many obstacles. For instance, integrating Leaflet in Python. As you might know, Leaflet.js is an open-source JavaScript library for developing web mapping apps. I struggled with the integration of different components. Therefore, I hope that my course will reveal many red flags and potential difficulties before you stumble upon them.
For the front-end of this application, I will be using JavaScript and its libraries. For the back-end, I will apply Python and its GeoDjango framework. The map that we will produce will have several layers, will be area-based, and will present information in graphs as well. Full disclosure: to create graphs in this app, I used Chart.js.
This course on GeoDjango and the development of GIS systems takes a very practical approach, helping you learn through a real-life project. Therefore, it will serve you as the baseline for your future GIS projects. Let’s start building this GeoDjango application and learning how to use maps as one of the data visualization options!
Course consist of total 3h 38min of content, in total.
Edwin Bomela is a Big Data Engineer and Consultant, involved in multiple projects ranging from Business Intelligence, Software Engineering, IoT and Big data analytics. Expertise are in building data processing pipelines in the Hadoop and Cloud ecosystems and software development.
He is currently a consulting at one of the top business intelligence consultancies helping clients build data warehouses, data lakes, cloud data processing pipelines and machine learning pipelines. The technologies he uses to accomplish client requirements range from Hadoop, Amazon S3, Python, Django, Apache Spark, MSBI, Microsoft Azure, SQL Server Data Tools, Talend and Elastic MapReduce.