
Download and set up geodjango by selecting a django version from the official guides and preparing a linux server on DigitalOcean with Ubuntu 14.04 for installation.
guide to setting up geodjango on an ubuntu server, including updating the system, installing python and pip, installing django, and creating a virtual environment to run the project.
Download GEOS, select the appropriate version, install required libraries such as PROJ, extract the tarball, configure, and run make and make install to complete the setup.
Learn to download two folders, export them, then configure, make, and sudo make install proj4 version 4.8.0 to install the cartographic projections library for geodjango.
Install PostgreSQL 9.4 on Ubuntu by updating repositories, selecting trusty 14.04, and installing the client and dev libraries. Configure the environment to support building PostgreSQL from source and complete setup.
Learn how to install PostGIS on PostgreSQL, choose a version, install necessary components, create a database, enable the PostGIS extension, and verify the installation with a version check.
Learn to set up a GeoDjango project with PostgreSQL and PostGIS, including creating the database and user, enabling the PostGIS extension, and configuring Django settings.
Learn gis database types in geodjango, including point fields for locations and polygon or multipolygon fields for map areas.
Explore geographic database types and GIS concepts using GeoDjango, learn to register and manage models, run and test a server, and map points on our own web sites.
Create a GeoDjango database for check-ins by defining models with point fields, running migrations, and wiring user names to records, then verify data on the remote server.
Create a two-page Django html check-in app that collects username, photo link, latitude, and longitude, then shows all check-ins on a map with user details and distances.
Learn how to add a check-in form on the page to collect latitude and longitude, with inputs for name, username, location name, and image, to locate users on a map.
Learn to convert latitude and longitude data into a point using GEOS in Django, save the point to the database, and verify it on the map and in the admin.
Learn to list users by distance from a given location using geodjango, defining a query, filtering by distance, and ordering results from nearest to farthest.
Learn to list and display users from shell.html to show.html in a geodjango app, iterating users and calculating distances to show nearest users within a radius.
Learn to calculate and display each user's exact distance from a location in meters, using the distance measurement type and listing users from nearest to farthest.
Learn how to show users within a specified distance on a map using the Google Maps JavaScript API, filter by distance, and display multiple markers with latitude and longitude.
Show multiple user locations on the map using complex markers like Aitken's and a beaches array, looping to place markers with images and coordinates, and adjust zoom to view photos.
Learn to display user photos as interactive markers on a map, link each marker to a profile, and implement rich markers using JavaScript and static files in geodjango.
Learn to display multiple rich map markers for user locations stored in the database, using a loop to place markers, adjust zoom, and show social links when available.
Learn how to determine a website visitor's country from their IP and automatically switch the page language, using a geolocation database and simple server-side logic.
Learn to receive users' latitude and longitude using geolocation and integrate the location feature into your own web site, with Google Maps prompts and sample code.
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:
... 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.