Learn Geographic Information Systems with geodjango

Learn to create location-based applications like Swarm, Tinder, and Foursquare using PointField and PolygonField data types.

  • Overview
  • Curriculum
  • Instructor
  • Review

Brief Summary

This course teaches you how to build location-based apps similar to Swarm, Tinder, and Foursquare. You'll learn how to utilize various data types for saving and retrieving location info, filtering by distance, and using Google Maps to enhance user experience.

Key Points

  • Creating location-based applications like Swarm, Tinder, and Foursquare.
  • Understanding and using PointField and PolygonField data types.
  • Implementing location features with latitude and longitude.
  • Learning to filter search results by distance.
  • Exploring Google Maps functions and GEOIP integration.

Learning Outcomes

  • Develop apps that utilize PointField for user location tracking.
  • Implement search filters based on proximity to a location.
  • Integrate Google Maps to display and manage location data.
  • Understand the workings of GEOIP for geographic location retrieval.
  • Create unique apps for finding friends and tracking locations.

About This Course

Learn how to create location based applicatons like swarm, foursquare or tinder.

We can add anything onto our standard databases and then search up queries like listing them in a particular chronological order or for instance, showing people who has a name starting with the letter a. But have you ever thought about how we save a particular location, more precisely, their latitude and longitude information by using queries? What about listing these queries from the nearest to the most far, most far to the nearest and everything else like searching up within a particular kilometer?

If the subject is location, we also need to learn how to use other data types as well as customary databases like pointfield or polygonfield.

What is a PointField?

Simply put, it is a type of data that we use to save the coordinates (latitude and longitude) of the users.

What is a PolygonField?

This is the type of data that you would need to use if you want to plot a particular area instead of just plotting a point on the map. Examples include: land, patch of an area, country, city, the area of a house etc.

Where can I use PointField? Where would it benefit me?

For example, when you check-in using the swarm app, the app will receive your latitude and logitude information where you have checked in at that moment. This information will be sent to their server and will be saved into the pointfield after being transformed into a point. Then your location will be shared with everyone instantly.

What else does Swarm do?

For example, when you are checking in, it comes up with some suggestions. For example, if you are eating in London in Burger King, and you have a Starbucks nearby, it will be suggested to you.

Here is an example of what the suggestions may look like:

  1. Burger King

  2. Starbucks

  3. London

  4. Others...

... but how does swarm know that you are near these places?

Because these are actually saved into the database of Swarm as a pointfield. So it's listing these localities from the closest to the most far. After you have learnt from these lectures, you will find it's really easy make such filters.

Additionally, you will also learn how to add limitations within a chosen quantity of kilometer . So you could request to show people for instance only within 10km in distance and list those from the nearest to the farthest.

Let's talk a bit about Tinder.

What does Tinder do? It shows you the nearest opposite sex. If you are not interested in the users nearby, it will show you someone else that is farther and the distance will gradually become higher. For example, if you are not interested in the people within 0.3km away, the distance will gradually increase to like 2km, 5km, 10km but for example if you are using Tinder in Turkey, you obviously won't see people who are in Germany.

Basically, Tinder saves your location into their pointfield and lists people who are the nearest to the farthest to your location.

Tinder also shows your distance to other users.

With these lectures, you will also learn these and how to calculate the distance in between two users using km's or miles.

Congratulations, you can now create apps such as swarm, tinder or foursquare.

So what else can we do?

Find my friends: you can make an app where you can find all your friends over a map.

You can create a special app where people can follow their girlfriends over a map.

You can create an app for rent a car type of businesses to follow the location of the vehicle.

For example, you can create an app for an employer who has a business that is usually done outside by an employee like working as a taxi driver. Usually, you would need an expensive GPS device for such things but you can simply make them download an app for their mobile phone and constantly watch their current location.

Not only these.

If you have a website about selling property (real estate) and instead of writing just the km2 of the house, you can show the location of the property on the map including its area giving more details. Who wouldn't want that?

Not only all of these, after these lectures, you will also learn about all the basics of Google Maps.

You will be able to show the people you have previously saved over google maps too.

You will gain knowledge about map markers.

You will gain knowledge about complex map markers.

You will see the photos which you have taken from the database as a marker and be able to add links to them.

I have learnt everything about Geodjango, learnt about the types of data, I understand Google Maps too, yes, but you talk a lot about the latitude and logitude information. Where can I find that information?

This is a very smart question. If you want to do this on web, don't worry, I also talk about the usage of the html 5 geolocation feature.

