This integration provides access to Indian satellite data including DEM (Digital Elevation Model), orthoimages, and various thematic layers from Bhuvan (ISRO/NRSC) and other sources.
- BhuvanAPI: Access to ISRO's Bhuvan geoportal
- MOSDACApi: Meteorological satellite data (requires registration)
- VEDASApi: Earth observation data (requires registration)
- SatelliteDataManager: Unified interface for all APIs
satellite_imagery_view: Main page for viewing satellite imageryget_satellite_dem: Fetch DEM data for satellite's current positionget_satellite_imagery: Fetch optical imageryget_location_imagery: Fetch imagery for any locationbhuvan_capabilities: Get available WMS layers
GET /sat/<norad_id>/imagery - Satellite imagery page
GET /api/sat/<norad_id>/dem - Get DEM data (AJAX)
GET /api/sat/<norad_id>/imagery - Get optical imagery (AJAX)
GET /api/location/imagery - Get imagery for any location (AJAX)
GET /api/bhuvan/capabilities - List available layers
Navigate to: http://localhost:8000/sat/<norad_id>/imagery
Example: http://localhost:8000/sat/43013/imagery (for Cartosat-3)
from satTrack.satellite_data_api import SatelliteDataManager
# Initialize the manager
manager = SatelliteDataManager()
# Get DEM data for a location
dem_data = manager.get_imagery_for_satellite_position(
lat=28.6139, # New Delhi
lon=77.2090,
radius_km=50,
data_type='dem'
)
# Get optical imagery
imagery = manager.get_imagery_for_satellite_position(
lat=28.6139,
lon=77.2090,
radius_km=50,
data_type='optical'
)// Fetch DEM data
$.ajax({
url: '/api/sat/43013/dem',
method: 'GET',
data: { radius: 50 },
headers: {'X-Requested-With': 'XMLHttpRequest'},
success: function(response) {
if (response.success) {
// Display image: data:image/png;base64,{response.dem_data.image_data}
$('#image').attr('src', 'data:image/png;base64,' + response.dem_data.image_data);
}
}
});
// Fetch imagery for any location
$.ajax({
url: '/api/location/imagery',
method: 'GET',
data: {
lat: 28.6139,
lon: 77.2090,
radius: 50,
type: 'optical',
layer: 'resourcesat2'
},
headers: {'X-Requested-With': 'XMLHttpRequest'},
success: function(response) {
// Handle response
}
});URL: https://bhuvan.nrsc.gov.in/
Available Layers:
india3- India satellite imagery compositeresourcesat2- Resourcesat-2 imagerycartosat1- Cartosat-1 high resolutiondem- Digital Elevation Modellulc- Land Use Land Coverforest- Forest coverwater- Water bodies
Registration: Not required for WMS access Usage: Integrated and ready to use
URL: https://www.mosdac.gov.in/
Available Satellites:
- INSAT-3D, INSAT-3DR (Weather)
- SCATSAT-1 (Ocean scatterometer)
- Oceansat-2, Oceansat-3
- Megha-Tropiques
Registration: Required Status: Placeholder implementation (needs credentials)
URL: https://vedas.sac.gov.in/
Registration: Required Status: Placeholder implementation (needs credentials)
- Install dependencies:
pip install -r requirements.txt- Run migrations (if needed):
python manage.py migrate- Start the development server:
python manage.py runserver- What: Terrain elevation data
- Use: Understanding ground elevation, terrain analysis
- Resolution: Variable depending on source
- Format: Grayscale image (darker = lower, lighter = higher)
- What: Geometrically corrected satellite imagery
- Use: True-to-scale mapping, feature identification
- Sources: Resourcesat-2, Cartosat-1
- Format: RGB or multispectral image
- What: Classified data (land use, forest, water)
- Use: Environmental monitoring, planning
- Format: Colored classification maps
- Bhuvan WMS:
- Free to use
- No authentication required
- Subject to service availability
- Rate limits may apply
Note: This project includes a small WMS proxy at /proxy/wms which forwards WMS GetMap/GetCapabilites requests to Bhuvan. Using the proxy avoids CORS issues for client-side Leaflet WMS layers and allows you to add caching or authentication server-side if needed.
-
MOSDAC & VEDAS:
- Require registration
- Implementation is placeholder
- Need to add authentication logic
-
Image Resolution:
- Default: 512x512 or 1024x1024 pixels
- Can be adjusted in API calls
- Higher resolution = larger file size
-
Coverage:
- Primarily India and surrounding regions
- Some global coverage available
- Check if satellite has valid TLE data
- Verify Bhuvan service is online
- Check browser console for errors
- Try different layer/satellite combination
- Reduce radius parameter
- Lower image resolution
- Check network connectivity
- Bhuvan service may be down
- Check if coordinates are within India
- Try different layer
-
Add Authentication:
- Implement MOSDAC login
- Implement VEDAS authentication
-
Caching:
- Cache frequently accessed tiles
- Implement local tile storage
-
Advanced Features:
- Multi-temporal analysis
- Image processing tools
- Download functionality
- Custom area selection
-
Additional Sources:
- Integrate with other satellite data providers
- Add ESA Copernicus data
- Add NASA GIBS data
bhuvan = BhuvanAPI()
# Get capabilities
capabilities = bhuvan.get_capabilities()
# Get satellite imagery
image = bhuvan.get_satellite_imagery(
bbox=(77, 28, 78, 29),
layer='resourcesat2',
width=1024,
height=1024
)
# Get DEM data
dem = bhuvan.get_dem_data(lat=28.6, lon=77.2, radius=0.1)
# Get ortho image
ortho = bhuvan.get_ortho_image(
bbox=(77, 28, 78, 29),
satellite='cartosat1'
)
# Get feature info
info = bhuvan.get_feature_info(lat=28.6, lon=77.2, layer='india3')manager = SatelliteDataManager()
# Get imagery for satellite position
data = manager.get_imagery_for_satellite_position(
lat=28.6,
lon=77.2,
radius_km=50,
data_type='optical' # or 'dem'
)
# Get available layers
layers = manager.get_available_layers()
# Download tile
success = manager.download_tile(
bbox=(77, 28, 78, 29),
output_path='tile.png',
layer='resourcesat2'
)- Bhuvan Portal: https://bhuvan.nrsc.gov.in/
- MOSDAC: https://www.mosdac.gov.in/
- VEDAS: https://vedas.sac.gov.in/
- ISRO: https://www.isro.gov.in/
- Bhuvan Open Data: https://bhuvan-app3.nrsc.gov.in/data/download/index.php
For issues or questions:
- Check the troubleshooting section
- Verify Bhuvan service status
- Review browser console for errors
- Check Django logs for server-side errors