How to create maps
As a learning exercise, I wanted to learn the basics of cartography from scratch.
I wanted to know how maps are created especially for routing and navigation.
Suppose I want to map the routes within my locality/society. How should I proceed with that.
I know I should take GPS coordinates of the turns etc, but what's the best way to do so that the data can be collected with minimal manual effort
and can be used efficiently.
Well, you'll want to get the data into a geospatial vector format like GML, WKT, or Shapefile, at which point you'll be able to use GIS tools to process it.
Raw GPS traces tend to be messy and don't overlap properly. Their evident topologies can also be off as a result. This a is a particular problem with consumer grade GPS.
The Open Street Map project has to deal with these problems and has developed tools for this such as the JOSM editor which can import GPS traces along with air or satellite photos for tracing or reference. Although you could use this on your own, you might want to consider taking part in the overall project by adding to the data already gathered. This will let you do some in the ground data gathering and groundtruthing, but you will have access to all the data everyone else has contributed as well which will save a lot of effort.
Otherwise, you might try a conventional GIS like QuantumGIS or uDig. I use QGIS and it supports loading GPS data and can load georeferenced Sat/Air photos, including online WMS services (You'll need to be aware of licensing issues in using these of course).
Once you have the data in usable form, which takes a fair amount of work, you can turn it into maps. The details will vary a fair bit. A GIS like QGIS has built in support for this ("Symbolization" in formal GIS speak), though the emphasis is on thematic maps rather than reference/navigation maps, you can also run a "Web Map Service" (WMS) using a server like GeoServer or MapServer, which can be used in an api like Google Maps or OpenLayers. OpenLayers also supports the direct use of some vector feature data or Web Feature Services (WFS). In the Open Street Map environment, this is primarily the job of web services called "Renderers", with Mapnik and Osmarender being the two prime examples. There are various other renderers, both as web services and stand alone programs, and converters to other formats like the GIS formats, or for use on Garmin GPS receivers.
I think Open Street Map is far and away the best route for getting into this gradually. Jumping into all up GIS is far more complex and will give you far less quick gratification. You can always move on to the more formal stuff later.