OpenStreetMap India¶
The world's largest community-made map — fully free, always updated, incredibly detailed for India.
What Is OpenStreetMap?¶
OpenStreetMap (OSM) is like the Wikipedia of maps — built and maintained by millions of volunteers around the world, freely available to everyone.
For India, OSM contains: - Road networks (highways, state roads, rural roads, paths) - Building footprints (especially in cities) - Rivers and water bodies - Administrative boundaries (states, districts, villages) - Points of interest (temples, schools, hospitals, shops) - Railways and metro lines - Land use areas (agricultural, residential, industrial)
Unlike government boundary data, OSM is updated constantly. New roads, new schools, new villages — volunteers add them as they are built.
Where to Download OSM Data for India¶
You don't download from openstreetmap.org directly (the full world file is 70+ GB!). Use these extract services instead:
Option A: Geofabrik (Best for India Extracts) 🟢¶
https://download.geofabrik.de/asia/india.html
Available downloads:
- india-latest.osm.pbf — Full India dataset (~600 MB)
- State-level extracts: Maharashtra, Tamil Nadu, Uttar Pradesh, etc.
Formats:
- .osm.pbf — Compressed OSM format (open with QGIS or JOSM)
- .shp.zip — Shapefile extracts by layer type (roads, buildings, etc.)
Step-by-step:
1. Go to download.geofabrik.de/asia/india.html
2. Click on a state name to download state-level data, or click india-latest.shp.zip for a shapefile bundle
3. The .shp.zip contains separate shapefiles for: roads, railways, buildings, land use, waterways, natural features, points
Option B: BBBike (Custom Area Extraction) 🟢¶
When you need just a specific city or district (not the whole state), BBBike lets you draw a box on the map and download only that area.
How to use: 1. Visit extract.bbbike.org 2. Search for your city (e.g., "Pune" or "Nagpur") 3. Draw the bounding box on the map 4. Choose format: GeoJSON (recommended for web) or Shapefile 5. Enter your email → click Extract 6. You'll receive a download link within 5–30 minutes
Option C: Overpass API (Query Specific Features) 🔵¶
The Overpass API lets you query OSM for specific feature types within an area.
Example: Get all hospitals in Maharashtra
[out:json][timeout:90];
area["name"="Maharashtra"]->.searchArea;
(
node["amenity"="hospital"](area.searchArea);
way["amenity"="hospital"](area.searchArea);
);
out body;
>;
out skel qt;
- Go to overpass-turbo.eu
- Paste the query above
- Click Run
- Click Export → GeoJSON → Download
What Layers Are Available?¶
When you download the India shapefile bundle from Geofabrik, you get these layers:
| Layer | File | What It Contains |
|---|---|---|
| Roads | gis_osm_roads_free_1.shp |
All roads from motorways to footpaths |
| Buildings | gis_osm_buildings_a_free_1.shp |
Building footprints |
| Land Use | gis_osm_landuse_a_free_1.shp |
Residential, agriculture, forest areas |
| Waterways | gis_osm_waterways_free_1.shp |
Rivers, streams, canals |
| Water Bodies | gis_osm_water_a_free_1.shp |
Lakes, reservoirs, ponds |
| Points of Interest | gis_osm_pois_free_1.shp |
Schools, temples, hospitals, ATMs |
| Railways | gis_osm_railways_free_1.shp |
Rail lines, metro, tram |
| Natural Features | gis_osm_natural_a_free_1.shp |
Forests, beaches, wetlands |
OSM for Administrative Boundaries¶
OSM has India's administrative boundaries at all levels — and these are often more current than official government sources.
Using OSM boundaries in QGIS:
1. Download the gis_osm_landuse_a_free_1.shp — look for boundary type features
2. Or use the Geofabrik land use file which includes boundary polygons
Better option for clean boundaries: See GADM Boundaries →
Licence and Usage¶
OSM data is licensed under Open Database Licence (ODbL) — you can use it freely for: - Academic research ✅ - Commercial applications ✅ - Government projects ✅ - Publishing maps ✅ (attribution required)
Attribution required: When publishing a map using OSM data, add: "© OpenStreetMap contributors"
✏️ Practice Exercise¶
Exercise 1.2 — Map All Schools in Your District
Goal: Download OSM data and find all schools in your district.
Time needed: 30 minutes
Using Overpass Turbo:
- Go to overpass-turbo.eu
- In the search box, type your district name (e.g., "Pune District")
- Paste this query (replace "Pune" with your district):
[out:json][timeout:60];
area["name"="Pune"]["admin_level"="6"]->.searchArea;
(
node["amenity"="school"](area.searchArea);
way["amenity"="school"](area.searchArea);
);
out center;
- Click Run → Wait → Click Export → GeoJSON
- Open the GeoJSON in QGIS
Questions to explore: - [ ] How many schools are mapped in your district? - [ ] Are they concentrated in urban areas? - [ ] Which areas have no schools mapped? (Could be missing data or genuinely no schools)
Pro tip: Compare with UDISE+ school data to see how complete OSM's coverage is!
Strengths & Limitations¶
| Strengths | Limitations |
|---|---|
| Always up-to-date | Coverage varies by area (cities better than rural) |
| Very detailed in cities | Data quality depends on volunteer effort |
| Free and no restrictions | May not match official administrative boundaries exactly |
| Global, consistent format | Large files for full India dataset |
| Huge community support | Some data in local scripts (may need transliteration) |
Related Datasets in This Book¶
- GADM Boundaries — Official administrative boundaries (more authoritative)
- PMGSY Roads — Government rural road network data
- UDISE+ — Official school location data to compare with OSM
- MapLibre Web Maps — Build web maps using OSM base tiles
Next Dataset: GADM Administrative Boundaries →