If you have a mobile app (objective-c for iOS and java for android) it is extremely easy to receive the latitude and longitude information. What you do with mobile applications is the same as posting the latitude and longtitude information to the server.

Wow, the amount of information in the lectures are unbelievable! I think that's all we learn.

No. Lastly, let's talk about GEOIP. Basically, GEOIP works by receiving the IP adress to receive information such as the country, county, city, district, adress. And yes, with these lectures, you would be able to learn how to use the GEOIP library.

More info on geodjango . tumblr address.

  • You will gain knowledge about apps such as swarm, tinder and foursquare.

  • If you are thinking about creating a location-based product, you will be able to do this easily.

  • For example, you will be able to find and list users who are the nearest to the farthest to the London eye.

Course Curriculum

Instructor

Profile photo of Yasin Aktimur
Yasin Aktimur

I was born in 1992. I have created projects such as meeting other people via bluetooth,  location based anonymous chats, messaging over a map.    Also, I am the producer of the first listenable dictionary. Basically, soundweet is an app where people talk under specific subjects which they have knowledge about to inform others who are interested.   The reason why I...

Review
4.9 course rating
4K ratings
ui-avatar of Isaac Pozo
Isaac P.
2.0
4 years ago

Not explain the code, just copy and paste form code done.

  • Helpful
  • Not helpful
ui-avatar of George Grisancich
George G.
1.0
4 years ago

Amateurish, clumsy, and error prone.

  • Helpful
  • Not helpful
ui-avatar of H Chaudhari
H C.
4.5
5 years ago

Plz Make Course to aws rds postgreSQL with PostGIS and GeoDjango

  • Helpful
  • Not helpful
ui-avatar of Gabriel Oduori
Gabriel O.
5.0
6 years ago

Was looking to how users can integrate geolocation in their Geodjango form and the course answers that.

  • Helpful
  • Not helpful
ui-avatar of Samir Tendulkar
Samir T.
4.0
6 years ago

Requirements Before you take this course (Please read the Entire Review)

The hardest part of GeoDjango is the installation

* You should be relatively good with Django
* Just know the some PostgreSQL (Either psql or pgadmin3 or 4)

This is the only GeoDjango Video Course anywhere. There is none on youtube and no other on Udemy. If there is then check that out too. This tutorial is very old. You will not be able to install GeoDjango with this tutorial. I know people have said a million bad things about this. However I would not have known GeoDjango without this course.. Please make sure you have ubuntu installed on your computer. If you are using windows, install VirtualBox and download Ubuntu (Its a Linux OS). You might have to do a basic course on Ubuntu either on YouTube or Udemy then do

sudo apt install geos
sudo apt install proj4
sudo apt install gdal
sudo-apt install postgressql
sudo-apt install till postgis

that's it.. you are done as simple as that..
then download pgadmin3 (pgadmin4 is not available on ubuntu at the time of this comment)
make the database on pgadmin3 (its way simpler than psql)

In your Virtual Env do
pip install dj-database-url
pip install psycopg2
pip install pillow

I suffered 2 weeks figuring this out.. Hopefully you don't have to
Trying this on Windows is next to impossible. Don't follow the GeoDjango documents for installing GeoDjango with make and make-install as that is very difficult.

After that you can follow this tutorial.. I also did the GeoDjango Tutorial in the docs.

  • Helpful
  • Not helpful
ui-avatar of Fred William
Fred W.
0.5
7 years ago

Too much time is given for non subject issues.

  • Helpful
  • Not helpful
ui-avatar of Juan Jose Aparicio Aparicio
Juan J. A. A.
4.0
7 years ago

Esta bien explicado, pero basico y muchos ejemplos de la documentacion. para el que no sabe lo va a guiar bien, pero para los que tenemos algo de conocimiento no sirve mucho, solo algunos tips.

  • Helpful
  • Not helpful
ui-avatar of Lester Williams
Lester W.
5.0
8 years ago

Perfect

  • Helpful
  • Not helpful
ui-avatar of Luca Moiana
Luca M.
0.5
8 years ago

errore iniziale per cui ho dovuto cercare spiegazioni altrove

  • Helpful
  • Not helpful
ui-avatar of Rohan Gupta
Rohan G.
2.0
8 years ago

Not much explanation of concepts and volume also too low in some episodes. The implementation in django is also not appropriate.

  • Helpful
  • Not helpful
Leave A Reply

Your email address will not be published. Required fields are marked *

Ratings

Courses You May Like

Lorem ipsum dolor sit amet elit
Show More Courses