How to design a Geospatial Backend which can conduct map analysis using Django

The stack needed for this :gear::

  • Python ^3.6
  • Django ^3.1 (with GeoDjango plugin)
  • Django Rest Framework
  • Postgres (with postgis extension)

Geometric Representation
There are many standard formats of representing map data. Lets take a quick look at them:
GeoJson :

{
    "type": "Feature",
    "properties": {
        "name": "Coors Field",
        "amenity": "Baseball Stadium",
        "popupContent": "This is where the Rockies play!",
    },
    "geometry": {
         "type": "Point",
         "coordinates": [ -104.99404, 39.75621]
    }
}

Geometric Markup Language

 <gml:Point gml:id="p21" srsName="http://www.opengis.net/def/crs/EPSG/0/4326">
    <gml:coordinates>45.67, 88.56</gml:coordinates>
 </gml:Point>

Well Known Text (WKT)

POINT(2 2)
LINESTRING(0 0 0,1 0 0,1 1 2)

Since we are making a REST backend, we would be using GeoJson in our HTTP payload.

Read more about it here- Designing A Geospatial Rest Backend Using GeoDjango