Learn Geographic Information Systems with geodjango
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:
- Burger King
… 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.