diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..4180ac9 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,28 @@ +name: Tests + +on: + pull_request: + push: + branches: + - master + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: "20" + cache: "npm" + + - name: Install dependencies + run: npm install + + - name: Run tests + run: npm test + + - name: Validate data schemas + run: npm run validate diff --git a/.github/workflows/validate_data.yml b/.github/workflows/validate_data.yml new file mode 100644 index 0000000..4b7545a --- /dev/null +++ b/.github/workflows/validate_data.yml @@ -0,0 +1,30 @@ +name: Validate Data + +on: + pull_request: + paths: + - "data/**" + - "schemas/**" + push: + branches: + - master + paths: + - "data/**" + - "schemas/**" + +jobs: + validate: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: "20" + + - name: Install dependencies + run: npm install + + - name: Validate data files against schemas + run: node scripts/validate_schemas.js diff --git a/README.md b/README.md index 27fcfcf..a61863e 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,93 @@ -# ISRO 🚀 API +# ISRO API -Open Source API for Launched Spacecrafts & Rockets data of ISRO +Open Source API for ISRO spacecraft, launcher, and mission data. -## API End-Points -Spacecraft: [/api/spacecrafts](https://isro.vercel.app/api/spacecrafts) -- Launchers: [/api/launchers](https://isro.vercel.app/api/launchers) -- Customer Satellites: [/api/customer_satellites](https://isro.vercel.app/api/customer_satellites) -- Centres: [/api/centres](https://isro.vercel.app/api/centres) -### Mission End-Points -- Spacecraft Missions: [/api/spacecraft_missions](https://isro.vercel.app/api/spacecraft_missions) +**Live:** [isro.vercel.app](https://isro.vercel.app) +## API Endpoints + +| Endpoint | Description | Records | +|----------|-------------|---------| +| [`/api/spacecrafts`](https://isro.vercel.app/api/spacecrafts) | All ISRO spacecrafts with launch date, vehicle, orbit type, and status | 113 | +| [`/api/launchers`](https://isro.vercel.app/api/launchers) | Launch vehicles classified by family (SLV, ASLV, PSLV, GSLV, LVM-3) | 81 | +| [`/api/customer_satellites`](https://isro.vercel.app/api/customer_satellites) | Foreign satellites launched by ISRO, with ISO dates and normalized countries | 75 | +| [`/api/centres`](https://isro.vercel.app/api/centres) | ISRO research centres across India | 44 | +| [`/api/spacecraft_missions`](https://isro.vercel.app/api/spacecraft_missions) | Detailed mission data: mass, power, orbit, payloads, stabilization, status | 65 | + +## Response Format + +All endpoints return JSON with a consistent wrapper: + +```json +{ + "spacecrafts": [ + { + "id": 1, + "name": "Aryabhata", + "launch_date": "1975-04-19", + "launch_vehicle": "C-1 Intercosmos", + "mission_type": "Scientific/ Experimental", + "orbit_type": null, + "mass_kg": 360.0, + "status": "decommissioned" + } + ] +} +``` + +### Spacecraft Missions Schema + +| Field | Type | Description | +|-------|------|-------------| +| `id` | number | Sequential ID | +| `name` | string | Spacecraft name | +| `mission_type` | string\|null | Mission purpose (Communication, Remote Sensing, etc.) | +| `launch_date` | string\|null | ISO 8601 date (YYYY-MM-DD) | +| `launch_site` | string\|null | Launch facility | +| `launch_vehicle` | string\|null | Rocket used | +| `orbit` | string\|null | Orbit description | +| `orbit_type` | string\|null | Classified: LEO, SSO, GEO, Lunar, Interplanetary, Failed | +| `altitude_km` | number\|null | Orbital altitude in km | +| `inclination_deg` | number\|null | Orbital inclination in degrees | +| `mass_kg` | number\|null | Lift-off mass in kg | +| `power_watts` | number\|null | Onboard power in watts | +| `mission_life` | string\|null | Designed mission lifetime | +| `status` | string | active, decommissioned, failed, or unknown | +| `payloads` | string\|null | Onboard instruments/payloads | +| `stabilization` | string\|null | Attitude control system | +| `propulsion` | string\|null | Propulsion system | + +## Data Normalization + +Raw data is scraped from [isro.gov.in](https://www.isro.gov.in) and normalized using `scripts/normalize_data.py`. The pipeline: + +- Parses 15+ date formats into ISO 8601 +- Resolves 9+ field name variants for mass (e.g., `weight`, `lift-off_mass`, `spacecraft_mass`) into `mass_kg` +- Extracts wattage from complex power strings (e.g., "15 Sq.m Solar Array generating 1360W" -> 1360) +- Classifies orbit types (LEO, SSO, GEO, Lunar, etc.) +- Infers mission status (active/decommissioned/failed) from launch date + mission life +- Normalizes country names and fixes field casing inconsistencies +- Merges fresh scraper output with existing data (idempotent) + +```bash +# Run the normalization pipeline +python scripts/normalize_data.py +``` + +## Tech Stack + +- **Runtime:** Node.js (Vercel Serverless Functions) +- **Data:** Static JSON, zero npm dependencies +- **Data Pipeline:** Python 3 (BeautifulSoup for scraping, custom normalization) +- **Hosting:** [Vercel](https://vercel.com) + +## Contributing + +1. Fork the repository +2. To update data: edit files in `data/` or run the scraper and normalization pipeline +3. To add endpoints: create a new file in `api/` (Vercel auto-routes it) +4. Submit a pull request + +## License + +MIT diff --git a/api/centres.js b/api/centres.js index ebefec3..13cb1eb 100644 --- a/api/centres.js +++ b/api/centres.js @@ -1,20 +1,22 @@ -const fs = require("fs"); +const data = require("../data/centres.json"); -// Load the centers data from a JSON file -let centers = require("../data/centres.json"); +const ALLOWED_FILTERS = ["state"]; -// Export an async function to handle requests module.exports = async (req, res) => { try { - // Send the centers data as the response - res.send(centers); + res.setHeader("Content-Type", "application/json"); + let results = data.centres; + for (const key of ALLOWED_FILTERS) { + if (req.query[key] !== undefined) { + const val = String(req.query[key]).toLowerCase(); + results = results.filter( + (r) => r[key] != null && String(r[key]).toLowerCase() === val + ); + } + } + res.send({ centres: results }); } catch (error) { - // If there is an error, send a 500 status code and the error message and response res.status(500); - const response = error.response || {}; - res.send({ - message: error.message, - response, - }); + res.send({ error: error.message }); } }; diff --git a/api/centres/[id].js b/api/centres/[id].js new file mode 100644 index 0000000..793dfd2 --- /dev/null +++ b/api/centres/[id].js @@ -0,0 +1,21 @@ +const data = require("../../data/centres.json"); + +module.exports = async (req, res) => { + try { + res.setHeader("Content-Type", "application/json"); + const id = parseInt(req.query.id, 10); + if (isNaN(id)) { + res.status(400); + return res.send({ error: "Invalid ID" }); + } + const record = data.centres.find((c) => c.id === id); + if (!record) { + res.status(404); + return res.send({ error: "Not found" }); + } + res.send(record); + } catch (error) { + res.status(500); + res.send({ error: error.message }); + } +}; diff --git a/api/customer_satellites.js b/api/customer_satellites.js index e99808a..9051808 100644 --- a/api/customer_satellites.js +++ b/api/customer_satellites.js @@ -1,20 +1,22 @@ -const fs = require("fs"); +const customerSatellites = require("../data/customer_satellites.json"); -// Load the customer satellite data from a JSON file -let launchers = require("../data/customer_satellites.json"); +const ALLOWED_FILTERS = ["country", "launcher"]; -// Export an async function to handle requests module.exports = async (req, res) => { try { - // Send the customer satellite data as the response - res.send(launchers); + res.setHeader("Content-Type", "application/json"); + let results = customerSatellites.customer_satellites; + for (const key of ALLOWED_FILTERS) { + if (req.query[key] !== undefined) { + const val = String(req.query[key]).toLowerCase(); + results = results.filter( + (r) => r[key] != null && String(r[key]).toLowerCase() === val + ); + } + } + res.send({ customer_satellites: results }); } catch (error) { - // If there is an error, send a 500 status code and the error message and response res.status(500); - const response = error.response || {}; - res.send({ - message: error.message, - response, - }); + res.send({ error: error.message }); } }; diff --git a/api/customer_satellites/[id].js b/api/customer_satellites/[id].js new file mode 100644 index 0000000..be4b22f --- /dev/null +++ b/api/customer_satellites/[id].js @@ -0,0 +1,21 @@ +const data = require("../../data/customer_satellites.json"); + +module.exports = async (req, res) => { + try { + res.setHeader("Content-Type", "application/json"); + const id = parseInt(req.query.id, 10); + if (isNaN(id)) { + res.status(400); + return res.send({ error: "Invalid ID" }); + } + const record = data.customer_satellites.find((s) => s.id === id); + if (!record) { + res.status(404); + return res.send({ error: "Not found" }); + } + res.send(record); + } catch (error) { + res.status(500); + res.send({ error: error.message }); + } +}; diff --git a/api/index.js b/api/index.js index 7a627b0..3af97d3 100644 --- a/api/index.js +++ b/api/index.js @@ -1,15 +1,22 @@ -// Export an async function to handle requests +const endpoints = { + spacecrafts: "/api/spacecrafts", + launchers: "/api/launchers", + customer_satellites: "/api/customer_satellites", + centres: "/api/centres", + spacecraft_missions: "/api/spacecraft_missions", +}; + module.exports = async (req, res) => { try { - // Send a message as the response - res.send("
 ISRO API v0.1.0 
"); - } catch (error) { - // If there is an error, send a 500 status code and the error message and response - res.status(500); - const response = error.response || {}; + res.setHeader("Content-Type", "application/json"); res.send({ - message: error.message, - response, + name: "ISRO API", + version: "1.0.0", + description: "Open Source API for ISRO spacecraft, launcher, and mission data", + endpoints, }); + } catch (error) { + res.status(500); + res.send({ error: error.message }); } }; diff --git a/api/launchers.js b/api/launchers.js index 4f4ae70..6e01416 100644 --- a/api/launchers.js +++ b/api/launchers.js @@ -1,20 +1,22 @@ -const fs = require("fs"); +const data = require("../data/launchers.json"); -// Load the data for the available launchers from a JSON file -let launchers = require("../data/launchers.json"); +const ALLOWED_FILTERS = ["vehicle_family"]; -// Export an async function to handle requests for the list of available launchers module.exports = async (req, res) => { try { - // Send the list of available launchers as the response - res.send(launchers); + res.setHeader("Content-Type", "application/json"); + let results = data.launchers; + for (const key of ALLOWED_FILTERS) { + if (req.query[key] !== undefined) { + const val = String(req.query[key]).toLowerCase(); + results = results.filter( + (r) => r[key] != null && String(r[key]).toLowerCase() === val + ); + } + } + res.send({ launchers: results }); } catch (error) { - // If there is an error, send a 500 status code and the error message and response res.status(500); - const response = error.response || {}; - res.send({ - message: error.message, - response, - }); + res.send({ error: error.message }); } }; diff --git a/api/launchers/[id].js b/api/launchers/[id].js new file mode 100644 index 0000000..c872e6a --- /dev/null +++ b/api/launchers/[id].js @@ -0,0 +1,21 @@ +const data = require("../../data/launchers.json"); + +module.exports = async (req, res) => { + try { + res.setHeader("Content-Type", "application/json"); + const id = parseInt(req.query.id, 10); + if (isNaN(id)) { + res.status(400); + return res.send({ error: "Invalid ID" }); + } + const record = data.launchers.find((l) => l.id === id); + if (!record) { + res.status(404); + return res.send({ error: "Not found" }); + } + res.send(record); + } catch (error) { + res.status(500); + res.send({ error: error.message }); + } +}; diff --git a/api/spacecraft_missions.js b/api/spacecraft_missions.js index 22ce295..7a0af81 100644 --- a/api/spacecraft_missions.js +++ b/api/spacecraft_missions.js @@ -1,16 +1,22 @@ -const fs = require("fs"); +const spacecraftMissions = require("../data/spacecraft_missions.json"); -let launchers = require("../data/spacecraft_missions.json"); +const ALLOWED_FILTERS = ["status", "orbit_type", "mission_type", "launch_vehicle", "launch_site"]; module.exports = async (req, res) => { - try { - res.send(launchers); - } catch (error) { - res.status(500); - const response = error.response || {}; - res.send({ - message: error.message, - response, - }); + try { + res.setHeader("Content-Type", "application/json"); + let results = spacecraftMissions.spacecraft_missions; + for (const key of ALLOWED_FILTERS) { + if (req.query[key] !== undefined) { + const val = String(req.query[key]).toLowerCase(); + results = results.filter( + (r) => r[key] != null && String(r[key]).toLowerCase() === val + ); + } } + res.send({ spacecraft_missions: results }); + } catch (error) { + res.status(500); + res.send({ error: error.message }); + } }; diff --git a/api/spacecraft_missions/[id].js b/api/spacecraft_missions/[id].js new file mode 100644 index 0000000..73aa88c --- /dev/null +++ b/api/spacecraft_missions/[id].js @@ -0,0 +1,29 @@ +const missions = require("../../data/spacecraft_missions.json"); +const spacecrafts = require("../../data/spacecrafts.json"); + +module.exports = async (req, res) => { + try { + res.setHeader("Content-Type", "application/json"); + const id = parseInt(req.query.id, 10); + if (isNaN(id)) { + res.status(400); + return res.send({ error: "Invalid ID" }); + } + const record = missions.spacecraft_missions.find((m) => m.id === id); + if (!record) { + res.status(404); + return res.send({ error: "Not found" }); + } + const spacecraft = spacecrafts.spacecrafts.find( + (s) => s.name.toLowerCase() === record.name.toLowerCase() + ); + const result = { ...record, _links: { self: `/api/spacecraft_missions/${id}` } }; + if (spacecraft) { + result._links.spacecraft = `/api/spacecrafts/${spacecraft.id}`; + } + res.send(result); + } catch (error) { + res.status(500); + res.send({ error: error.message }); + } +}; diff --git a/api/spacecrafts.js b/api/spacecrafts.js index d7393f9..c4c699e 100644 --- a/api/spacecrafts.js +++ b/api/spacecrafts.js @@ -1,20 +1,22 @@ -const fs = require("fs"); +const data = require("../data/spacecrafts.json"); -// Load the data for the available spacecrafts from a JSON file -let spacecrafts = require("../data/spacecrafts.json"); +const ALLOWED_FILTERS = ["status", "orbit_type", "mission_type", "launch_vehicle"]; -// Export an async function to handle requests for the list of available spacecrafts module.exports = async (req, res) => { try { - // Send the list of available spacecrafts as the response - res.send(spacecrafts); + res.setHeader("Content-Type", "application/json"); + let results = data.spacecrafts; + for (const key of ALLOWED_FILTERS) { + if (req.query[key] !== undefined) { + const val = String(req.query[key]).toLowerCase(); + results = results.filter( + (r) => r[key] != null && String(r[key]).toLowerCase() === val + ); + } + } + res.send({ spacecrafts: results }); } catch (error) { - // If there is an error, send a 500 status code and the error message and response res.status(500); - const response = error.response || {}; - res.send({ - message: error.message, - response, - }); + res.send({ error: error.message }); } }; diff --git a/api/spacecrafts/[id].js b/api/spacecrafts/[id].js new file mode 100644 index 0000000..0342062 --- /dev/null +++ b/api/spacecrafts/[id].js @@ -0,0 +1,29 @@ +const spacecrafts = require("../../data/spacecrafts.json"); +const missions = require("../../data/spacecraft_missions.json"); + +module.exports = async (req, res) => { + try { + res.setHeader("Content-Type", "application/json"); + const id = parseInt(req.query.id, 10); + if (isNaN(id)) { + res.status(400); + return res.send({ error: "Invalid ID" }); + } + const record = spacecrafts.spacecrafts.find((s) => s.id === id); + if (!record) { + res.status(404); + return res.send({ error: "Not found" }); + } + const mission = missions.spacecraft_missions.find( + (m) => m.name.toLowerCase() === record.name.toLowerCase() + ); + const result = { ...record, _links: { self: `/api/spacecrafts/${id}` } }; + if (mission) { + result._links.mission = `/api/spacecraft_missions/${mission.id}`; + } + res.send(result); + } catch (error) { + res.status(500); + res.send({ error: error.message }); + } +}; diff --git a/api/stats.js b/api/stats.js new file mode 100644 index 0000000..dbc3d23 --- /dev/null +++ b/api/stats.js @@ -0,0 +1,56 @@ +const spacecrafts = require("../data/spacecrafts.json"); +const launchers = require("../data/launchers.json"); +const customerSatellites = require("../data/customer_satellites.json"); +const centres = require("../data/centres.json"); +const spacecraftMissions = require("../data/spacecraft_missions.json"); + +function countBy(arr, field) { + return arr.reduce((acc, item) => { + const key = item[field] != null ? String(item[field]) : "unknown"; + acc[key] = (acc[key] || 0) + 1; + return acc; + }, {}); +} + +module.exports = async (req, res) => { + try { + res.setHeader("Content-Type", "application/json"); + + const missions = spacecraftMissions.spacecraft_missions; + const crafts = spacecrafts.spacecrafts; + const sats = customerSatellites.customer_satellites; + const launch = launchers.launchers; + const centreList = centres.centres; + + const totalMassKg = sats.reduce((sum, s) => sum + (s.mass_kg || 0), 0); + + res.send({ + totals: { + spacecrafts: crafts.length, + launchers: launch.length, + customer_satellites: sats.length, + centres: centreList.length, + spacecraft_missions: missions.length, + }, + spacecraft_missions: { + by_status: countBy(missions, "status"), + by_orbit_type: countBy(missions, "orbit_type"), + by_mission_type: countBy(missions, "mission_type"), + }, + spacecrafts: { + by_status: countBy(crafts, "status"), + by_orbit_type: countBy(crafts, "orbit_type"), + }, + customer_satellites: { + by_country: countBy(sats, "country"), + total_mass_kg: Math.round(totalMassKg * 10) / 10, + }, + launchers: { + by_vehicle_family: countBy(launch, "vehicle_family"), + }, + }); + } catch (error) { + res.status(500); + res.send({ error: error.message }); + } +}; diff --git a/data/centres.json b/data/centres.json index f8deb71..f825583 100644 --- a/data/centres.json +++ b/data/centres.json @@ -1,268 +1,268 @@ { - "centres": [ - { - "id": 1, - "name": "Semi-Conductor Laboratory (SCL)", - "Place": "Chandigarh", - "State": "Punjab/Haryana" - }, - { - "id": 2, - "name": "Western RRSC", - "Place": "Jodhpur", - "State": "Rajasthan" - }, - { - "id": 3, - "name": "Solar Observatory", - "Place": "Udaipur", - "State": "Rajasthan" - }, - { - "id": 4, - "name": "Space Applications Centre (SAC)", - "Place": "Ahmedabad", - "State": "Gujarat" - }, - { - "id": 5, - "name": "Physical Research Laboratory (PRL)", - "Place": "Ahmedabad", - "State": "Gujarat" - }, - { - "id": 6, - "name": "Development and Educational Communication Unit (DECU)", - "Place": "Ahmedabad", - "State": "Gujarat" - }, - { - "id": 7, - "name": "Infrared Observatory", - "Place": "Mt.Abu", - "State": "Rajasthan" - }, - { - "id": 8, - "name": "Master Control Facility-B (MCF)", - "Place": "Bhopal", - "State": "Madhya Pradesh" - }, - { - "id": 9, - "name": "ISRO Liaison Office", - "Place": "Mumbai", - "State": "Maharashtra" - }, - { - "id": 10, - "name": "Indian Deep Space Network (IDSN)", - "Place": "Byalalu", - "State": "Karnataka" - }, - { - "id": 11, - "name": "Indian Space Science Data Centre (ISSDC)", - "Place": "Byalalu", - "State": "Karnataka" - }, - { - "id": 12, - "name": "Master Control Facility (MCF)", - "Place": "Hassan", - "State": "Karnataka" - }, - { - "id": 13, - "name": "Ammonium Perchlorate Experimental Plant", - "Place": "Aluva", - "State": "Kerala" - }, - { - "id": 14, - "name": "Space Commission", - "Place": "Bengaluru", - "State": "Karnataka" - }, - { - "id": 15, - "name": "Department of Space and ISRO Headquarters", - "Place": "Bengaluru", - "State": "Karnataka" - }, - { - "id": 16, - "name": "INSAT Programme Office", - "Place": "Bengaluru", - "State": "Karnataka" - }, - { - "id": 17, - "name": "NNRMS Secretariat", - "Place": "Bengaluru", - "State": "Karnataka" - }, - { - "id": 18, - "name": "Civil Engineering Programme Office", - "Place": "Bengaluru", - "State": "Karnataka" - }, - { - "id": 19, - "name": "Antrix Corporation", - "Place": "Bengaluru", - "State": "Karnataka" - }, - { - "id": 20, - "name": "U R Rao Satellite Centre (URSC)", - "Place": "Bengaluru", - "State": "Karnataka" - }, - { - "id": 21, - "name": "Laboratory for Electro-Optical Systems (LEOS)", - "Place": "Bengaluru", - "State": "Karnataka" - }, - { - "id": 22, - "name": "ISRO Telemetry, Tracking and Command Network (ISTRAC)", - "Place": "Bengaluru", - "State": "Karnataka" - }, - { - "id": 23, - "name": "Southern RRSC", - "Place": "Bengaluru", - "State": "Karnataka" - }, - { - "id": 24, - "name": "Liquid Propulsion Systems Centre (LPSC)", - "Place": "Bengaluru", - "State": "Karnataka" - }, - { - "id": 25, - "name": "Human Space Flight Centre (HSFC)", - "Place": "Bengaluru", - "State": "Karnataka" - }, - { - "id": 26, - "name": "New Space India Limited (NSIL)", - "Place": "Bengaluru", - "State": "Karnataka" - }, - { - "id": 27, - "name": "New Space India Limited (NSIL)", - "Place": "New Delhi", - "State": "Delhi" - }, - { - "id": 28, - "name": "ISRO Branch Office", - "Place": "New Delhi", - "State": "Delhi" - }, - { - "id": 29, - "name": "Delhi Earth Station", - "Place": "New Delhi", - "State": "Delhi" - }, - { - "id": 30, - "name": "Indian Institute of Remote Sensing (IIRS)", - "Place": "Dehradun", - "State": "Uttarakhand" - }, - { - "id": 31, - "name": "Centre for Space Science and Technology Education in Asia-Pacific (CSSTEAP)", - "Place": "Dehradun", - "State": "Uttarakhand" - }, - { - "id": 32, - "name": "ISTRAC Ground Station", - "Place": "Lucknow", - "State": "Uttar Pradesh" - }, - { - "id": 33, - "name": "Eastern RRSC", - "Place": "Kolkata", - "State": "West Bengal" - }, - { - "id": 34, - "name": "North Eastern Space Application Centre (NE-SAC)", - "Place": "Shillong", - "State": "Meghalaya" - }, - { - "id": 35, - "name": "Central RRSC", - "Place": "Nagpur", - "State": "Maharashtra" - }, - { - "id": 36, - "name": "National Remote Sensing Centre (NRSC)", - "Place": "Hyderabad", - "State": "Telangana" - }, - { - "id": 37, - "name": "National Atmospheric Research Laboratory (NARL)", - "Place": "Tirupati", - "State": "Andhra Pradesh" - }, - { - "id": 38, - "name": "Down Range Station", - "Place": "Port Blair", - "State": "Andaman and Nicobar" - }, - { - "id": 39, - "name": "Satish Dhawan Space Centre (SDSC), SHAR", - "Place": "Sriharikota", - "State": "Andhra Pradesh" - }, - { - "id": 40, - "name": "ISRO Propulsion Complex", - "Place": "Mahendragiri", - "State": "Tamil Nadu" - }, - { - "id": 41, - "name": "Vikram Sarabhai Space Centre (VSSC)", - "Place": "Thiruvananthapuram", - "State": "Kerala" - }, - { - "id": 42, - "name": "Liquid Propulsion Systems Centre (LPSC)", - "Place": "Thiruvananthapuram", - "State": "Kerala" - }, - { - "id": 43, - "name": "ISRO Inertial Systems Unit (IISU)", - "Place": "Thiruvananthapuram", - "State": "Kerala" - }, - { - "id": 44, - "name": "Indian Institute of Space Science and Technology (IIST)", - "Place": "Thiruvananthapuram", - "State": "Kerala" - } - ] -} + "centres": [ + { + "id": 1, + "name": "Semi-Conductor Laboratory (SCL)", + "place": "Chandigarh", + "state": "Punjab/Haryana" + }, + { + "id": 2, + "name": "Western RRSC", + "place": "Jodhpur", + "state": "Rajasthan" + }, + { + "id": 3, + "name": "Solar Observatory", + "place": "Udaipur", + "state": "Rajasthan" + }, + { + "id": 4, + "name": "Space Applications Centre (SAC)", + "place": "Ahmedabad", + "state": "Gujarat" + }, + { + "id": 5, + "name": "Physical Research Laboratory (PRL)", + "place": "Ahmedabad", + "state": "Gujarat" + }, + { + "id": 6, + "name": "Development and Educational Communication Unit (DECU)", + "place": "Ahmedabad", + "state": "Gujarat" + }, + { + "id": 7, + "name": "Infrared Observatory", + "place": "Mt.Abu", + "state": "Rajasthan" + }, + { + "id": 8, + "name": "Master Control Facility-B (MCF)", + "place": "Bhopal", + "state": "Madhya Pradesh" + }, + { + "id": 9, + "name": "ISRO Liaison Office", + "place": "Mumbai", + "state": "Maharashtra" + }, + { + "id": 10, + "name": "Indian Deep Space Network (IDSN)", + "place": "Byalalu", + "state": "Karnataka" + }, + { + "id": 11, + "name": "Indian Space Science Data Centre (ISSDC)", + "place": "Byalalu", + "state": "Karnataka" + }, + { + "id": 12, + "name": "Master Control Facility (MCF)", + "place": "Hassan", + "state": "Karnataka" + }, + { + "id": 13, + "name": "Ammonium Perchlorate Experimental Plant", + "place": "Aluva", + "state": "Kerala" + }, + { + "id": 14, + "name": "Space Commission", + "place": "Bengaluru", + "state": "Karnataka" + }, + { + "id": 15, + "name": "Department of Space and ISRO Headquarters", + "place": "Bengaluru", + "state": "Karnataka" + }, + { + "id": 16, + "name": "INSAT Programme Office", + "place": "Bengaluru", + "state": "Karnataka" + }, + { + "id": 17, + "name": "NNRMS Secretariat", + "place": "Bengaluru", + "state": "Karnataka" + }, + { + "id": 18, + "name": "Civil Engineering Programme Office", + "place": "Bengaluru", + "state": "Karnataka" + }, + { + "id": 19, + "name": "Antrix Corporation", + "place": "Bengaluru", + "state": "Karnataka" + }, + { + "id": 20, + "name": "U R Rao Satellite Centre (URSC)", + "place": "Bengaluru", + "state": "Karnataka" + }, + { + "id": 21, + "name": "Laboratory for Electro-Optical Systems (LEOS)", + "place": "Bengaluru", + "state": "Karnataka" + }, + { + "id": 22, + "name": "ISRO Telemetry, Tracking and Command Network (ISTRAC)", + "place": "Bengaluru", + "state": "Karnataka" + }, + { + "id": 23, + "name": "Southern RRSC", + "place": "Bengaluru", + "state": "Karnataka" + }, + { + "id": 24, + "name": "Liquid Propulsion Systems Centre (LPSC)", + "place": "Bengaluru", + "state": "Karnataka" + }, + { + "id": 25, + "name": "Human Space Flight Centre (HSFC)", + "place": "Bengaluru", + "state": "Karnataka" + }, + { + "id": 26, + "name": "New Space India Limited (NSIL)", + "place": "Bengaluru", + "state": "Karnataka" + }, + { + "id": 27, + "name": "New Space India Limited (NSIL)", + "place": "New Delhi", + "state": "Delhi" + }, + { + "id": 28, + "name": "ISRO Branch Office", + "place": "New Delhi", + "state": "Delhi" + }, + { + "id": 29, + "name": "Delhi Earth Station", + "place": "New Delhi", + "state": "Delhi" + }, + { + "id": 30, + "name": "Indian Institute of Remote Sensing (IIRS)", + "place": "Dehradun", + "state": "Uttarakhand" + }, + { + "id": 31, + "name": "Centre for Space Science and Technology Education in Asia-Pacific (CSSTEAP)", + "place": "Dehradun", + "state": "Uttarakhand" + }, + { + "id": 32, + "name": "ISTRAC Ground Station", + "place": "Lucknow", + "state": "Uttar Pradesh" + }, + { + "id": 33, + "name": "Eastern RRSC", + "place": "Kolkata", + "state": "West Bengal" + }, + { + "id": 34, + "name": "North Eastern Space Application Centre (NE-SAC)", + "place": "Shillong", + "state": "Meghalaya" + }, + { + "id": 35, + "name": "Central RRSC", + "place": "Nagpur", + "state": "Maharashtra" + }, + { + "id": 36, + "name": "National Remote Sensing Centre (NRSC)", + "place": "Hyderabad", + "state": "Telangana" + }, + { + "id": 37, + "name": "National Atmospheric Research Laboratory (NARL)", + "place": "Tirupati", + "state": "Andhra Pradesh" + }, + { + "id": 38, + "name": "Down Range Station", + "place": "Port Blair", + "state": "Andaman and Nicobar" + }, + { + "id": 39, + "name": "Satish Dhawan Space Centre (SDSC), SHAR", + "place": "Sriharikota", + "state": "Andhra Pradesh" + }, + { + "id": 40, + "name": "ISRO Propulsion Complex", + "place": "Mahendragiri", + "state": "Tamil Nadu" + }, + { + "id": 41, + "name": "Vikram Sarabhai Space Centre (VSSC)", + "place": "Thiruvananthapuram", + "state": "Kerala" + }, + { + "id": 42, + "name": "Liquid Propulsion Systems Centre (LPSC)", + "place": "Thiruvananthapuram", + "state": "Kerala" + }, + { + "id": 43, + "name": "ISRO Inertial Systems Unit (IISU)", + "place": "Thiruvananthapuram", + "state": "Kerala" + }, + { + "id": 44, + "name": "Indian Institute of Space Science and Technology (IIST)", + "place": "Thiruvananthapuram", + "state": "Kerala" + } + ] +} \ No newline at end of file diff --git a/data/customer_satellites.json b/data/customer_satellites.json index fdca42f..4b7be04 100644 --- a/data/customer_satellites.json +++ b/data/customer_satellites.json @@ -1,528 +1,529 @@ { - "customer_satellites": [{ - "id": "DLR-TUBSAT", - "country": "Germany", - "launch_date": "26-05-1999", - "mass": "45", - "launcher": "PSLV-C2" - }, - { - "id": "KITSAT-3", - "country": "REPUBLIC OF KOREA", - "launch_date": "26-05-1999", - "mass": "110", - "launcher": "PSLV-C2" - }, - { - "id": "BIRD", - "country": "GERMANY", - "launch_date": "22-10-2001", - "mass": "92", - "launcher": "PSLV-C3" - }, - { - "id": "PROBA", - "country": "BELGIUM", - "launch_date": "22-10-2001", - "mass": "94", - "launcher": "PSLV-C3" - }, - { - "id": "LAPAN-TUBSAT", - "country": "INDONESIA", - "launch_date": "10-07-2007", - "mass": "56", - "launcher": "PSLV-C7" - }, - { - "id": "PEHUENSAT-1", - "country": "ARGENTINA", - "launch_date": "10-07-2007", - "mass": "6", - "launcher": "PSLV-C7" - }, - { - "id": "AGILE", - "country": "ITALY", - "launch_date": "23-04-2007", - "mass": "350", - "launcher": "PSLV-C8" - }, - { - "id": "TESCAR", - "country": "ISRAEL", - "launch_date": "21-01-2008", - "mass": "300", - "launcher": "PSLV-C10" - }, - { - "id": "CAN-X2", - "country": "CANADA", - "launch_date": "28-04-2008", - "mass": "7", - "launcher": "PSLV-C9" - }, - { - "id": "CUTE-1.7", - "country": "JAPAN", - "launch_date": "28-04-2008", - "mass": "5", - "launcher": "PSLV-C9" - }, - { - "id": "DELFI-C3", - "country": "THE NETHERLANDS", - "launch_date": "28-04-2008", - "mass": "6.5", - "launcher": "PSLV-C9" - }, - { - "id": "AAUSAT-II", - "country": "DENMARK", - "launch_date": "28-04-2008", - "mass": "3", - "launcher": "PSLV-C9" - }, - { - "id": "COMPASS-I", - "country": "GERMANY", - "launch_date": "28-04-2008", - "mass": "3", - "launcher": "PSLV-C9" - }, - { - "id": "SEEDS", - "country": "JAPAN", - "launch_date": "28-04-2008", - "mass": "3", - "launcher": "PSLV-C9" - }, - { - "id": "NLSS", - "country": "CANADA", - "launch_date": "28-04-2008", - "mass": "16", - "launcher": "PSLV-C9" - }, - { - "id": "RUBIN-8", - "country": "GERMANY", - "launch_date": "28-04-2008", - "mass": "8", - "launcher": "PSLV-C9" - }, - { - "id": "CUBESAT-1", - "country": "GERMANY", - "launch_date": "23-09-2009", - "mass": "1", - "launcher": "PSLV-C14" - }, - { - "id": "CUBESAT-2", - "country": "GERMANY", - "launch_date": "23-09-2009", - "mass": "1", - "launcher": "PSLV-C14" - }, - { - "id": "CUBESAT-3", - "country": "TURKEY", - "launch_date": "23-09-2009", - "mass": "1", - "launcher": "PSLV-C14" - }, - { - "id": "CUBESAT-4", - "country": "SWITZERLAND", - "launch_date": "23-09-2009", - "mass": "1", - "launcher": "PSLV-C14" - }, - { - "id": "RUBIN-9.1", - "country": "GERMANY", - "launch_date": "23-09-2009", - "mass": "1", - "launcher": "PSLV-C14" - }, - { - "id": "RUBIN-9.2", - "country": "GERMANY", - "launch_date": "23-09-2009", - "mass": "1", - "launcher": "PSLV-C14" - }, - { - "id": "ALSAT-2A", - "country": "ALGERIA", - "launch_date": "12-07-2010", - "mass": "116", - "launcher": "PSLV-C15" - }, - { - "id": "NLS6.1 AISSAT-1", - "country": "NORWAY", - "launch_date": "12-07-2010", - "mass": "6.5", - "launcher": "PSLV-C15" - }, - { - "id": "NLS6.2 TISAT-1", - "country": "SWITZERLAND", - "launch_date": "12-07-2010", - "mass": "1", - "launcher": "PSLV-C15" - }, - { - "id": "X-SAT", - "country": "SINGAPORE", - "launch_date": "20-04-2011", - "mass": "106", - "launcher": "PSLV-C16" - }, - { - "id": "VesselSat-1", - "country": "LUXEMBOURG", - "launch_date": "12-10-2011", - "mass": "28.7", - "launcher": "PSLV-C18" - }, - { - "id": "SPOT-6", - "country": "FRANCE", - "launch_date": "09-09-2012", - "mass": "712", - "launcher": "PSLV-C21" - }, - { - "id": "PROITERES", - "country": "JAPAN", - "launch_date": "09-09-2012", - "mass": "15", - "launcher": "PSLV-C21" - }, - { - "id": "SAPPHIRE", - "country": "CANADA", - "launch_date": "25-02-2013", - "mass": "148", - "launcher": "PSLV-C20" - }, - { - "id": "NEOSSAT", - "country": "CANADA", - "launch_date": "25-02-2013", - "mass": "74", - "launcher": "PSLV-C20" - }, - { - "id": "NLS8.1", - "country": "AUSTRIA", - "launch_date": "25-02-2013", - "mass": "14", - "launcher": "PSLV-C20" - }, - { - "id": "NLS8.2", - "country": "AUSTRIA", - "launch_date": "25-02-2013", - "mass": "14", - "launcher": "PSLV-C20" - }, - { - "id": "NLS8.3", - "country": "DENMARK", - "launch_date": "25-02-2013", - "mass": "3", - "launcher": "PSLV-C20" - }, - { - "id": "STRAND-1", - "country": "UNITED KINGDOM", - "launch_date": "25-02-2013", - "mass": "6.5", - "launcher": "PSLV-C20" - }, - { - "id": "SPOT-7", - "country": "FRANCE", - "launch_date": "30-06-2014", - "mass": "714", - "launcher": "PSLV-C23" - }, - { - "id": "AISAT", - "country": "GERMANY", - "launch_date": "30-06-2014", - "mass": "14", - "launcher": "PSLV-C23" - }, - { - "id": "NLS7.1(CAN-X4)", - "country": "CANADA", - "launch_date": "30-06-2014", - "mass": "15", - "launcher": "PSLV-C23" - }, - { - "id": "NLS7.2(CAN-X5)", - "country": "CANADA", - "launch_date": "30-06-2014", - "mass": "15", - "launcher": "PSLV-C23" - }, - { - "id": "VELOX-1", - "country": "SINGAPORE", - "launch_date": "30-06-2014", - "mass": "7", - "launcher": "PSLV-C23" - }, - { - "id": "AMAZONIA-1", - "country": "BRAZIL", - "launch_date": "28-02-2021", - "mass": "637", - "launcher": "PSLV-C51" - }, - { - "id": "DMC3-1", - "country": "UK", - "launch_date": "10-07-2015", - "mass": "447", - "launcher": "PSLV-C28" - }, - { - "id": "DMC3-2", - "country": "UK", - "launch_date": "10-07-2015", - "mass": "447", - "launcher": "PSLV-C28" - }, - { - "id": "DMC3-3", - "country": "UK", - "launch_date": "10-07-2015", - "mass": "447", - "launcher": "PSLV-C28" - }, - { - "id": "CBNT-1", - "country": "UK", - "launch_date": "10-07-2015", - "mass": "91", - "launcher": "PSLV-C28" - }, - { - "id": "De-OrbitSail", - "country": "UK", - "launch_date": "10-07-2015", - "mass": "7", - "launcher": "PSLV-C28" - }, - { - "id": "LAPAN-A2", - "country": "INDONESIA", - "launch_date": "28-09-2015", - "mass": "76", - "launcher": "PSLV-C30" - }, - { - "id": "NLS-14(Ev9)", - "country": "CANADA", - "launch_date": "28-09-2015", - "mass": "14", - "launcher": "PSLV-C30" - }, - { - "id": "LEMUR-1", - "country": "USA", - "launch_date": "28-09-2015", - "mass": "7", - "launcher": "PSLV-C30" - }, - { - "id": "LEMUR-2", - "country": "USA", - "launch_date": "28-09-2015", - "mass": "7", - "launcher": "PSLV-C30" - }, - { - "id": "LEMUR-3", - "country": "USA", - "launch_date": "28-09-2015", - "mass": "7", - "launcher": "PSLV-C30" - }, - { - "id": "LEMUR-4", - "country": "USA", - "launch_date": "28-09-2015", - "mass": "7", - "launcher": "PSLV-C30" - }, - { - "id": "TeLEOS", - "country": "SINGAPORE", - "launch_date": "16-12-2015", - "mass": "400", - "launcher": "PSLV-C29" - }, - { - "id": "Kent Ridge-I", - "country": "SINGAPORE", - "launch_date": "16-12-2015", - "mass": "78", - "launcher": "PSLV-C29" - }, - { - "id": "VELOX-C1", - "country": "SINGAPORE", - "launch_date": "16-12-2015", - "mass": "123", - "launcher": "PSLV-C29" - }, - { - "id": "VELOX-II", - "country": "SINGAPORE", - "launch_date": "16-12-2015", - "mass": "13", - "launcher": "PSLV-C29" - }, - { - "id": "Galassia", - "country": "SINGAPORE", - "launch_date": "16-12-2015", - "mass": "3.4", - "launcher": "PSLV-C29" - }, - { - "id": "Athenoxat-I", - "country": "SINGAPORE", - "launch_date": "16-12-2015", - "mass": "", - "launcher": "PSLV-C29" - }, - { - "id": "LAPAN-A3", - "country": "INDONESIA", - "launch_date": "22-06-2016", - "mass": "120", - "launcher": "PSLV-C34" - }, - { - "id": "BIROS", - "country": "GERMANY", - "launch_date": "22-06-2016", - "mass": "130", - "launcher": "PSLV-C34" - }, - { - "id": "M3MSat", - "country": "CANADA", - "launch_date": "22-06-2016", - "mass": "85", - "launcher": "PSLV-C34" - }, - { - "id": "SkySat Gen2-1", - "country": "USA", - "launch_date": "22-06-2016", - "mass": "110", - "launcher": "PSLV-C34" - }, - { - "id": "GHGSat-D", - "country": "CANADA", - "launch_date": "22-06-2016", - "mass": "25.5", - "launcher": "PSLV-C34" - }, - { - "id": "DOVE QP1.1", - "country": "USA", - "launch_date": "22-06-2016", - "mass": "4.7", - "launcher": "PSLV-C34" - }, - { - "id": "DOVE QP1.2", - "country": "USA", - "launch_date": "22-06-2016", - "mass": "4.7", - "launcher": "PSLV-C34" - }, - { - "id": "DOVE QP1.3", - "country": "USA", - "launch_date": "22-06-2016", - "mass": "4.7", - "launcher": "PSLV-C34" - }, - { - "id": "DOVE QP1.4", - "country": "USA", - "launch_date": "22-06-2016", - "mass": "4.7", - "launcher": "PSLV-C34" - }, - { - "id": "DOVE QP2.1", - "country": "USA", - "launch_date": "22-06-2016", - "mass": "4.7", - "launcher": "PSLV-C34" - }, - { - "id": "DOVE QP2.2", - "country": "USA", - "launch_date": "22-06-2016", - "mass": "4.7", - "launcher": "PSLV-C34" - }, - { - "id": "DOVE QP2.3", - "country": "USA", - "launch_date": "22-06-2016", - "mass": "4.7", - "launcher": "PSLV-C34" - }, - { - "id": "DOVE QP2.4", - "country": "USA", - "launch_date": "22-06-2016", - "mass": "4.7", - "launcher": "PSLV-C34" - }, - { - "id": "DOVE QP3.1", - "country": "USA", - "launch_date": "22-06-2016", - "mass": "4.7", - "launcher": "PSLV-C34" - }, - { - "id": "DOVE QP3.2", - "country": "USA", - "launch_date": "22-06-2016", - "mass": "4.7", - "launcher": "PSLV-C34" - }, - { - "id": "DOVE QP3.3", - "country": "USA", - "launch_date": "22-06-2016", - "mass": "4.7", - "launcher": "PSLV-C34" - }, - { - "id": "DOVE QP3.4", - "country": "USA", - "launch_date": "22-06-2016", - "mass": "4.7", - "launcher": "PSLV-C34" - } - ] -} + "customer_satellites": [ + { + "id": "DLR-TUBSAT", + "country": "Germany", + "launch_date": "1999-05-26", + "mass_kg": 45.0, + "launcher": "PSLV-C2" + }, + { + "id": "KITSAT-3", + "country": "South Korea", + "launch_date": "1999-05-26", + "mass_kg": 110.0, + "launcher": "PSLV-C2" + }, + { + "id": "BIRD", + "country": "Germany", + "launch_date": "2001-10-22", + "mass_kg": 92.0, + "launcher": "PSLV-C3" + }, + { + "id": "PROBA", + "country": "Belgium", + "launch_date": "2001-10-22", + "mass_kg": 94.0, + "launcher": "PSLV-C3" + }, + { + "id": "LAPAN-TUBSAT", + "country": "Indonesia", + "launch_date": "2007-07-10", + "mass_kg": 56.0, + "launcher": "PSLV-C7" + }, + { + "id": "PEHUENSAT-1", + "country": "Argentina", + "launch_date": "2007-07-10", + "mass_kg": 6.0, + "launcher": "PSLV-C7" + }, + { + "id": "AGILE", + "country": "Italy", + "launch_date": "2007-04-23", + "mass_kg": 350.0, + "launcher": "PSLV-C8" + }, + { + "id": "TESCAR", + "country": "Israel", + "launch_date": "2008-01-21", + "mass_kg": 300.0, + "launcher": "PSLV-C10" + }, + { + "id": "CAN-X2", + "country": "Canada", + "launch_date": "2008-04-28", + "mass_kg": 7.0, + "launcher": "PSLV-C9" + }, + { + "id": "CUTE-1.7", + "country": "Japan", + "launch_date": "2008-04-28", + "mass_kg": 5.0, + "launcher": "PSLV-C9" + }, + { + "id": "DELFI-C3", + "country": "Netherlands", + "launch_date": "2008-04-28", + "mass_kg": 6.5, + "launcher": "PSLV-C9" + }, + { + "id": "AAUSAT-II", + "country": "Denmark", + "launch_date": "2008-04-28", + "mass_kg": 3.0, + "launcher": "PSLV-C9" + }, + { + "id": "COMPASS-I", + "country": "Germany", + "launch_date": "2008-04-28", + "mass_kg": 3.0, + "launcher": "PSLV-C9" + }, + { + "id": "SEEDS", + "country": "Japan", + "launch_date": "2008-04-28", + "mass_kg": 3.0, + "launcher": "PSLV-C9" + }, + { + "id": "NLSS", + "country": "Canada", + "launch_date": "2008-04-28", + "mass_kg": 16.0, + "launcher": "PSLV-C9" + }, + { + "id": "RUBIN-8", + "country": "Germany", + "launch_date": "2008-04-28", + "mass_kg": 8.0, + "launcher": "PSLV-C9" + }, + { + "id": "CUBESAT-1", + "country": "Germany", + "launch_date": "2009-09-23", + "mass_kg": 1.0, + "launcher": "PSLV-C14" + }, + { + "id": "CUBESAT-2", + "country": "Germany", + "launch_date": "2009-09-23", + "mass_kg": 1.0, + "launcher": "PSLV-C14" + }, + { + "id": "CUBESAT-3", + "country": "Turkey", + "launch_date": "2009-09-23", + "mass_kg": 1.0, + "launcher": "PSLV-C14" + }, + { + "id": "CUBESAT-4", + "country": "Switzerland", + "launch_date": "2009-09-23", + "mass_kg": 1.0, + "launcher": "PSLV-C14" + }, + { + "id": "RUBIN-9.1", + "country": "Germany", + "launch_date": "2009-09-23", + "mass_kg": 1.0, + "launcher": "PSLV-C14" + }, + { + "id": "RUBIN-9.2", + "country": "Germany", + "launch_date": "2009-09-23", + "mass_kg": 1.0, + "launcher": "PSLV-C14" + }, + { + "id": "ALSAT-2A", + "country": "Algeria", + "launch_date": "2010-07-12", + "mass_kg": 116.0, + "launcher": "PSLV-C15" + }, + { + "id": "NLS6.1 AISSAT-1", + "country": "Norway", + "launch_date": "2010-07-12", + "mass_kg": 6.5, + "launcher": "PSLV-C15" + }, + { + "id": "NLS6.2 TISAT-1", + "country": "Switzerland", + "launch_date": "2010-07-12", + "mass_kg": 1.0, + "launcher": "PSLV-C15" + }, + { + "id": "X-SAT", + "country": "Singapore", + "launch_date": "2011-04-20", + "mass_kg": 106.0, + "launcher": "PSLV-C16" + }, + { + "id": "VesselSat-1", + "country": "Luxembourg", + "launch_date": "2011-10-12", + "mass_kg": 28.7, + "launcher": "PSLV-C18" + }, + { + "id": "SPOT-6", + "country": "France", + "launch_date": "2012-09-09", + "mass_kg": 712.0, + "launcher": "PSLV-C21" + }, + { + "id": "PROITERES", + "country": "Japan", + "launch_date": "2012-09-09", + "mass_kg": 15.0, + "launcher": "PSLV-C21" + }, + { + "id": "SAPPHIRE", + "country": "Canada", + "launch_date": "2013-02-25", + "mass_kg": 148.0, + "launcher": "PSLV-C20" + }, + { + "id": "NEOSSAT", + "country": "Canada", + "launch_date": "2013-02-25", + "mass_kg": 74.0, + "launcher": "PSLV-C20" + }, + { + "id": "NLS8.1", + "country": "Austria", + "launch_date": "2013-02-25", + "mass_kg": 14.0, + "launcher": "PSLV-C20" + }, + { + "id": "NLS8.2", + "country": "Austria", + "launch_date": "2013-02-25", + "mass_kg": 14.0, + "launcher": "PSLV-C20" + }, + { + "id": "NLS8.3", + "country": "Denmark", + "launch_date": "2013-02-25", + "mass_kg": 3.0, + "launcher": "PSLV-C20" + }, + { + "id": "STRAND-1", + "country": "United Kingdom", + "launch_date": "2013-02-25", + "mass_kg": 6.5, + "launcher": "PSLV-C20" + }, + { + "id": "SPOT-7", + "country": "France", + "launch_date": "2014-06-30", + "mass_kg": 714.0, + "launcher": "PSLV-C23" + }, + { + "id": "AISAT", + "country": "Germany", + "launch_date": "2014-06-30", + "mass_kg": 14.0, + "launcher": "PSLV-C23" + }, + { + "id": "NLS7.1(CAN-X4)", + "country": "Canada", + "launch_date": "2014-06-30", + "mass_kg": 15.0, + "launcher": "PSLV-C23" + }, + { + "id": "NLS7.2(CAN-X5)", + "country": "Canada", + "launch_date": "2014-06-30", + "mass_kg": 15.0, + "launcher": "PSLV-C23" + }, + { + "id": "VELOX-1", + "country": "Singapore", + "launch_date": "2014-06-30", + "mass_kg": 7.0, + "launcher": "PSLV-C23" + }, + { + "id": "AMAZONIA-1", + "country": "Brazil", + "launch_date": "2021-02-28", + "mass_kg": 637.0, + "launcher": "PSLV-C51" + }, + { + "id": "DMC3-1", + "country": "United Kingdom", + "launch_date": "2015-07-10", + "mass_kg": 447.0, + "launcher": "PSLV-C28" + }, + { + "id": "DMC3-2", + "country": "United Kingdom", + "launch_date": "2015-07-10", + "mass_kg": 447.0, + "launcher": "PSLV-C28" + }, + { + "id": "DMC3-3", + "country": "United Kingdom", + "launch_date": "2015-07-10", + "mass_kg": 447.0, + "launcher": "PSLV-C28" + }, + { + "id": "CBNT-1", + "country": "United Kingdom", + "launch_date": "2015-07-10", + "mass_kg": 91.0, + "launcher": "PSLV-C28" + }, + { + "id": "De-OrbitSail", + "country": "United Kingdom", + "launch_date": "2015-07-10", + "mass_kg": 7.0, + "launcher": "PSLV-C28" + }, + { + "id": "LAPAN-A2", + "country": "Indonesia", + "launch_date": "2015-09-28", + "mass_kg": 76.0, + "launcher": "PSLV-C30" + }, + { + "id": "NLS-14(Ev9)", + "country": "Canada", + "launch_date": "2015-09-28", + "mass_kg": 14.0, + "launcher": "PSLV-C30" + }, + { + "id": "LEMUR-1", + "country": "United States", + "launch_date": "2015-09-28", + "mass_kg": 7.0, + "launcher": "PSLV-C30" + }, + { + "id": "LEMUR-2", + "country": "United States", + "launch_date": "2015-09-28", + "mass_kg": 7.0, + "launcher": "PSLV-C30" + }, + { + "id": "LEMUR-3", + "country": "United States", + "launch_date": "2015-09-28", + "mass_kg": 7.0, + "launcher": "PSLV-C30" + }, + { + "id": "LEMUR-4", + "country": "United States", + "launch_date": "2015-09-28", + "mass_kg": 7.0, + "launcher": "PSLV-C30" + }, + { + "id": "TeLEOS", + "country": "Singapore", + "launch_date": "2015-12-16", + "mass_kg": 400.0, + "launcher": "PSLV-C29" + }, + { + "id": "Kent Ridge-I", + "country": "Singapore", + "launch_date": "2015-12-16", + "mass_kg": 78.0, + "launcher": "PSLV-C29" + }, + { + "id": "VELOX-C1", + "country": "Singapore", + "launch_date": "2015-12-16", + "mass_kg": 123.0, + "launcher": "PSLV-C29" + }, + { + "id": "VELOX-II", + "country": "Singapore", + "launch_date": "2015-12-16", + "mass_kg": 13.0, + "launcher": "PSLV-C29" + }, + { + "id": "Galassia", + "country": "Singapore", + "launch_date": "2015-12-16", + "mass_kg": 3.4, + "launcher": "PSLV-C29" + }, + { + "id": "Athenoxat-I", + "country": "Singapore", + "launch_date": "2015-12-16", + "mass_kg": null, + "launcher": "PSLV-C29" + }, + { + "id": "LAPAN-A3", + "country": "Indonesia", + "launch_date": "2016-06-22", + "mass_kg": 120.0, + "launcher": "PSLV-C34" + }, + { + "id": "BIROS", + "country": "Germany", + "launch_date": "2016-06-22", + "mass_kg": 130.0, + "launcher": "PSLV-C34" + }, + { + "id": "M3MSat", + "country": "Canada", + "launch_date": "2016-06-22", + "mass_kg": 85.0, + "launcher": "PSLV-C34" + }, + { + "id": "SkySat Gen2-1", + "country": "United States", + "launch_date": "2016-06-22", + "mass_kg": 110.0, + "launcher": "PSLV-C34" + }, + { + "id": "GHGSat-D", + "country": "Canada", + "launch_date": "2016-06-22", + "mass_kg": 25.5, + "launcher": "PSLV-C34" + }, + { + "id": "DOVE QP1.1", + "country": "United States", + "launch_date": "2016-06-22", + "mass_kg": 4.7, + "launcher": "PSLV-C34" + }, + { + "id": "DOVE QP1.2", + "country": "United States", + "launch_date": "2016-06-22", + "mass_kg": 4.7, + "launcher": "PSLV-C34" + }, + { + "id": "DOVE QP1.3", + "country": "United States", + "launch_date": "2016-06-22", + "mass_kg": 4.7, + "launcher": "PSLV-C34" + }, + { + "id": "DOVE QP1.4", + "country": "United States", + "launch_date": "2016-06-22", + "mass_kg": 4.7, + "launcher": "PSLV-C34" + }, + { + "id": "DOVE QP2.1", + "country": "United States", + "launch_date": "2016-06-22", + "mass_kg": 4.7, + "launcher": "PSLV-C34" + }, + { + "id": "DOVE QP2.2", + "country": "United States", + "launch_date": "2016-06-22", + "mass_kg": 4.7, + "launcher": "PSLV-C34" + }, + { + "id": "DOVE QP2.3", + "country": "United States", + "launch_date": "2016-06-22", + "mass_kg": 4.7, + "launcher": "PSLV-C34" + }, + { + "id": "DOVE QP2.4", + "country": "United States", + "launch_date": "2016-06-22", + "mass_kg": 4.7, + "launcher": "PSLV-C34" + }, + { + "id": "DOVE QP3.1", + "country": "United States", + "launch_date": "2016-06-22", + "mass_kg": 4.7, + "launcher": "PSLV-C34" + }, + { + "id": "DOVE QP3.2", + "country": "United States", + "launch_date": "2016-06-22", + "mass_kg": 4.7, + "launcher": "PSLV-C34" + }, + { + "id": "DOVE QP3.3", + "country": "United States", + "launch_date": "2016-06-22", + "mass_kg": 4.7, + "launcher": "PSLV-C34" + }, + { + "id": "DOVE QP3.4", + "country": "United States", + "launch_date": "2016-06-22", + "mass_kg": 4.7, + "launcher": "PSLV-C34" + } + ] +} \ No newline at end of file diff --git a/data/launchers.json b/data/launchers.json index cbadda8..24a04fd 100644 --- a/data/launchers.json +++ b/data/launchers.json @@ -1,247 +1,439 @@ { - "launchers": [ - { - "id": "SLV-3E1" - }, - { - "id": "SLV-3E2" - }, - { - "id": "SLV-3D1" - }, - { - "id": "SLV-3" - }, - { - "id": "ASLV-D1" - }, - { - "id": "ASLV-D2" - }, - { - "id": "ASLV-D3" - }, - { - "id": "PSLV-D1" - }, - { - "id": "ASLV-D4" - }, - { - "id": "PSLV-D2" - }, - { - "id": "PSLV-D3" - }, - { - "id": "PSLV-C1" - }, - { - "id": "PSLV-C2" - }, - { - "id": "GSLV-D1" - }, - { - "id": "PSLV-C3" - }, - { - "id": "PSLV-C4" - }, - { - "id": "GSLV-D2" - }, - { - "id": "PSLV-C5" - }, - { - "id": "GSLV-F01" - }, - { - "id": "PSLV-C6" - }, - { - "id": "GSLV-F02" - }, - { - "id": "PSLV-C7" - }, - { - "id": "PSLV-C8" - }, - { - "id": "GSLV-F04" - }, - { - "id": "PSLV-C10" - }, - { - "id": "PSLV-C9" - }, - { - "id": "PSLV-C11" - }, - { - "id": "PSLV-C12" - }, - { - "id": "PSLV-C14" - }, - { - "id": "GSLV-D3" - }, - { - "id": "PSLV-C15" - }, - { - "id": "GSLV-F06" - }, - { - "id": "PSLV-C16" - }, - { - "id": "PSLV-C17" - }, - { - "id": "PSLV-C18" - }, - { - "id": "PSLV-C19" - }, - { - "id": "PSLV-C21" - }, - { - "id": "PSLV-C20" - }, - { - "id": "PSLV-C22" - }, - { - "id": "PSLV-C25" - }, - { - "id": "GSLV-D5" - }, - { - "id": "PSLV-C24" - }, - { - "id": "PSLV-C23" - }, - { - "id": "PSLV-C26" - }, - { - "id": "LVM-3" - }, - { - "id": "PSLV-C27" - }, - { - "id": "PSLV-C28" - }, - { - "id": "GSLV-D6" - }, - { - "id": "PSLV-C30" - }, - { - "id": "PSLV-C29" - }, - { - "id": "PSLV-C31" - }, - { - "id": "PSLV-C32" - }, - { - "id": "PSLV-C33" - }, - { - "id": "RLV-TD" - }, - { - "id": "PSLV-C34" - }, - { - "id": "Scramjet Engine - TD" - }, - { - "id": "GSLV-F05" - }, - { - "id": "PSLV-C35" - }, - { - "id": "PSLV-C36" - }, - { - "id": "PSLV-C37" - }, - { - "id": "GSLV-F09" - }, - { - "id": "GSLV Mk III-D1" - }, - { - "id": "PSLV-C38" - }, - { - "id": "PSLV-C39" - }, - { - "id": "PSLV-C40" - }, - { - "id": "GSLV-F08" - }, - { - "id": "PSLV-C41" - }, - { - "id": "PSLV-C42" - }, - { - "id": "GSLV Mk III-D2" - }, - { - "id": "PSLV-C43" - }, - { - "id": "GSLV-F11" - }, - { - "id": "PSLV-C44" - }, - { - "id": "PSLV-C45" - }, - { - "id": "PSLV-C46" - }, - { - "id": "GSLV-Mk III - M1" - }, - { - "id": "PSLV-C47" - }, - { - "id": "PSLV-C48" - }, - { - "id": "PSLV-C49" - }, - { - "id": "PSLV-C50" - }, - { - "id": "PSLV-C51" - }, - { - "id": "GSLV-F10" - } - ] -} + "launchers": [ + { + "id": "SLV-3E1", + "vehicle_family": "SLV" + }, + { + "id": "SLV-3E2", + "vehicle_family": "SLV" + }, + { + "id": "SLV-3D1", + "vehicle_family": "SLV" + }, + { + "id": "SLV-3", + "vehicle_family": "SLV" + }, + { + "id": "ASLV-D1", + "vehicle_family": "ASLV" + }, + { + "id": "ASLV-D2", + "vehicle_family": "ASLV" + }, + { + "id": "ASLV-D3", + "vehicle_family": "ASLV" + }, + { + "id": "PSLV-D1", + "vehicle_family": "PSLV" + }, + { + "id": "ASLV-D4", + "vehicle_family": "ASLV" + }, + { + "id": "PSLV-D2", + "vehicle_family": "PSLV" + }, + { + "id": "PSLV-D3", + "vehicle_family": "PSLV" + }, + { + "id": "PSLV-C1", + "vehicle_family": "PSLV" + }, + { + "id": "PSLV-C2", + "vehicle_family": "PSLV", + "customer_satellites_launched": [ + "DLR-TUBSAT", + "KITSAT-3" + ] + }, + { + "id": "GSLV-D1", + "vehicle_family": "GSLV" + }, + { + "id": "PSLV-C3", + "vehicle_family": "PSLV", + "customer_satellites_launched": [ + "BIRD", + "PROBA" + ] + }, + { + "id": "PSLV-C4", + "vehicle_family": "PSLV" + }, + { + "id": "GSLV-D2", + "vehicle_family": "GSLV" + }, + { + "id": "PSLV-C5", + "vehicle_family": "PSLV" + }, + { + "id": "GSLV-F01", + "vehicle_family": "GSLV" + }, + { + "id": "PSLV-C6", + "vehicle_family": "PSLV" + }, + { + "id": "GSLV-F02", + "vehicle_family": "GSLV" + }, + { + "id": "PSLV-C7", + "vehicle_family": "PSLV", + "customer_satellites_launched": [ + "LAPAN-TUBSAT", + "PEHUENSAT-1" + ] + }, + { + "id": "PSLV-C8", + "vehicle_family": "PSLV", + "customer_satellites_launched": [ + "AGILE" + ] + }, + { + "id": "GSLV-F04", + "vehicle_family": "GSLV" + }, + { + "id": "PSLV-C10", + "vehicle_family": "PSLV", + "customer_satellites_launched": [ + "TESCAR" + ] + }, + { + "id": "PSLV-C9", + "vehicle_family": "PSLV", + "customer_satellites_launched": [ + "CAN-X2", + "CUTE-1.7", + "DELFI-C3", + "AAUSAT-II", + "COMPASS-I", + "SEEDS", + "NLSS", + "RUBIN-8" + ] + }, + { + "id": "PSLV-C11", + "vehicle_family": "PSLV" + }, + { + "id": "PSLV-C12", + "vehicle_family": "PSLV" + }, + { + "id": "PSLV-C14", + "vehicle_family": "PSLV", + "customer_satellites_launched": [ + "CUBESAT-1", + "CUBESAT-2", + "CUBESAT-3", + "CUBESAT-4", + "RUBIN-9.1", + "RUBIN-9.2" + ] + }, + { + "id": "GSLV-D3", + "vehicle_family": "GSLV" + }, + { + "id": "PSLV-C15", + "vehicle_family": "PSLV", + "customer_satellites_launched": [ + "ALSAT-2A", + "NLS6.1 AISSAT-1", + "NLS6.2 TISAT-1" + ] + }, + { + "id": "GSLV-F06", + "vehicle_family": "GSLV" + }, + { + "id": "PSLV-C16", + "vehicle_family": "PSLV", + "customer_satellites_launched": [ + "X-SAT" + ] + }, + { + "id": "PSLV-C17", + "vehicle_family": "PSLV" + }, + { + "id": "PSLV-C18", + "vehicle_family": "PSLV", + "customer_satellites_launched": [ + "VesselSat-1" + ] + }, + { + "id": "PSLV-C19", + "vehicle_family": "PSLV" + }, + { + "id": "PSLV-C21", + "vehicle_family": "PSLV", + "customer_satellites_launched": [ + "SPOT-6", + "PROITERES" + ] + }, + { + "id": "PSLV-C20", + "vehicle_family": "PSLV", + "customer_satellites_launched": [ + "SAPPHIRE", + "NEOSSAT", + "NLS8.1", + "NLS8.2", + "NLS8.3", + "STRAND-1" + ] + }, + { + "id": "PSLV-C22", + "vehicle_family": "PSLV" + }, + { + "id": "PSLV-C25", + "vehicle_family": "PSLV" + }, + { + "id": "GSLV-D5", + "vehicle_family": "GSLV" + }, + { + "id": "PSLV-C24", + "vehicle_family": "PSLV" + }, + { + "id": "PSLV-C23", + "vehicle_family": "PSLV", + "customer_satellites_launched": [ + "SPOT-7", + "AISAT", + "NLS7.1(CAN-X4)", + "NLS7.2(CAN-X5)", + "VELOX-1" + ] + }, + { + "id": "PSLV-C26", + "vehicle_family": "PSLV" + }, + { + "id": "LVM-3", + "vehicle_family": "LVM-3" + }, + { + "id": "PSLV-C27", + "vehicle_family": "PSLV" + }, + { + "id": "PSLV-C28", + "vehicle_family": "PSLV", + "customer_satellites_launched": [ + "DMC3-1", + "DMC3-2", + "DMC3-3", + "CBNT-1", + "De-OrbitSail" + ] + }, + { + "id": "GSLV-D6", + "vehicle_family": "GSLV" + }, + { + "id": "PSLV-C30", + "vehicle_family": "PSLV", + "customer_satellites_launched": [ + "LAPAN-A2", + "NLS-14(Ev9)", + "LEMUR-1", + "LEMUR-2", + "LEMUR-3", + "LEMUR-4" + ] + }, + { + "id": "PSLV-C29", + "vehicle_family": "PSLV", + "customer_satellites_launched": [ + "TeLEOS", + "Kent Ridge-I", + "VELOX-C1", + "VELOX-II", + "Galassia", + "Athenoxat-I" + ] + }, + { + "id": "PSLV-C31", + "vehicle_family": "PSLV" + }, + { + "id": "PSLV-C32", + "vehicle_family": "PSLV" + }, + { + "id": "PSLV-C33", + "vehicle_family": "PSLV" + }, + { + "id": "RLV-TD", + "vehicle_family": "RLV" + }, + { + "id": "PSLV-C34", + "vehicle_family": "PSLV", + "customer_satellites_launched": [ + "LAPAN-A3", + "BIROS", + "M3MSat", + "SkySat Gen2-1", + "GHGSat-D", + "DOVE QP1.1", + "DOVE QP1.2", + "DOVE QP1.3", + "DOVE QP1.4", + "DOVE QP2.1", + "DOVE QP2.2", + "DOVE QP2.3", + "DOVE QP2.4", + "DOVE QP3.1", + "DOVE QP3.2", + "DOVE QP3.3", + "DOVE QP3.4" + ] + }, + { + "id": "Scramjet Engine - TD", + "vehicle_family": "Scramjet-TD" + }, + { + "id": "GSLV-F05", + "vehicle_family": "GSLV" + }, + { + "id": "PSLV-C35", + "vehicle_family": "PSLV" + }, + { + "id": "PSLV-C36", + "vehicle_family": "PSLV" + }, + { + "id": "PSLV-C37", + "vehicle_family": "PSLV" + }, + { + "id": "GSLV-F09", + "vehicle_family": "GSLV" + }, + { + "id": "GSLV Mk III-D1", + "vehicle_family": "GSLV Mk III" + }, + { + "id": "PSLV-C38", + "vehicle_family": "PSLV" + }, + { + "id": "PSLV-C39", + "vehicle_family": "PSLV" + }, + { + "id": "PSLV-C40", + "vehicle_family": "PSLV" + }, + { + "id": "GSLV-F08", + "vehicle_family": "GSLV" + }, + { + "id": "PSLV-C41", + "vehicle_family": "PSLV" + }, + { + "id": "PSLV-C42", + "vehicle_family": "PSLV" + }, + { + "id": "GSLV Mk III-D2", + "vehicle_family": "GSLV Mk III" + }, + { + "id": "PSLV-C43", + "vehicle_family": "PSLV" + }, + { + "id": "GSLV-F11", + "vehicle_family": "GSLV" + }, + { + "id": "PSLV-C44", + "vehicle_family": "PSLV" + }, + { + "id": "PSLV-C45", + "vehicle_family": "PSLV" + }, + { + "id": "PSLV-C46", + "vehicle_family": "PSLV" + }, + { + "id": "GSLV-Mk III - M1", + "vehicle_family": "GSLV Mk III" + }, + { + "id": "PSLV-C47", + "vehicle_family": "PSLV" + }, + { + "id": "PSLV-C48", + "vehicle_family": "PSLV" + }, + { + "id": "PSLV-C49", + "vehicle_family": "PSLV" + }, + { + "id": "PSLV-C50", + "vehicle_family": "PSLV" + }, + { + "id": "PSLV-C51", + "vehicle_family": "PSLV", + "customer_satellites_launched": [ + "AMAZONIA-1" + ] + }, + { + "id": "GSLV-F10", + "vehicle_family": "GSLV" + } + ] +} \ No newline at end of file diff --git a/data/spacecraft_missions.json b/data/spacecraft_missions.json index 78e00aa..9844b9b 100644 --- a/data/spacecraft_missions.json +++ b/data/spacecraft_missions.json @@ -1,968 +1,1220 @@ -[ - { - "name": "RISAT-2BR1", - "id": 65, - "lift-off_weight": "628 kg", - "altitude": "576 km", - "payload": "X-Band Radar", - "inclination": "37 deg", - "mission_life": "5 years" - }, - { - "name": "Cartosat-3", - "id": 64, - "mean_altitude": "509 km", - "mean_inclination": "97.5\u00b0", - "overall_mass": "1625 kg", - "power_generation": "2000W", - "mission_life": "5 years" - }, - { - "name": "GSAT-15", - "id": 63, - "mission": "Communication and Satellite Navigation", - "weight": "3164 kg (Mass at Lift \u2013 off) 1440 kg (Dry Mass)", - "power": "Solar array providing 6200 Watts and Three 100 AH Lithium-Ion batteries ", - "propulsion": "Bi- propellant System", - "launch_date": "November 11, 2015", - "launch_site": "Kourou, French Guiana", - "launch_vehicle": "Ariane-5 VA-227", - "orbit": "Geostationary (93.5\u00b0 East longitude)Co-located with INSAT-3A and INSAT-4B", - "mission_life": "12 Years" - }, - { - "name": "GSAT-6", - "id": 62, - "physical_properties": "Lift off Mass : 2117 kg Main Structure : I-2K Overall size(m) : 2.1 x 2.5 x 4.1", - "power": "Generated power 3100 W", - "aocs": "Momentum biased 3-axis stabilised", - "antennas": "One 0.8 m (fixed) and one 6 m unfurlable antenna (transmit and receive)", - "communication_payloads": "i. S-band payload with five spot beams covering India for user links ii. C-band payload with one beam covering India for hub links S-band payload uses 6 m unfurlable antenna and C-band uses 0.8 m antenna.", - "mission_life": "9 years" - }, - { - "name": "IRNSS-1B", - "id": 61, - "off_mass": "1432 kg", - "physical_dimensions": "1.58 metre x 1.50 metre x 1.50 metre", - "orbit": "Geosynchronous, at 55 deg East longitude with 29 deg inclination", - "power": "Two solar panels generating 1660 W, one lithium-ion battery of 90 Ampere-Hour capacity", - "propulsion": "440 Newton Liquid Apogee Motor, twelve 22 Newton Thrusters", - "control_system": "Zero momentum system, orientation input from Sun & star Sensors and Gyroscopes; Reaction Wheels, Magnetic Torquers and 22 Newton thrusters as actuators", - "mission_life": "10 years", - "launch_date": "Apr 04, 2014", - "launch_site": "SDSC SHAR Centre, Sriharikota, India", - "launch_vehicle": "PSLV - C24" - }, - { - "name": "GSAT-14", - "id": 60, - "mass_at_lift-off": "1982 kg", - "overall_size_(m)": "2.0 X 2.0 X 3.6", - "power": "2600 W", - "attitude_and_orbit_control_system_(aocs)": "Momentum biased 3-axis stabilized mode", - "propulsion_system": "Bi propellant-Mono Methyl Hydrazine and Mixed Oxides of Nitrogen (MON-3)", - "antennae": "One 2m and one 2.2 m single shell shaped reflector Antennae (transmit and receive)", - "launch_date": "January 05, 2014", - "launch_site": "SDSC, SHAR", - "launch_vehicle": "GSLV-D5", - "orbit": "74 deg East longitude in geostationary orbit", - "mission_life": "12 Years" - }, - { - "name": "GSAT-7", - "id": 59, - "mission": "Communication", - "mass_at_lift-off": "2650 kg", - "physical_dimensions": "3.1 m X 1.7 m X 2.0 m", - "power": "3,000 W (end of life)", - "satbilisation": "3-axis stabilized", - "launch_date": "August 30, 2013", - "launch_site": "Kourou, French Guiana", - "launch_vehicle": "Ariane-5 VA-215", - "orbit": "74oE Geo Stationary", - "mission_life": "> 7 Years" - }, - { - "name": "INSAT-3D", - "id": 58, - "mission": "Meteorological and Search & Rescue Services", - "mass_at_lift-off": "2060 kg", - "power": "Solar panel generating 1164 W Two 18 Ah Ni-Cd batteries", - "physical_dimensions": "2.4m x 1.6m x 1.5m", - "propulsion": "440 Newton Liquid Apogee Motor (LAM) and twelve 22 Newton thrusters with Mono Methyl Hydrazine (MMH) as fuel and mixed Oxides of Nitrogen (MON-3) as oxidizer", - "stabilisation": "3-asix body stabilized in orbit using Sun Sensors, Star Sensors, gyroscopes, Momentum and Reaction Wheels, Magnetic Torquers and thrusters", - "antennae": "0.9m and 1.0m body mounted antennas", - "launch_date": "July 26, 2013", - "launch_site": "Kourou, French Guiana", - "launch_vehicle": "Ariane-5 VA-214", - "orbit": "Geostationary, 82 deg E Longitude", - "mission_life": "7 Years" - }, - { - "name": "IRNSS-1A", - "id": 57, - "lift-off_mass": "1425 kg", - "physical_dimensions": "1.58 metre x 1.50 metre x 1.50 metre", - "orbit": "Geosynchronous, at 55 deg East longitude with 29 deg inclination", - "power": "Two solar panels generating 1660 W, one lithium-ion battery of 90 Ampere-Hour capacity", - "propulsion": "440 Newton Liquid Apogee Motor, twelve 22 Newton Thrusters", - "control_system": "Zero momentum system, orientation input from Sun & star Sensors and Gyroscopes; Reaction Wheels, Magnetic Torquers and 22 Newton thrusters as actuators", - "mission_life": "10 years", - "launch_date": "Jul 01, 2013", - "launch_site": "SDSC SHAR Centre, Sriharikota, India", - "launch_vehicle": "PSLV - C22" - }, - { - "name": "SARAL", - "id": 56, - "lift-off_mass": "407 kg", - "orbit": "781 km polar Sun synchronous", - "sensors": "4 PI sun sensors, magnetometer, star sensors and miniaturised gyro based Inertial Reference Unit", - "orbit_inclination": "98.538o", - "local_time_of_equator": "18:00 hours crossing", - "power": "Solar Array generating 906 W and 46.8 Ampere-hour Lithium-ion battery", - "onboard_data_storage": "32 Gb", - "attitude_and_orbit_control": "3-axis stabilisation with reaction wheels, Hydrazine Control System based thrusters", - "mission_life": "5 years", - "launch_date": "Feb 25, 2013", - "launch_site": "SDSC SHAR Centre, Sriharikota, India", - "launch_vehicle": "PSLV - C20" - }, - { - "name": "GSAT-10", - "id": 55, - "mission": "Communication", - "weight": "3400 kg (Mass at Lift \u2013 off) 1498 kg (Dry Mass)", - "power": "Solar array providing 6474 Watts (at Equinox) and two 128 AH Lithium-Ion batteries", - "physical_dimensions": "2.0 m X 1.77 m X 3.1 m cuboid", - "propulsion": "440 Newton Liquid Apogee Motors (LAM) with Mono Methyl Hydrazine (MMH) as fuel and Mixed oxides of Nitrogen (MON-3) as oxidizer for orbit raising.", - "stabilisation": "3-axis body stabilised in orbit using Earth Sensors, Sun Sensors, Momentum and Reaction Wheels, Magnetic Torquers and eight 10 Newton and eight 22 Newton bipropellant thrusters", - "antennae": "East : 2.2 m dia circular deployable Dual Gridded Reflector (DGR) West : 2.2 m X 2.4 m elliptical deployable DGR Earth Viewing Face (top) : 0.7 m parabolic, 0.9 m parabolic and 0.8 m X 0.8 m sixteen element helical antenna for GAGAN", - "launch_date": "September 29, 2012", - "launch_site": "Kourou, French Guiana", - "launch_vehicle": "Ariane-5 VA-209", - "orbit": "Geostationary (83\u00b0 East longitude), co-located with INSAT-4A and GSAT-12", - "mission_life": "15 Years" - }, - { - "name": "RISAT-1", - "id": 54, - "mass": "1858 kg", - "orbit": "Circular Polar Sun Synchronous", - "orbit_altitude": "536 km", - "orbit_inclination": "97.552o", - "orbit_period": "95.49 min", - "number_of_orbits_per_day": "14", - "local_time_of_equator_crossing": "6:00 am / 6:00 pm", - "power": "Solar Array generating 2200 W and one 70 AH Ni-H2 battery", - "repetivity": "25 days", - "attitude_and_orbit_control": "3-axis body stabilised using Reaction Wheels, Magnetic Torquers and Hydrazine Thrusters", - "nominal_mission_life": "5 years", - "launch_date": "April 26, 2012", - "launch_site": "SDSC SHAR Centre, Sriharikota, India", - "launch_vehicle": "PSLV- C19" - }, - { - "name": "Megha-Tropiques", - "id": 53, - "lift-off_mass": "1000 kg", - "orbit": "867 km with an inclination of 20 deg to the equator", - "thermal": "Passive system with IRS heritage", - "power": "1325 W (at End of Life) Two 24 AH NiCd batteries", - "ttc": "S-band", - "attitude_and_orbit_control": "3-axis stabilised with 4 Reaction Wheels, Gyros and Star sensors, Hydrazine based RCS", - "solid_state_recorder": "16 Gb", - "launch_date": "October 12, 2011", - "launch_site": "SDSC SHAR Centre, Sriharikota, India", - "launch_vehicle": "PSLV- C18" - }, - { - "name": "GSAT-12", - "id": 52, - "mission": "Communication", - "weight": "1410 kg (Mass at Lift \u2013 off) 559 kg (Dry Mass)", - "power": "Solar array providing 1430 Watts and one 64 Ah Li-Ion batteries", - "physical_dimensions": "1.485 x 1.480 x 1.446 m cuboid", - "propulsion": "440 Newton Liquid Apogee Motors (LAM) with Mono Methyl Hydrazine (MMH) as fuel and Mixed oxides of Nitrogen (MON-3) as oxidizer for orbit raising.", - "attitude_orbit_control": "3-axis body stabilised in orbit using Earth Sensors, Sun Sensors, Momentum and Reaction Wheels, Magnetic Torquers and eight 10 Newton and eight 22 Newton bipropellant thrusters", - "antennae": "One 0.7 m diameter body mounted parabolic receive antenna and one 1.2 m diameter polarisation sensitive deployable antenna", - "launch_date": "July 15, 2011", - "launch_site": "SHAR, Sriharikota, India", - "launch_vehicle": "PSLV-C17", - "orbit": "Geosynchronous (83\u00b0 longitude)", - "mission_life": "About 8 Years" - }, - { - "name": "GSAT-8", - "id": 51, - "mission": "Communication", - "weight": "3093 kg (Mass at Lift \u2013 off) 1426 kg (Dry Mass)", - "power": "Solar array providing 6242 watts three 100 Ah Lithium Ion batteries", - "physical_dimensions": "2.0 x 1.77 x 3.1m cuboid", - "propulsion": "440 Newton Liquid Apogee Motors (LAM) with mono Methyl Hydrazine (MMH) as fuel and Mixed oxides of Nitrogen (MON-3) as oxidizer for orbit raising.", - "stabilisation": "3-axis body stabilised in orbit using Earth Sensors, Sun Sensors, Momentum and Reaction Wheels, Magnetic Torquers and eight 10 Newton and eight 22 Newton bipropellant thrusters", - "antennas": "Two indigenously developed 2.2 m diameter transmit/receive polarisation sensitive dual grid shaped beam deployable reflectors with offset-fed feeds illumination for Ku-band; 0.6 m C-band and 0.8x0.8 sq m L-band helix antenna for GAGAN", - "launch_date": "May 21, 2011", - "launch_site": "Kourou, French Guiana", - "launch_vehicle": "Ariane-5 VA-202", - "orbit": "Geosynchronous (55\u00b0 E)", - "mission_life": "More Than 12 Years" - }, - { - "name": "RESOURCESAT-2", - "id": 50, - "mission": "Remote Sensing", - "orbit": "Circular Polar Sun Synchronous", - "orbit_altitude_at_injection": "822 km + 20 km (3 Sigma)", - "orbit_inclination": "98.731\u00ba + 0.2\u00ba", - "lift-off_mass": "1206 kg", - "orbit_period": "101.35 min", - "number_of_orbits_per_day": "14", - "local_time_of_equator_crossing": "10:30 am", - "repetivity": "24 days", - "attitude_and_orbit_control": "3-axis body stabilised using Reaction Wheels, Magnetic Torquers and Hydrazine Thrusters", - "power": "Solar Array generating 1250 W at End Of Life, two 24 AH Ni-Cd batteries", - "launch_date": "April 20, 2011", - "launch_site": "SHAR Centre Sriharikota India", - "launch_vehicle": "PSLV- C16", - "mission_life": "5 years" - }, - { - "name": "YOUTHSAT", - "id": 49, - "lift-off_mass": "92 kg", - "orbit_period": "101.35 min", - "dimension": "1020 (Pitch) x 604 (Roll) x 1340 (Yaw) mm3", - "attitude_and_orbit_control": "3-axis body stabilised using Sun and Star Sensors, Miniature Magnetometer, Miniature Gyros, Micro Reaction Wheels and Magnetic Torquers", - "power": "Solar Array generating 230 W, one 10.5 AH Li-ion battery", - "mechanisms": "Paraffin Actuator based Solar Panel Hold Down and Release Mechanism", - "launch_date": "April 20, 2011", - "launch_site": "SHAR Centre Sriharikota India", - "launch_vehicle": "PSLV- C16", - "orbit": "Circular Polar Sun Synchronous", - "orbit_altitude_at_injection": "822 km\u00a0+\u00a020 km (3 Sigma)", - "orbit_inclination": "98.731 \u00ba\u00a0+\u00a00.2 \u00ba", - "mission_life": "2 years" - }, - { - "name": "CARTOSAT-2B", - "id": 48, - "mission": "Remote Sensing", - "weight": "694 kg (Mass at lift off)", - "onboard_orbit": "930 Watts", - "stabilization": "3 \u2013 axis body stabilised based on inputs from star sensors and gyros using Reaction wheels, Magnetic Torquers and Hydrazine Thrusters", - "payloads": "Panchromatic Camera", - "launch_date": "July 12, 2010", - "launch_site": "SHAR Centre Sriharikota India", - "launch_vehicle": "PSLV- C15", - "orbit": "630 kms, Polar Sun Synchronous", - "inclination": "97.71\u00ba" - }, - { - "name": "Oceansat-2", - "id": 47, - "date": "Sept 23, 2009", - "launch_site": "SHAR, Sriharikota", - "launch_vehicle": "PSLV - C14", - "orbit": "Polar Sun Synchronous", - "altitude": "720 km", - "inclination": "98.28\u00b0", - "period": "99.31 minutes", - "local_time_of_eq._crossing": "12 noon \u00b1 10 minutes", - "repetitivity_cycle": "2 days", - "payloads": "OCM, SCAT and ROSA", - "mass_at_lift_off": "960 kg", - "power": "15 Sq.m Solar panels generating 1360W, Two 24 Ah Ni-Cd Batteries", - "mission_life": "5 years" - }, - { - "name": "RISAT-2", - "id": 46, - "altitude": "550 km", - "inclination": "41 deg", - "orbit_period": "90 minutes", - "mass": "300 kg" - }, - { - "name": "Chandrayaan-1 ", - "id": 45, - "mission": "Remote Sensing, Planetary Science", - "weight": "1380 kg (Mass at lift off)", - "onboard_power": "700 Watts", - "stabilization": "3 - axis stabilised using reaction wheel and attitude control thrusters, sun sensors, star sensors, fibre optic gyros and accelerometers for attitude determination.", - "launch_date": "22 October 2008", - "launch_site": "SDSC, SHAR, Sriharikota", - "launch_vehicle": "PSLV - C11", - "orbit": "100 km x 100 km : Lunar Orbit", - "mission_life": "2 years" - }, - { - "name": "IMS-1", - "id": 44, - "orbit": "Polar Sun Synchronous", - "altitude": "635 km", - "mission_life": "2 years", - "physical_dimensions": "0.604x0.980x1.129 m", - "mass": "83 kg", - "power": "Two deployable sun pointing solar panels generating 220 W power, 105 Ah Lithium ion battery", - "telemetry,_tracking_and_command": "S-band", - "attitude_and_orbit_control_system": "Star Sensor, Miniature Sun Sensors, Magnetometers Gyros, Miniature Micro Reaction Wheels, Magnetic Torquers, single 1 N Hydrazine Thruster", - "data_handling": "S-band", - "data_storage": "16 Gb Solid State Recorder" - }, - { - "name": "CARTOSAT \u2013\n2A", - "id": 43, - "mission": "Remote Sensing", - "weight": "690 Kg (Mass at lift off)", - "onboard_power": "900 Watts", - "stabilization": "3 \u2013 axis body stabilised using high torque reaction wheels, magnetic torquers and hydrogen thrusters", - "payloads": "Panchromatic Camera", - "launch_date": "28 April 2008", - "launch_site": "SHAR Centre Sriharikota India", - "launch_vehicle": "PSLV- C9", - "orbit": "635 km, Polar Sun Synchronous", - "inclination": "97.94 deg", - "mission_life": "5 years" - }, - { - "name": "INSAT-4CR", - "id": 42, - "mission": "Communication", - "weight": "2,130 kg (Mass at Lift \u2013 off)", - "onboard_power": "3000 W", - "communication_payload": "12 Ku-band transponders employing 140 W Traveling Wave Tube Amplifiers (TWTA) Ku-band Beacon", - "launch_date": "September 2, 2007", - "launch_site": "SHAR, Sriharikota, India", - "launch_vehicle": "GSLV-F04", - "orbit": "Geosynchronous (74\u00b0 E)", - "mission_life": "12 Years" - }, - { - "name": "INSAT-4B", - "id": 41, - "mission": "Communication", - "weight": "3025 kg (at Lift \u2013 off)", - "onboard_power": "5859 W", - "stabilization": "It uses 3 earth sensors, 2 digital sun sensors, 8 coarse analog sun sensors, 3 solar panel sun sensors and one sensor processing electronics. The wheels and wheel drive electronics were imported with indigenous wheel interface module to interface the wheel drive electronics and AOCE.", - "propulsion": "The propulsion system is employing 16 thrusters, 4 each located on east, west and AY sides and 2 each on north and south sides. There is one 440 N liquid apogee motor (using Mono Methyl Hydrazine (MMH) as fuel and oxides of Nitrogen (MON3 as oxidizer) and three pressurant tanks mounted on the LAM deck.", - "payload": "12 Ku band high power transponders covering Indian main land using 140W radiatively cooled TWTAs.", - "launch_date": "March 12, 2007", - "launch_site": "French Guiana", - "launch_vehicle": "Ariane5", - "orbit": "Geostationary (93.5o E Longitude)", - "mission_life": "12 Years" - }, - { - "name": "CARTOSAT-2", - "id": 40, - "mission": "Remote Sensing", - "weight": "650 Kg", - "onboard_orbit": "900 Watts", - "stabilization": "3 - axis body stabilised using high torque reaction wheels, magnetic torquers and thrusters", - "payloads": "Panchromatic Camera", - "launch_date": "10 January 2007", - "launch_site": "SHAR Centre Sriharikota India", - "launch_vehicle": "PSLV- C7", - "orbit": "Polar Sun Synchronous", - "mission_life": "5 years" - }, - { - "name": "INSAT-4A", - "id": 39, - "spacecraft_mass": "Lift off 3081 Kg Dry Mass 1386.55 Kg", - "orbit": "Geostationary ( 83o E)", - "power": "Solar Array to provide a power of 5922 W", - "battery": "Three 70 Ah Ni H2 Batteries for eclipse support of 4264 W", - "life": "12 Years", - "launch_date": "December 22, 2005", - "launch_vehicle": "ARIANE5-V169" - }, - { - "name": "CARTOSAT-1", - "id": 38, - "launch_date": "5 May 2005", - "launch_site": "SHAR Centre Sriharikota India", - "launch_vehicle": "PSLV- C6", - "orbit": "618 km Polar Sun Synchronous", - "payloads": "PAN FORE, PAN - AFT", - "orbit_period": "97 min", - "number_of_orbits_per_day": "14", - "local_time_of_equator_crossing": "10:30 am", - "repetivity": "126 days", - "revisit": "5 days", - "lift-off_mass": "1560 kg", - "attitude_and_orbit_control": "3-axis body stabillised using reaction wheels, Magnetic Torquers and Hydrazine Thrusters", - "electrical_power": "15 sqm Solar Array generating 1100w, Two 24 Ah Ni-Cd batteries", - "mission_life": "5 years" - }, - { - "name": "HAMSAT", - "id": 37, - "launch_date": "May 5, 2005", - "launch_site": "SHAR Centre, Sriharikota, India", - "launch_vehicle": "PSLV-C6", - "orbit": "Geo-synchronous, 633.355 km (average)", - "payloads": "2 Transponders" - }, - { - "name": "EDUSAT", - "id": 36, - "mission": "Education", - "spacecraft_mass": "1950.5 kg mass (at Lift - off) 819.4 kg (Dry mass)", - "onboard_power": "Total four solar panel of size 2.54 M x 1.525 M generating 2040 W (EOL), two 24 AH NiCd batteries for eclipse support", - "stabilization": "3 axis body stabilised in orbit using sensors, momentum and reaction wheels, magnetic torquers and eight 10 N & 22N reaction control thrusters.", - "propulsion": "440 N Liquid Apogee Motor with MON - 3 and MMH for orbit raising", - "payload": "Six upper extended C - band transpondersFive lower Ku band transponders with regional beam coverage One lower Ku band National beam transponder with Indian main land coverageKu beacon12 C band high power transponders with extended coverage, covering southeast and northwest region apart from Indian main land using 63 W LTWTAs", - "launch_date": "September 20, 2004", - "launch_site": "SHAR, Sriharikota, India", - "launch_vehicle": "GSLV-F01", - "orbit": "Geostationary (74oE longitude)", - "mission_life": "7 Years (minimum)" - }, - { - "name": "IRS-P6 / RESOURCESAT-1", - "id": 35, - "launch_date": "October 17, 2003", - "launch_site": "SHAR, Sriharikota", - "launch_vehicle": "PSLV-C5", - "payloads": "LISS-4, LISS-3, AWiFS-A, AWiFS-B", - "orbit": "Polar Sun Synchronous", - "orbit_height": "817 km", - "orbit_inclination": "98.7o", - "orbit_period": "101.35 min", - "number_of_orbits_per_day": "14", - "local_time_of_equator_crossing": "10:30 am", - "repetivity_(liss-3)": "24 days", - "revisit": "5 days", - "lift-off_mass": "1360 kg", - "attitude_and_orbit_control": "3-axis body stabilised using Reaction Wheels, Magnetic Torquers and Hydrazine Thrusters", - "power": "Solar Array generating 1250 W, Two 24 Ah Ni-Cd batteries", - "mission_life": "5 years" - }, - { - "name": "INSAT-3E", - "id": 34, - "mission": "Communication", - "spacecraft_mass": "2,775 kg (Mass at Lift-off) 1218 kg (Dry mass)", - "launch_date": "September 28, 2003", - "launch_site": "French Guyana", - "launch_vehicle": "Ariane5-V162", - "orbit": "Geostationary Orbit" - }, - { - "name": "GSAT-2", - "id": 33, - "mission": "Communication", - "weight": "1800 kg", - "launch_date": "May 8, 2003", - "launch_site": "SHAR, Sriharikota, India", - "launch_vehicle": "GSLV\u2013D2", - "orbit": "Geostationary orbit (48oE longitude)" - }, - { - "name": "INSAT-3A", - "id": 32, - "mission": "Telecommunication, broadcasting and Meteorology", - "spacecraft_mass": "2,950 kg (Mass at Lift\u2013off) 1,348 kg (Dry mass)", - "onboard_power": "3,100 W", - "stabilization": "3 \u2013 axis body stabilised in orbit using momentum and reaction wheels, solar flaps, magnetic torquers and eight 10 N and eight 22 N reaction control thrusters", - "propulsion": "440 N Liquid Apogee Motor with MON-3 (Mixed Oxides of Nitrogen) and MMH (Mono Methyl Hydrazine) for orbit raising", - "payload": "Communication payload- 12 C \u2013 band transponders, - 6 upper extended C band transponders - 6 Ku band transponders - 1 Satellite Aided Search & Rescue transponders Meteorological payload- Very High Resolution Radiometer (VHRR) with 2 km resolution in visible band and 8 km resolution in infrared and water vapour band- Charged Coupled Device (CCD) camera operating in visible, near infrared and shortwave infrared band with 1 km resolution.- Data Relay Transponders (DRT)", - "launch_date": "April 10, 2003", - "launch_site": "French Guyana", - "launch_vehicle": "Ariane5-V160", - "orbit": "Geostationary (93.5o E longitude)", - "mission_life": "12 Years" - }, - { - "name": "KALPANA-1", - "id": 31, - "mission": "7 Years", - "spacecraft_mass": "1060 kg mass (at Lift \u2013 off) 498 kg (Dry mass)", - "onboard_power": "550 W", - "payload": "Very High Resolution Radiometer (VHRR) Data Relay Transponder (DRT)", - "launch_date": "12 September 2002", - "launch_site": "SHAR, Sriharikota", - "launch_vehicle": "PSLV \u2013 C4", - "orbit": "Geostationary (74 deg East longitude)" - }, - { - "name": "INSAT-3C", - "id": 30, - "mission": "Communication, broadcasting and Meteorology", - "spacecraft_mass": "2,650 kg (Mass at Lift - off) 1218 kg (Dry mass)", - "onboard_power": "2765 W", - "propulsion": "Liquid Apogee Motor with fuel and oxidizer stored in separate titanium tanks and pressurant in Kevlar wound titanium tank.", - "payload": "24 C band transponders 6 Extended C - band Transponders 2 S - band Transponders", - "launch_date": "January 24, 2002", - "launch_site": "French Guyana", - "launch_vehicle": "Ariane5-V147", - "orbit": "Geostationary (74o longitude)", - "mission_life": "Very long" - }, - { - "name": "The Technology Experiment Satellite\n(TES)", - "id": 29, - "launch_date": "22 October 2001", - "launch_site": "SHAR Centre Sriharikota India", - "launch_vehicle": "PSLV- C3", - "orbit": "572 km Sun Synchronous", - "payloads": "PAN" - }, - { - "name": "PSLV-C3 / TES", - "id": 28, - "launch_date": "22 October 2001", - "launch_site": "SHAR Centre Sriharikota India", - "launch_vehicle": "PSLV- C3", - "orbit": "572 km Sun Synchronous", - "payloads": "PAN" - }, - { - "name": "GSAT-1", - "id": 27, - "mission": "Communication", - "weight": "1530 kg", - "launch_date": "18 April 2001", - "launch_site": "SHAR, Sriharikota", - "launch_vehicle": "GSLV \u2013 D1", - "orbit": "Sun Synchronous Geo stationary orbit" - }, - { - "name": "INSAT-3B", - "id": 26, - "mission": "Very long", - "spacecraft_mass": "2,070 (Mass at Lift \u2013 off) 970 kg (Dry mass)", - "onboard_power": "1,712 W", - "stabilization": "3 \u2013 axis body stabilised biased momentum control system using earth sensors, sun sensors, inertial reference unit, momentum / reaction wheels, magnetic torquers and unified bi-propellant thrusters.", - "propulsion": "Liquid Apogee Motor with fuel and oxidizer stored in separate titanium tanks and pressurant in Kevlar wound titanium tank.", - "payload": "12 extended C \u2013 band Transponders Five Ku band Transponders Mobile Satellite Services (MSS)", - "launch_date": "22nd March 2000", - "launch_site": "French Guyana", - "launch_vehicle": "Ariane -5", - "orbit": "Geostationary (83 deg East longitude)", - "inclination": "7 deg" - }, - { - "name": "Oceansat(IRS-P4)", - "id": 25, - "launch_date": "May 26, 1999", - "launch_site": "SHAR, Sriharikota", - "launch_vehicle": "PSLV - C2", - "orbit": "Polar Sun Synchronous", - "altitude": "720 km", - "inclination": "98.28 deg", - "period": "99.31 min", - "local_time_of_eq._crossing": "12 noon", - "repetitivity_cycle": "2 days", - "size": "2.8m x 1.98m x 2.57m", - "mass_at_lift_off": "1050 kg", - "length_when_fully_deployed": "11.67 m", - "attitude_and_orbit_control": "3-axis body-stabilised using Reaction Wheels, Magnetic Torquers and Hydrazine Thrusters", - "power": "9.6 Sq.m Solar Array generating 750w Two 21 Ah Ni-Cd Batteries", - "mission_completed_on": "August 8, 2010" - }, - { - "name": "INSAT-2E", - "id": 24, - "mission": "Communication and Meteorology", - "spacecraft_mass": "2,550 kg (Mass at Lift-off) 1150 kg (Dry mass)", - "launch_date": "03 April 1999", - "launch_site": "French Guyana", - "launch_vehicle": "Ariane \u2013 42P", - "orbit": "Geosynchronous (83 deg east longitude)" - }, - { - "name": "IRS-1D", - "id": 23, - "mission": "Operational Remote Sensing", - "weight": "1250 kg", - "onboard_power": "809 Watts (generated by 9.6 sq.metres Solar Panels)", - "communication": "S-band, X-band", - "stabilization": "Three axis body stabilized (zero momentum) with 4 Reaction Wheels, Magnetic torquer", - "rcs": "Monopropellant Hydrazine based with sixteen 1 N thrusters & one 11N thrusters", - "payload": "Three solid state Push Broom Cameras: PAN (<6 metre solution )LlSS-3(23.6 metre resolution) and WiFS (189 metre resolution)", - "onboard_tape_recorder": "Storage Capacity : 62 G bits", - "launch_date": "December 28, 1995", - "launch_site": "Baikanur Cosmodrome Kazakhstan", - "launch_vehicle": "Molniya", - "orbit": "817 km Polar Sun-synchronous", - "inclination": "98.69o", - "repetivity": "24 days", - "local_time": "10.30 a.m", - "mission_completed_on": "September 21, 2007" - }, - { - "name": "INSAT-2D", - "id": 22, - "mission": "Communication", - "weight": "2079 kg with propellants, 995 kg dry weight", - "onboard_power": "1650 Watts", - "communication": "C, extended C, S and Ku bands", - "stabilization": "Three axis stabilized with two Momentum Wheels & one Reaction Wheel, Magnetic torquers", - "propulsion": "Integrated bipropellan stystem ( MMH and N2 04) With sixteen 22N thrusters and 440N LAM.", - "payload": "Transponders: 16C-band / extended C-band transponders (forFSS), 2 high power C-band transponders (for BSS), 1S-band transponder (for BSS),1C/S-band mobile communication transponder, 3 Ku-band transponders", - "launch_date": "June 4, 1997", - "launch_site": "French Guyana", - "launch_vehicle": "Arianev 4", - "orbit": "Geostationary 93,.5deg.E", - "inclination": "0 deg." - }, - { - "name": "IRS-P3", - "id": 21, - "mission": "Remote sensing of earth's natural resources. Study of X-ray Astronomy. Periodic calibration of PSLV tracking radar located at tracking stations.", - "weight": "920 kg", - "onboard_power": "817 Watts", - "communication": "S-band", - "stabilization": "Three axis body stabilized", - "rcs": "Combinations of bladder type and surface tension type mass expulsion monopropellant hydrazine system", - "payload": "WideField Sensor (WiFS), Modular Opto - electronic Scanner (MOS), Indian X-ray Astronomy Experiment (IXAE), C-band transponder(CBT)", - "launch_date": "March 21, 1996", - "launch_site": "SHAR Centre, Sriharikota, India", - "launch_vehicle": "PSLV-D3", - "orbit": "817 km. Circular polar sun-synchronous with equatorial crossing at 10.30 am (descending node)", - "inclination": "98.68o", - "repetivity": "WiFS : 5 days", - "mission_completed_during": "January 2006" - }, - { - "name": "IRS-1C", - "id": 20, - "mission": "Operational Remote Sensing", - "weight": "1250 kg", - "onboard_power": "809 Watts (generated by 9.6 sq.metres Solar Panels)", - "communication": "S-band, X-band", - "stabilization": "Three axis body stabilized (zero momentum) with 4 Reaction Wheels, Magnetic torquer", - "rcs": "Monopropellant Hydrazine based with sixteen 1 N thrusters & one 11N thrusters", - "payload": "Three solid state Push Broom Cameras: PAN (<6 metre solution )LlSS-3(23.6 metre resolution) and WiFS (189 metre resolution)", - "onboard_tape_recorder": "Storage Capacity : 62 G bits", - "launch_date": "December 28, 1995", - "launch_site": "Baikanur Cosmodrome Kazakhstan", - "launch_vehicle": "Molniya", - "orbit": "817 km Polar Sun-synchronous", - "inclination": "98.69o", - "repetivity": "24 days", - "local_time": "10.30 a.m", - "mission_completed_on": "September 21, 2007" - }, - { - "name": "INSAT-2C", - "id": 19, - "mission": "Communication", - "weight": "2106 kg with propellants 946 kg dry weight", - "onboard_power": "1320 Watts", - "communication": "C extended C, S and Ku bands", - "stabilization": "Three axis stabilized with two Momen'tum Wheels & one Reaction Wheel, Magnetic torquers", - "propulsion": "Integrated bipropellant system ( MMH and N2 04) With sixteen 22N thrusters and 440N LAM.", - "payload": "Transponders: 16C-band / extended C-band transponders (for FSS), 2 high power C-band transponders (for BSS), 1S-band transponder (for BSS),1C/S-band mobile communication transponder, 3 Ku-band transponders", - "launch_date": "December 7, 1995", - "launch_site": "French Guyana", - "launch_vehicle": "Ariane4", - "orbit": "Geostationary 93.5 deg E", - "inclination": "0 deg.", - "mission_life": "Seven years(nominal)", - "orbit_life": "Very Long" - }, - { - "name": "IRS-P2", - "id": 18, - "mission": "Operational Remote Sensing", - "weight": "804 kg", - "onboard_power": "510 Watts", - "communication": "S-band, X-band", - "stabilization": "Three axis body stabilized with 4 Reaction Wheels, Magnetic torquers", - "rcs": "4 tanks containing Monopropellant Hydrazine based with sixteen 1 N thrusters and one 11 N thruster", - "payload": "Two solid state Push Broom Cameras operating in four spectral bands in the visible and near-IR range using CCD arrays: LlSS-2A & LlSS-2B (Resolution: 32.74 metre)", - "launch_date": "October 15, 1994", - "launch_site": "SHAR Centre, Sriharikota, India", - "launch_vehicle": "PSLV-D2", - "inclination": "98.68o", - "repetivity": "24 days", - "mission_completed_on": "1997" - }, - { - "name": "SROSS-C2", - "id": 17, - "mission": "Experimental", - "weight": "115 kg", - "onboard_power": "45 Watts", - "communication": "S-band and VHF", - "rcs": "Monopropellant Hydrazine based with six 1 Newton thrusters", - "payload": "Gamma Ray Burst (GRB) & Retarding Potential Analyser (RPA)", - "launch_date": "May 04,1994", - "launch_site": "SHAR Centre,Sriharikota,India", - "launch_vehicle": "Augmented Satellite Launch Vehicle (ASLV)", - "orbit": "430 x 600 km.", - "inclination": "45 deg.", - "mission_life": "Six months (nominal)", - "orbital_life": "Two years (nominal)" - }, - { - "name": "IRS-1E", - "id": 16, - "mission": "Operational Remote Sensing", - "weight": "846 kg", - "onboard_power": "415 Watts", - "communication": "S-band (TIC) & VHF", - "stabilization": "Three axis body stabilized ( zero momentum) with 4 Reaction Wheels, Magnetic torquers", - "rcs": "Monopropellant Hydrazine based RCS with 1 Newton thrusters ( 16 Nos.)", - "payload": "LlSS-1 MEOSS (Mono-ocula Erlectro Optic Stereo Scanner)", - "launch_date": "September 20, 1993", - "launch_site": "SHAR Centre, Sriharikota, India", - "launch_vehicle": "PSLV-D1", - "orbit": "Not realised" - }, - { - "name": "INSAT-2B", - "id": 15, - "mission": "Multipurpose Communication, meteorology and Satellite based search and rescue", - "weight": "1906 kg with propellant 916 kg dry weight", - "onboard_power": "One KW approx.", - "communication": "C, extended C and S band", - "stabilization": "Three axis body stabilized with two Momentum Wheels & one Reaction Wheel, Magnetic torquers", - "propulsion": "Integrated bipropellant system ( MMH and N2 04) With sixteen 22 N thrusters and 440 N LAM.", - "payload": "Transponders: 12C-band (for FSS),6 ext. C-band (for FSS) 2S-band (for BSS),1Data relay transponder (for met.data), 1 transponder for research and rescue, Very High Resolution radiometer (VHRR) for meteorological observation with 2 km resolution in the visible and 8 km resolution in the IR band", - "launch_date": "July 23, 1993", - "launch_site": "French Guyana", - "launch_vehicle": "Ariane 4", - "orbit": "Geostationary 93.5o E", - "inclination": "0o", - "mission_life": "Seven years(nominal)", - "orbit_life": "Very Long" - }, - { - "name": "INSAT-2A", - "id": 14, - "mission": "Multipurpose Communication, meteorology and Satellite based search and rescue", - "weight": "1906 kg with propellant 916 kg dry weight", - "onboard_power": "One KW approx", - "communication": "C, extended C and S band", - "stabilization": "Three axis body stabilized with two Momentum Wheels & one Reaction Wheel, Magnetic torquers", - "propulsion": "Integrated bipropellant system (MMH and N2 04) With sixteen 22 N thrusters and 440 LAM.", - "payload": "Transponders: 12 C-band (for FSS),6 ext. C-band (for FSS) 2 S-band (for BSS),1Data relay transponder (for met.data), 1 transponder for research and rescue, Very High Resolution radiometer (VHRR) for meteorological observation with 2 km resolution in the visible and 8 km resolution in the IR band", - "launch_date": "July 10,1992", - "launch_site": "French Guyana", - "launch_vehicle": "Ariane 4", - "orbit": "Geostationary 74oE longitude", - "inclination": "0o", - "mission_life": "Seven years(nominal)", - "orbit_life": "Very Long" - }, - { - "name": "SROSS-C\n", - "id": 13, - "mission": "Experimental", - "weight": "106.1 kg", - "onboard_power": "45 Watts", - "communication": "S-band and VHF", - "stabilization": "Spin stabilized with a Magnetic Torquer and Magnetic Bias Control", - "payload": "Gamma Ray Burst (GRB) experiment & Retarding Potential Analyser (RPA) experiment", - "launch_date": "May 20,1992", - "launch_site": "SHAR Centre, Sriharikota, India", - "launch_vehicle": "Augmented Satellite Launch Vehicle (ASLV)", - "orbit": "267 x 391 km", - "mission_life": "Two months (Re-entered on July15,1992)" - }, - { - "name": "IRS-1B", - "id": 12, - "mission": "Operational Remote Sensing", - "weight": "975 kg", - "onboard_power": "600 Watts", - "communication": "S-band, X-band and VHF (commanding only)", - "stabilization": "Three axis body stabilized (zero momentum) with 4 Reactions Wheels, Magnetic torquers", - "rcs": "Monopropellant Hydrazine based with sixteen 1 Newton thrusters", - "payload": "Three solid state Push Broom Cameras LlSS-1 (72.5 metre resolution), LlSS-2A and LlSS-2B (36.25 metre resolution)", - "launch_date": "August 29, 1991", - "launch_site": "Baikanur Cosmodrome Kazakhstan", - "launch_vehicle": "Vostok", - "orbit": "904 km Polar Sun Synchronous", - "inclination": "99.08o", - "repetivity": "22 days", - "local_time": "10.30 a.m. (descending node)", - "mission_completed_on": "December 20, 2003" - }, - { - "name": "SROSS-2", - "id": 11, - "mission": "Experimental", - "weight": "150 kg", - "onboard_power": "90 Watts", - "communication": "S-band and VHF", - "stabilization": "Three axis body stabilized (biased momentum) with a MomentumWheel and Magnetic Torquer", - "propulsion_system": "Monopropellant (Hydrazine based) Reaction Control System", - "payload": "Gamma Ray Burst (GRB) payload and Mono PayloadOcular Electro-Optic Stereo Scanner (MEOSS) built by DLR, Germany", - "launch_date": "July 13, 1988", - "launch_site": "SHAR Centre, Sriharikota, India", - "launch_vehicle": "Augmented Satellite Launch Vehicle (ASLV)", - "orbit": "Not realised" - }, - { - "name": "IRS-1A", - "id": 10, - "mission": "Operational Remote Sensing", - "weight": "975 kg", - "onboard_power": "600 Watts", - "communication": "S-band, X-band and VHF(commanding only)", - "stabilization": "Three axis body stabilized (zero momentum)with 4 Reactions Wheels, Magnetic torquers", - "rcs": "Monopropellant Hydrazine based with sixteen 1 Newton thrusters", - "payload": "Three solid state Push Broom Cameras: LISS-1(72.5 metre resolution),LISS-2A and LISS-2B (36.25 metre resolution)", - "launch_date": "March 17, 1988", - "launch_site": "Baikanur Cosmodrome Kazakhstan", - "launch_vehicle": "Vostok", - "orbit": "904 km Polar Sun-synchronous", - "inclination": "99.08o", - "repetivity": "22 days (307 orbits)", - "local_time": "10.30 a.m. (descending node)", - "mission_completed_during": "July 1996" - }, - { - "name": "SROSS-1\n", - "id": 9, - "mission": "Experimental", - "weight": "150 kg", - "onboard_power": "90 Watts", - "communication": "S-band and VHF", - "stabilization": "Three axis body stabilized (biased momentum) with a Momentum Wheel and Magnetic Torquer", - "propulsion_system": "Monopropellant (Hydrazine based) Reaction control system", - "payload": "Launch Vehicle Monitoring Platform(LVMP), Gamma Ray Burst (GRB) payload and Corner Cube Retro Reflector (CCRR) for laser tracking", - "launch_date": "March 24, 1987", - "launch_site": "SHAR Centre, Sriharikota, India", - "launch_vehicle": "Augmented Satellite Launch Vehicle (ASLV)", - "orbital_life": "Not realised" - }, - { - "name": "Rohini Satellite RS-D2", - "id": 8, - "mission": "Experimental", - "weight": "41.5 kg", - "onboard_power": "16 Watts", - "communication": "VHF band", - "stabilization": "Spin stabilized", - "payload": "Smart sensor (remote sensing payload),L-band beacon", - "launch_date": "April 17, 1983", - "launch_site": "SHAR Centre, Sriharikota, India", - "launch_vehicle": "SLV-3", - "orbit": "371 x 861 km", - "inclination": "46o", - "mission_life": "17 months", - "orbital_life": "Seven years (Re-entered on April 19, 1990)" - }, - { - "name": "Bhaskara-II", - "id": 7, - "mission": "Experimental Remote Sensing", - "weight": "444 kg", - "onboard_power": "47 Watts", - "communication": "VHF band", - "stabilization": "Spin stabilized (spin axis controlled)", - "payload": "TV cameras, three band Microwave Radiometer (SAMIR)", - "launch_date": "Nov 20, 1981", - "launch_site": "Volgograd Launch Station (presently in Russia)", - "launch_vehicle": "C-1 Intercosmos", - "orbit": "541 x 557 km", - "inclination": "50.7o", - "mission_life": "One year (nominal)", - "orbital_life": "About 10 years ( Re-entered in 1991 )" - }, - { - "name": "APPLE", - "id": 6, - "mission": "Experimental geostationary communication", - "weight": "670 kg", - "onboard_power": "210 Watts", - "communication": "VHF and C-band", - "stabilization": "Three axis stabilized (biased momentum) with Momentum Wheels, Torquers & Hydrazine based Reaction control system", - "payload": "C - band transponders (Two)", - "launch_date": "June19,1981", - "launch_site": "Kourou (CSG), French Guyana", - "launch_vehicle": "Ariane -1(V-3)", - "orbit": "Geosynchronous (102 deg. E longitude, over Indonesia)", - "inclination": "Near zero", - "mission_life": "Two years" - }, - { - "name": "Rohini Satellite RS-D1", - "id": 5, - "mission": "Experimental", - "weight": "38 kg", - "onboard_power": "16 Watts", - "communication": "VHF band", - "stabilization": "Spin stabilized", - "payload": "Landmark Tracker ( remote sensing payload)", - "launch_date": "May 31,1981", - "launch_site": "SHAR Centre, Sriharikota, India", - "launch_vehicle": "SLV-3", - "orbit": "186 x 418 km (achieved)", - "inclination": "46 deg", - "orbital_life": "Nine days" - }, - { - "name": "Rohini Satellite RS-1", - "id": 4, - "mission": "Experimental", - "weight": "35 kg", - "onboard_power": "16 Watts", - "communication": "VHF band", - "stabilization": "Spin stabilized", - "payload": "Launch vehicle monitoring instruments", - "launch_date": "July 18,1980", - "launch_site": "SHAR Centre, Sriharikota, India", - "launch_vehicle": "SLV-3", - "orbit": "305 x 919 km", - "inclination": "44.7 deg.", - "mission_life": "1.2 years", - "orbital_life": "20 months" - }, - { - "name": "Rohini Technology Payload (RTP)", - "id": 3, - "mission": "Experimental", - "weight": "35 kg", - "onboard_power": "3 Watts", - "communication": "VHF band", - "stabilization": "Spin stabilized (spin axis controlled)", - "payload": "Launch vehicle monitoring instruments", - "launch_date": "August 10,1979", - "launch_site": "SHAR Centre, Sriharikota, India", - "launch_vehicle": "SLV-3", - "orbit": "Not achieved" - }, - { - "name": "Bhaskara-I", - "id": 2, - "mission": "Experimental Remote Sensing", - "weight": "442 kg", - "onboard_power": "47 Watts", - "communication": "VHF band", - "stabilization": "Spin stabilized (spin axis controlled)", - "payload": "TVcameras, three band Microwave Radiometer (SAMIR)", - "launch_date": "Jun 07,1979", - "launch_site": "Volgograd Launch Station (presently in Russia)", - "launch_vehicle": "C-1Intercosmos", - "orbit": "519 x 541 km", - "inclination": "50.6 deg", - "mission_life": "One year (nominal)", - "orbital_life": "About 10 years ( Re-entered in 1989 )" - }, - { - "name": "Aryabhata ", - "id": 1, - "mission": "Scientific/ Experimental", - "weight": "360 kg", - "on_board_power": "46 Watts", - "communication": "VHF band", - "stabilization": "Spinstabilize", - "payload": "X-ray Astronomy Aeronomy & Solar Physics", - "launch_date": "April 19, 1975", - "launch_site": "Volgograd Launch Station (presently in Russia)", - "launch_vehicle": "C-1 Intercosmos", - "orbit": "563 x 619 km", - "inclination": "50.7 deg", - "mission_life": "6 months(nominal), Spacecraft mainframe active till March,1981", - "orbital_life": "Nearly seventeen years (Re-entered on February 10,1992)" - } -] +{ + "spacecraft_missions": [ + { + "id": 1, + "name": "Aryabhata", + "mission_type": "Scientific/ Experimental", + "launch_date": "1975-04-19", + "launch_site": "Volgograd Launch Station (presently in Russia)", + "launch_vehicle": "C-1 Intercosmos", + "orbit": "563 x 619 km", + "orbit_type": null, + "altitude_km": null, + "inclination_deg": 50.7, + "mass_kg": 360.0, + "power_watts": 46.0, + "mission_life": "6 months", + "status": "decommissioned", + "payloads": "X-ray Astronomy Aeronomy & Solar Physics", + "stabilization": "Spinstabilize", + "propulsion": null + }, + { + "id": 2, + "name": "Bhaskara-I", + "mission_type": "Experimental Remote Sensing", + "launch_date": "1979-06-07", + "launch_site": "Volgograd Launch Station (presently in Russia)", + "launch_vehicle": "C-1Intercosmos", + "orbit": "519 x 541 km", + "orbit_type": null, + "altitude_km": null, + "inclination_deg": 50.6, + "mass_kg": 442.0, + "power_watts": 47.0, + "mission_life": "1 year", + "status": "decommissioned", + "payloads": "TVcameras, three band Microwave Radiometer (SAMIR)", + "stabilization": "Spin stabilized (spin axis controlled)", + "propulsion": null + }, + { + "id": 3, + "name": "Rohini Technology Payload (RTP)", + "mission_type": "Experimental", + "launch_date": "1979-08-10", + "launch_site": "SHAR Centre, Sriharikota, India", + "launch_vehicle": "SLV-3", + "orbit": "Not achieved", + "orbit_type": "Failed", + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 35.0, + "power_watts": 3.0, + "mission_life": null, + "status": "failed", + "payloads": "Launch vehicle monitoring instruments", + "stabilization": "Spin stabilized (spin axis controlled)", + "propulsion": null + }, + { + "id": 4, + "name": "Rohini Satellite RS-1", + "mission_type": "Experimental", + "launch_date": "1980-07-18", + "launch_site": "SHAR Centre, Sriharikota, India", + "launch_vehicle": "SLV-3", + "orbit": "305 x 919 km", + "orbit_type": null, + "altitude_km": null, + "inclination_deg": 44.7, + "mass_kg": 35.0, + "power_watts": 16.0, + "mission_life": "1.2 years", + "status": "decommissioned", + "payloads": "Launch vehicle monitoring instruments", + "stabilization": "Spin stabilized", + "propulsion": null + }, + { + "id": 5, + "name": "Rohini Satellite RS-D1", + "mission_type": "Experimental", + "launch_date": "1981-05-31", + "launch_site": "SHAR Centre, Sriharikota, India", + "launch_vehicle": "SLV-3", + "orbit": "186 x 418 km (achieved)", + "orbit_type": null, + "altitude_km": null, + "inclination_deg": 46.0, + "mass_kg": 38.0, + "power_watts": 16.0, + "mission_life": null, + "status": "decommissioned", + "payloads": "Landmark Tracker ( remote sensing payload)", + "stabilization": "Spin stabilized", + "propulsion": null + }, + { + "id": 6, + "name": "APPLE", + "mission_type": "Experimental geostationary communication", + "launch_date": "1981-06-19", + "launch_site": "Kourou (CSG), French Guyana", + "launch_vehicle": "Ariane -1(V-3)", + "orbit": "Geosynchronous (102 deg. E longitude, over Indonesia)", + "orbit_type": "GEO", + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 670.0, + "power_watts": 210.0, + "mission_life": "2 years", + "status": "decommissioned", + "payloads": "C - band transponders (Two)", + "stabilization": "Three axis stabilized (biased momentum) with Momentum Wheels, Torquers & Hydrazine based Reaction control system", + "propulsion": null + }, + { + "id": 7, + "name": "Bhaskara-II", + "mission_type": "Experimental Remote Sensing", + "launch_date": "1981-11-20", + "launch_site": "Volgograd Launch Station (presently in Russia)", + "launch_vehicle": "C-1 Intercosmos", + "orbit": "541 x 557 km", + "orbit_type": null, + "altitude_km": null, + "inclination_deg": 50.7, + "mass_kg": 444.0, + "power_watts": 47.0, + "mission_life": "1 year", + "status": "decommissioned", + "payloads": "TV cameras, three band Microwave Radiometer (SAMIR)", + "stabilization": "Spin stabilized (spin axis controlled)", + "propulsion": null + }, + { + "id": 8, + "name": "Rohini Satellite RS-D2", + "mission_type": "Experimental", + "launch_date": "1983-04-17", + "launch_site": "SHAR Centre, Sriharikota, India", + "launch_vehicle": "SLV-3", + "orbit": "371 x 861 km", + "orbit_type": null, + "altitude_km": null, + "inclination_deg": 46.0, + "mass_kg": 41.5, + "power_watts": 16.0, + "mission_life": "17 months", + "status": "decommissioned", + "payloads": "Smart sensor (remote sensing payload), L-band beacon", + "stabilization": "Spin stabilized", + "propulsion": null + }, + { + "id": 9, + "name": "SROSS-1", + "mission_type": "Experimental", + "launch_date": "1987-03-24", + "launch_site": "SHAR Centre, Sriharikota, India", + "launch_vehicle": "Augmented Satellite Launch Vehicle (ASLV)", + "orbit": null, + "orbit_type": null, + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 150.0, + "power_watts": 90.0, + "mission_life": null, + "status": "decommissioned", + "payloads": "Launch Vehicle Monitoring Platform(LVMP), Gamma Ray Burst (GRB) payload and Corner Cube Retro Reflector (CCRR) for laser tracking", + "stabilization": "Three axis body stabilized (biased momentum) with a Momentum Wheel and Magnetic Torquer", + "propulsion": "Monopropellant (Hydrazine based) Reaction control system" + }, + { + "id": 10, + "name": "IRS-1A", + "mission_type": "Operational Remote Sensing", + "launch_date": "1988-03-17", + "launch_site": "Baikanur Cosmodrome Kazakhstan", + "launch_vehicle": "Vostok", + "orbit": "904 km Polar Sun-synchronous", + "orbit_type": "SSO", + "altitude_km": null, + "inclination_deg": 99.08, + "mass_kg": 975.0, + "power_watts": 600.0, + "mission_life": null, + "status": "decommissioned", + "payloads": "Three solid state Push Broom Cameras: LISS-1(72.5 metre resolution), LISS-2A and LISS-2B (36.25 metre resolution)", + "stabilization": "Three axis body stabilized (zero momentum) with 4 Reactions Wheels, Magnetic torquers", + "propulsion": "Monopropellant Hydrazine based with sixteen 1 Newton thrusters" + }, + { + "id": 11, + "name": "SROSS-2", + "mission_type": "Experimental", + "launch_date": "1988-07-13", + "launch_site": "SHAR Centre, Sriharikota, India", + "launch_vehicle": "Augmented Satellite Launch Vehicle (ASLV)", + "orbit": "Not realised", + "orbit_type": "Failed", + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 150.0, + "power_watts": 90.0, + "mission_life": null, + "status": "failed", + "payloads": "Gamma Ray Burst (GRB) payload and Mono Payload Ocular Electro-Optic Stereo Scanner (MEOSS) built by DLR, Germany", + "stabilization": "Three axis body stabilized (biased momentum) with a Momentum Wheel and Magnetic Torquer", + "propulsion": "Monopropellant (Hydrazine based) Reaction Control System" + }, + { + "id": 12, + "name": "IRS-1B", + "mission_type": "Operational Remote Sensing", + "launch_date": "1991-08-29", + "launch_site": "Baikanur Cosmodrome Kazakhstan", + "launch_vehicle": "Vostok", + "orbit": "904 km Polar Sun Synchronous", + "orbit_type": "SSO", + "altitude_km": null, + "inclination_deg": 99.08, + "mass_kg": 975.0, + "power_watts": 600.0, + "mission_life": null, + "status": "decommissioned", + "payloads": "Three solid state Push Broom Cameras LlSS-1 (72.5 metre resolution), LlSS-2A and LlSS-2B (36.25 metre resolution)", + "stabilization": "Three axis body stabilized (zero momentum) with 4 Reactions Wheels, Magnetic torquers", + "propulsion": "Monopropellant Hydrazine based with sixteen 1 Newton thrusters" + }, + { + "id": 13, + "name": "SROSS-C", + "mission_type": "Experimental", + "launch_date": "1992-05-20", + "launch_site": "SHAR Centre, Sriharikota, India", + "launch_vehicle": "Augmented Satellite Launch Vehicle (ASLV)", + "orbit": "267 x 391 km", + "orbit_type": null, + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 106.1, + "power_watts": 45.0, + "mission_life": "2 months", + "status": "decommissioned", + "payloads": "Gamma Ray Burst (GRB) experiment & Retarding Potential Analyser (RPA) experiment", + "stabilization": "Spin stabilized with a Magnetic Torquer and Magnetic Bias Control", + "propulsion": null + }, + { + "id": 14, + "name": "INSAT-2A", + "mission_type": "Multipurpose Communication, meteorology and Satellite based search and rescue", + "launch_date": "1992-07-10", + "launch_site": "French Guyana", + "launch_vehicle": "Ariane 4", + "orbit": "Geostationary 74oE longitude", + "orbit_type": "GEO", + "altitude_km": null, + "inclination_deg": 0.0, + "mass_kg": 1906.0, + "power_watts": 1000.0, + "mission_life": "7 years", + "status": "decommissioned", + "payloads": "Transponders: 12 C-band (for FSS),6 ext. C-band (for FSS) 2 S-band (for BSS),1Data relay transponder (for met.data), 1 transponder for research and rescue, Very High Resolution radiometer (VHRR) for meteorological observation with 2 km resolution in the visible and 8 km resolution in the IR band", + "stabilization": "Three axis body stabilized with two Momentum Wheels & one Reaction Wheel, Magnetic torquers", + "propulsion": "Integrated bipropellant system (MMH and N2 04) With sixteen 22 N thrusters and 440 LAM." + }, + { + "id": 15, + "name": "INSAT-2B", + "mission_type": "Multipurpose Communication, meteorology and Satellite based search and rescue", + "launch_date": "1993-07-23", + "launch_site": "French Guyana", + "launch_vehicle": "Ariane 4", + "orbit": "Geostationary 93.5o E", + "orbit_type": "GEO", + "altitude_km": null, + "inclination_deg": 0.0, + "mass_kg": 1906.0, + "power_watts": 1000.0, + "mission_life": "7 years", + "status": "decommissioned", + "payloads": "Transponders: 12C-band (for FSS),6 ext. C-band (for FSS) 2S-band (for BSS),1Data relay transponder (for met.data), 1 transponder for research and rescue, Very High Resolution radiometer (VHRR) for meteorological observation with 2 km resolution in the visible and 8 km resolution in the IR band", + "stabilization": "Three axis body stabilized with two Momentum Wheels & one Reaction Wheel, Magnetic torquers", + "propulsion": "Integrated bipropellant system ( MMH and N2 04) With sixteen 22 N thrusters and 440 N LAM." + }, + { + "id": 16, + "name": "IRS-1E", + "mission_type": "Operational Remote Sensing", + "launch_date": "1993-09-20", + "launch_site": "SHAR Centre, Sriharikota, India", + "launch_vehicle": "PSLV-D1", + "orbit": "Not realised", + "orbit_type": "Failed", + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 846.0, + "power_watts": 415.0, + "mission_life": null, + "status": "failed", + "payloads": "LlSS-1 MEOSS (Mono-ocula Erlectro Optic Stereo Scanner)", + "stabilization": "Three axis body stabilized ( zero momentum) with 4 Reaction Wheels, Magnetic torquers", + "propulsion": "Monopropellant Hydrazine based RCS with 1 Newton thrusters ( 16 Nos.)" + }, + { + "id": 17, + "name": "SROSS-C2", + "mission_type": "Experimental", + "launch_date": "1994-05-04", + "launch_site": "SHAR Centre,Sriharikota,India", + "launch_vehicle": "Augmented Satellite Launch Vehicle (ASLV)", + "orbit": "430 x 600 km.", + "orbit_type": null, + "altitude_km": null, + "inclination_deg": 45.0, + "mass_kg": 115.0, + "power_watts": 45.0, + "mission_life": "6 months", + "status": "decommissioned", + "payloads": "Gamma Ray Burst (GRB) & Retarding Potential Analyser (RPA)", + "stabilization": null, + "propulsion": "Monopropellant Hydrazine based with six 1 Newton thrusters" + }, + { + "id": 18, + "name": "IRS-P2", + "mission_type": "Operational Remote Sensing", + "launch_date": "1994-10-15", + "launch_site": "SHAR Centre, Sriharikota, India", + "launch_vehicle": "PSLV-D2", + "orbit": null, + "orbit_type": null, + "altitude_km": null, + "inclination_deg": 98.68, + "mass_kg": 804.0, + "power_watts": 510.0, + "mission_life": null, + "status": "decommissioned", + "payloads": "Two solid state Push Broom Cameras operating in four spectral bands in the visible and near-IR range using CCD arrays: LlSS-2A & LlSS-2B (Resolution: 32.74 metre)", + "stabilization": "Three axis body stabilized with 4 Reaction Wheels, Magnetic torquers", + "propulsion": "4 tanks containing Monopropellant Hydrazine based with sixteen 1 N thrusters and one 11 N thruster" + }, + { + "id": 19, + "name": "INSAT-2C", + "mission_type": "Communication", + "launch_date": "1995-12-07", + "launch_site": "French Guyana", + "launch_vehicle": "Ariane4", + "orbit": "Geostationary 93.5 deg E", + "orbit_type": "GEO", + "altitude_km": null, + "inclination_deg": 0.0, + "mass_kg": 2106.0, + "power_watts": 1320.0, + "mission_life": "7 years", + "status": "decommissioned", + "payloads": "Transponders: 16C-band / extended C-band transponders (for FSS), 2 high power C-band transponders (for BSS), 1S-band transponder (for BSS),1C/S-band mobile communication transponder, 3 Ku-band transponders", + "stabilization": "Three axis stabilized with two Momen'tum Wheels & one Reaction Wheel, Magnetic torquers", + "propulsion": "Integrated bipropellant system ( MMH and N2 04) With sixteen 22N thrusters and 440N LAM." + }, + { + "id": 20, + "name": "IRS-1D", + "mission_type": "Operational Remote Sensing", + "launch_date": "1995-12-28", + "launch_site": "Baikanur Cosmodrome Kazakhstan", + "launch_vehicle": "Molniya", + "orbit": "817 km Polar Sun-synchronous", + "orbit_type": "SSO", + "altitude_km": null, + "inclination_deg": 98.69, + "mass_kg": 1250.0, + "power_watts": 809.0, + "mission_life": null, + "status": "decommissioned", + "payloads": "Three solid state Push Broom Cameras: PAN (<6 metre solution )LlSS-3(23.6 metre resolution) and WiFS (189 metre resolution)", + "stabilization": "Three axis body stabilized (zero momentum) with 4 Reaction Wheels, Magnetic torquer", + "propulsion": "Monopropellant Hydrazine based with sixteen 1 N thrusters & one 11N thrusters" + }, + { + "id": 21, + "name": "IRS-1C", + "mission_type": "Operational Remote Sensing", + "launch_date": "1995-12-28", + "launch_site": "Baikanur Cosmodrome Kazakhstan", + "launch_vehicle": "Molniya", + "orbit": "817 km Polar Sun-synchronous", + "orbit_type": "SSO", + "altitude_km": null, + "inclination_deg": 98.69, + "mass_kg": 1250.0, + "power_watts": 809.0, + "mission_life": null, + "status": "decommissioned", + "payloads": "Three solid state Push Broom Cameras: PAN (<6 metre solution )LlSS-3(23.6 metre resolution) and WiFS (189 metre resolution)", + "stabilization": "Three axis body stabilized (zero momentum) with 4 Reaction Wheels, Magnetic torquer", + "propulsion": "Monopropellant Hydrazine based with sixteen 1 N thrusters & one 11N thrusters" + }, + { + "id": 22, + "name": "IRS-P3", + "mission_type": "Remote sensing of earth's natural resources. Study of X-ray Astronomy. Periodic calibration of PSLV tracking radar located at tracking stations.", + "launch_date": "1996-03-21", + "launch_site": "SHAR Centre, Sriharikota, India", + "launch_vehicle": "PSLV-D3", + "orbit": "817 km. Circular polar sun-synchronous with equatorial crossing at 10.30 am (descending node)", + "orbit_type": "SSO", + "altitude_km": null, + "inclination_deg": 98.68, + "mass_kg": 920.0, + "power_watts": 817.0, + "mission_life": null, + "status": "decommissioned", + "payloads": "WideField Sensor (WiFS), Modular Opto - electronic Scanner (MOS), Indian X-ray Astronomy Experiment (IXAE), C-band transponder(CBT)", + "stabilization": "Three axis body stabilized", + "propulsion": "Combinations of bladder type and surface tension type mass expulsion monopropellant hydrazine system" + }, + { + "id": 23, + "name": "INSAT-2D", + "mission_type": "Communication", + "launch_date": "1997-06-04", + "launch_site": "French Guyana", + "launch_vehicle": "Arianev 4", + "orbit": "Geostationary 93,.5deg.E", + "orbit_type": "GEO", + "altitude_km": null, + "inclination_deg": 0.0, + "mass_kg": 2079.0, + "power_watts": 1650.0, + "mission_life": null, + "status": "decommissioned", + "payloads": "Transponders: 16C-band / extended C-band transponders (forFSS), 2 high power C-band transponders (for BSS), 1S-band transponder (for BSS),1C/S-band mobile communication transponder, 3 Ku-band transponders", + "stabilization": "Three axis stabilized with two Momentum Wheels & one Reaction Wheel, Magnetic torquers", + "propulsion": "Integrated bipropellan stystem ( MMH and N2 04) With sixteen 22N thrusters and 440N LAM." + }, + { + "id": 24, + "name": "INSAT-2E", + "mission_type": "Communication and Meteorology", + "launch_date": "1999-04-03", + "launch_site": "French Guyana", + "launch_vehicle": "Ariane – 42P", + "orbit": "Geosynchronous (83 deg east longitude)", + "orbit_type": "GEO", + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 2550.0, + "power_watts": null, + "mission_life": null, + "status": "decommissioned", + "payloads": null, + "stabilization": null, + "propulsion": null + }, + { + "id": 25, + "name": "Oceansat(IRS-P4)", + "mission_type": null, + "launch_date": "1999-05-26", + "launch_site": "SHAR, Sriharikota", + "launch_vehicle": "PSLV - C2", + "orbit": "Polar Sun Synchronous", + "orbit_type": "SSO", + "altitude_km": 720.0, + "inclination_deg": 98.28, + "mass_kg": 1050.0, + "power_watts": 750.0, + "mission_life": null, + "status": "decommissioned", + "payloads": null, + "stabilization": "3-axis body-stabilised using Reaction Wheels, Magnetic Torquers and Hydrazine Thrusters", + "propulsion": null + }, + { + "id": 26, + "name": "INSAT-3B", + "mission_type": null, + "launch_date": "2000-03-22", + "launch_site": "French Guyana", + "launch_vehicle": "Ariane -5", + "orbit": "Geostationary (83 deg East longitude)", + "orbit_type": "GEO", + "altitude_km": null, + "inclination_deg": 7.0, + "mass_kg": 2070.0, + "power_watts": 1712.0, + "mission_life": "Very long", + "status": "unknown", + "payloads": "12 extended C – band Transponders Five Ku band Transponders Mobile Satellite Services (MSS)", + "stabilization": "3 – axis body stabilised biased momentum control system using earth sensors, sun sensors, inertial reference unit, momentum / reaction wheels, magnetic torquers and unified bi-propellant thrusters.", + "propulsion": "Liquid Apogee Motor with fuel and oxidizer stored in separate titanium tanks and pressurant in Kevlar wound titanium tank." + }, + { + "id": 27, + "name": "GSAT-1", + "mission_type": "Communication", + "launch_date": "2001-04-18", + "launch_site": "SHAR, Sriharikota", + "launch_vehicle": "GSLV – D1", + "orbit": "Sun Synchronous Geo stationary orbit", + "orbit_type": "GEO", + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 1530.0, + "power_watts": null, + "mission_life": null, + "status": "unknown", + "payloads": null, + "stabilization": null, + "propulsion": null + }, + { + "id": 28, + "name": "The Technology Experiment Satellite (TES)", + "mission_type": null, + "launch_date": "2001-10-22", + "launch_site": "SHAR Centre Sriharikota India", + "launch_vehicle": "PSLV- C3", + "orbit": "572 km Sun Synchronous", + "orbit_type": "SSO", + "altitude_km": null, + "inclination_deg": null, + "mass_kg": null, + "power_watts": null, + "mission_life": null, + "status": "unknown", + "payloads": "PAN", + "stabilization": null, + "propulsion": null + }, + { + "id": 29, + "name": "INSAT-3C", + "mission_type": "Communication, broadcasting and Meteorology", + "launch_date": "2002-01-24", + "launch_site": "French Guyana", + "launch_vehicle": "Ariane5-V147", + "orbit": "Geostationary (74o longitude)", + "orbit_type": "GEO", + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 2650.0, + "power_watts": 2765.0, + "mission_life": "Very long", + "status": "unknown", + "payloads": "24 C band transponders 6 Extended C - band Transponders 2 S - band Transponders", + "stabilization": null, + "propulsion": "Liquid Apogee Motor with fuel and oxidizer stored in separate titanium tanks and pressurant in Kevlar wound titanium tank." + }, + { + "id": 30, + "name": "KALPANA-1", + "mission_type": null, + "launch_date": "2002-09-12", + "launch_site": "SHAR, Sriharikota", + "launch_vehicle": "PSLV – C4", + "orbit": "Geostationary (74 deg East longitude)", + "orbit_type": "GEO", + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 1060.0, + "power_watts": 550.0, + "mission_life": "7 years", + "status": "decommissioned", + "payloads": "Very High Resolution Radiometer (VHRR) Data Relay Transponder (DRT)", + "stabilization": null, + "propulsion": null + }, + { + "id": 31, + "name": "INSAT-3A", + "mission_type": "Telecommunication, broadcasting and Meteorology", + "launch_date": "2003-04-10", + "launch_site": "French Guyana", + "launch_vehicle": "Ariane5-V160", + "orbit": "Geostationary (93.5o E longitude)", + "orbit_type": "GEO", + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 2950.0, + "power_watts": 3100.0, + "mission_life": "12 years", + "status": "decommissioned", + "payloads": "Communication payload - 12 C – band transponders, - 6 upper extended C band transponders - 6 Ku band transponders - 1 Satellite Aided Search & Rescue transponders Meteorological payload - Very High Resolution Radiometer (VHRR) with 2 km resolution in visible band and 8 km resolution in infrared and water vapour band - Charged Coupled Device (CCD) camera operating in visible, near infrared and shortwave infrared band with 1 km resolution. - Data Relay Transponders (DRT)", + "stabilization": "3 – axis body stabilised in orbit using momentum and reaction wheels, solar flaps, magnetic torquers and eight 10 N and eight 22 N reaction control thrusters", + "propulsion": "440 N Liquid Apogee Motor with MON-3 (Mixed Oxides of Nitrogen) and MMH (Mono Methyl Hydrazine) for orbit raising" + }, + { + "id": 32, + "name": "GSAT-2", + "mission_type": "Communication", + "launch_date": "2003-05-08", + "launch_site": "SHAR, Sriharikota, India", + "launch_vehicle": "GSLV–D2", + "orbit": "Geostationary orbit (48oE longitude)", + "orbit_type": "GEO", + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 1800.0, + "power_watts": null, + "mission_life": null, + "status": "unknown", + "payloads": null, + "stabilization": null, + "propulsion": null + }, + { + "id": 33, + "name": "INSAT-3E", + "mission_type": "Communication", + "launch_date": "2003-09-28", + "launch_site": "French Guyana", + "launch_vehicle": "Ariane5-V162", + "orbit": "Geostationary Orbit", + "orbit_type": "GEO", + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 2775.0, + "power_watts": null, + "mission_life": null, + "status": "unknown", + "payloads": null, + "stabilization": null, + "propulsion": null + }, + { + "id": 34, + "name": "IRS-P6 / RESOURCESAT-1", + "mission_type": null, + "launch_date": "2003-10-17", + "launch_site": "SHAR, Sriharikota", + "launch_vehicle": "PSLV-C5", + "orbit": "Polar Sun Synchronous", + "orbit_type": "SSO", + "altitude_km": 817.0, + "inclination_deg": 98.7, + "mass_kg": 1360.0, + "power_watts": 1250.0, + "mission_life": "5 years", + "status": "decommissioned", + "payloads": "LISS-4, LISS-3, AWiFS-A, AWiFS-B", + "stabilization": "3-axis body stabilised using Reaction Wheels, Magnetic Torquers and Hydrazine Thrusters", + "propulsion": null + }, + { + "id": 35, + "name": "EDUSAT", + "mission_type": "Education", + "launch_date": "2004-09-20", + "launch_site": "SHAR, Sriharikota, India", + "launch_vehicle": "GSLV-F01", + "orbit": "Geostationary (74 o E longitude)", + "orbit_type": "GEO", + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 1950.5, + "power_watts": 2040.0, + "mission_life": "7 years", + "status": "decommissioned", + "payloads": "Six upper extended C - band transponders Five lower Ku band transponders with regional beam coverage One lower Ku band National beam transponder with Indian main land coverage Ku beacon 12 C band high power transponders with extended coverage, covering southeast and northwest region apart from Indian main land using 63 W LTWTAs", + "stabilization": "3 axis body stabilised in orbit using sensors, momentum and reaction wheels, magnetic torquers and eight 10 N & 22N reaction control thrusters.", + "propulsion": "440 N Liquid Apogee Motor with MON - 3 and MMH for orbit raising" + }, + { + "id": 36, + "name": "CARTOSAT-1", + "mission_type": null, + "launch_date": "2005-05-05", + "launch_site": "SHAR Centre Sriharikota India", + "launch_vehicle": "PSLV- C6", + "orbit": "618 km Polar Sun Synchronous", + "orbit_type": "SSO", + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 1560.0, + "power_watts": 1100.0, + "mission_life": "5 years", + "status": "decommissioned", + "payloads": "PAN FORE, PAN - AFT", + "stabilization": "3-axis body stabillised using reaction wheels, Magnetic Torquers and Hydrazine Thrusters", + "propulsion": null + }, + { + "id": 37, + "name": "HAMSAT", + "mission_type": null, + "launch_date": "2005-05-05", + "launch_site": "SHAR Centre, Sriharikota, India", + "launch_vehicle": "PSLV-C6", + "orbit": "Geo-synchronous, 633.355 km (average)", + "orbit_type": null, + "altitude_km": null, + "inclination_deg": null, + "mass_kg": null, + "power_watts": null, + "mission_life": null, + "status": "unknown", + "payloads": "2 Transponders", + "stabilization": null, + "propulsion": null + }, + { + "id": 38, + "name": "INSAT-4A", + "mission_type": null, + "launch_date": "2005-12-22", + "launch_site": null, + "launch_vehicle": "ARIANE5-V169", + "orbit": "Geostationary ( 83o E)", + "orbit_type": "GEO", + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 3081.0, + "power_watts": 5922.0, + "mission_life": "12 years", + "status": "decommissioned", + "payloads": null, + "stabilization": null, + "propulsion": null + }, + { + "id": 39, + "name": "CARTOSAT-2", + "mission_type": "Remote Sensing", + "launch_date": "2007-01-10", + "launch_site": "SHAR Centre Sriharikota India", + "launch_vehicle": "PSLV- C7", + "orbit": "Polar Sun Synchronous", + "orbit_type": "SSO", + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 650.0, + "power_watts": 900.0, + "mission_life": "5 years", + "status": "decommissioned", + "payloads": "Panchromatic Camera", + "stabilization": "3 - axis body stabilised using high torque reaction wheels, magnetic torquers and thrusters", + "propulsion": null + }, + { + "id": 40, + "name": "INSAT-4B", + "mission_type": "Communication", + "launch_date": "2007-03-12", + "launch_site": "French Guiana", + "launch_vehicle": "Ariane5", + "orbit": "Geostationary (93.5 o E Longitude)", + "orbit_type": "GEO", + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 3025.0, + "power_watts": 5859.0, + "mission_life": "12 years", + "status": "decommissioned", + "payloads": "12 Ku band high power transponders covering Indian main land using 140W radiatively cooled TWTAs.", + "stabilization": "It uses 3 earth sensors, 2 digital sun sensors, 8 coarse analog sun sensors, 3 solar panel sun sensors and one sensor processing electronics. The wheels and wheel drive electronics were imported with indigenous wheel interface module to interface the wheel drive electronics and AOCE.", + "propulsion": "The propulsion system is employing 16 thrusters, 4 each located on east, west and AY sides and 2 each on north and south sides. There is one 440 N liquid apogee motor (using Mono Methyl Hydrazine (MMH) as fuel and oxides of Nitrogen (MON3 as oxidizer) and three pressurant tanks mounted on the LAM deck." + }, + { + "id": 41, + "name": "INSAT-4CR", + "mission_type": "Communication", + "launch_date": "2007-09-02", + "launch_site": "SHAR, Sriharikota, India", + "launch_vehicle": "GSLV-F04", + "orbit": "Geosynchronous (74° E)", + "orbit_type": "GEO", + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 2130.0, + "power_watts": 3000.0, + "mission_life": "12 years", + "status": "decommissioned", + "payloads": null, + "stabilization": null, + "propulsion": null + }, + { + "id": 42, + "name": "CARTOSAT-2A", + "mission_type": "Remote Sensing", + "launch_date": "2008-04-28", + "launch_site": "SHAR Centre Sriharikota India", + "launch_vehicle": "PSLV- C9", + "orbit": "635 km, Polar Sun Synchronous", + "orbit_type": "SSO", + "altitude_km": null, + "inclination_deg": 97.94, + "mass_kg": 690.0, + "power_watts": 900.0, + "mission_life": "5 years", + "status": "decommissioned", + "payloads": "Panchromatic Camera", + "stabilization": "3 – axis body stabilised using high torque reaction wheels, magnetic torquers and hydrogen thrusters", + "propulsion": null + }, + { + "id": 43, + "name": "Chandrayaan-1", + "mission_type": "Remote Sensing, Planetary Science", + "launch_date": "2008-10-22", + "launch_site": "SDSC, SHAR, Sriharikota", + "launch_vehicle": "PSLV - C11", + "orbit": "100 km x 100 km : Lunar Orbit", + "orbit_type": "Lunar", + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 1380.0, + "power_watts": 700.0, + "mission_life": "2 years", + "status": "decommissioned", + "payloads": null, + "stabilization": "3 - axis stabilised using reaction wheel and attitude control thrusters, sun sensors, star sensors, fibre optic gyros and accelerometers for attitude determination.", + "propulsion": null + }, + { + "id": 44, + "name": "Oceansat-2", + "mission_type": null, + "launch_date": "2009-09-23", + "launch_site": "SHAR, Sriharikota", + "launch_vehicle": "PSLV - C14", + "orbit": "Polar Sun Synchronous", + "orbit_type": "SSO", + "altitude_km": 720.0, + "inclination_deg": 98.28, + "mass_kg": 960.0, + "power_watts": 1360.0, + "mission_life": "5 years", + "status": "decommissioned", + "payloads": "OCM, SCAT and ROSA", + "stabilization": null, + "propulsion": null + }, + { + "id": 45, + "name": "CARTOSAT-2B", + "mission_type": "Remote Sensing", + "launch_date": "2010-07-12", + "launch_site": "SHAR Centre Sriharikota India", + "launch_vehicle": "PSLV- C15", + "orbit": "630 kms, Polar Sun Synchronous", + "orbit_type": "SSO", + "altitude_km": null, + "inclination_deg": 97.71, + "mass_kg": 694.0, + "power_watts": 930.0, + "mission_life": null, + "status": "unknown", + "payloads": "Panchromatic Camera", + "stabilization": "3 – axis body stabilised based on inputs from star sensors and gyros using Reaction wheels, Magnetic Torquers and Hydrazine Thrusters", + "propulsion": null + }, + { + "id": 46, + "name": "RESOURCESAT-2", + "mission_type": "Remote Sensing", + "launch_date": "2011-04-20", + "launch_site": "SHAR Centre Sriharikota India", + "launch_vehicle": "PSLV- C16", + "orbit": "Circular Polar Sun Synchronous", + "orbit_type": "SSO", + "altitude_km": 822.0, + "inclination_deg": 98.731, + "mass_kg": 1206.0, + "power_watts": 1250.0, + "mission_life": "5 years", + "status": "decommissioned", + "payloads": null, + "stabilization": "3-axis body stabilised using Reaction Wheels, Magnetic Torquers and Hydrazine Thrusters", + "propulsion": null + }, + { + "id": 47, + "name": "YOUTHSAT", + "mission_type": null, + "launch_date": "2011-04-20", + "launch_site": "SHAR Centre Sriharikota India", + "launch_vehicle": "PSLV- C16", + "orbit": "Circular Polar Sun Synchronous", + "orbit_type": "SSO", + "altitude_km": 822.0, + "inclination_deg": 98.731, + "mass_kg": 92.0, + "power_watts": 230.0, + "mission_life": "2 years", + "status": "decommissioned", + "payloads": null, + "stabilization": "3-axis body stabilised using Sun and Star Sensors, Miniature Magnetometer, Miniature Gyros, Micro Reaction Wheels and Magnetic Torquers", + "propulsion": null + }, + { + "id": 48, + "name": "GSAT-8", + "mission_type": "Communication", + "launch_date": "2011-05-21", + "launch_site": "Kourou, French Guiana", + "launch_vehicle": "Ariane-5 VA-202", + "orbit": "Geosynchronous (55° E)", + "orbit_type": "GEO", + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 3093.0, + "power_watts": 6242.0, + "mission_life": ">12 years", + "status": "decommissioned", + "payloads": null, + "stabilization": "3-axis body stabilised in orbit using Earth Sensors, Sun Sensors, Momentum and Reaction Wheels, Magnetic Torquers and eight 10 Newton and eight 22 Newton bipropellant thrusters", + "propulsion": "440 Newton Liquid Apogee Motors (LAM) with mono Methyl Hydrazine (MMH) as fuel and Mixed oxides of Nitrogen (MON-3) as oxidizer for orbit raising." + }, + { + "id": 49, + "name": "GSAT-12", + "mission_type": "Communication", + "launch_date": "2011-07-15", + "launch_site": "SHAR, Sriharikota, India", + "launch_vehicle": "PSLV-C17", + "orbit": "Geosynchronous (83° longitude)", + "orbit_type": "GEO", + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 1410.0, + "power_watts": 1430.0, + "mission_life": "~8 years", + "status": "decommissioned", + "payloads": null, + "stabilization": "3-axis body stabilised in orbit using Earth Sensors, Sun Sensors, Momentum and Reaction Wheels, Magnetic Torquers and eight 10 Newton and eight 22 Newton bipropellant thrusters", + "propulsion": "440 Newton Liquid Apogee Motors (LAM) with Mono Methyl Hydrazine (MMH) as fuel and Mixed oxides of Nitrogen (MON-3) as oxidizer for orbit raising." + }, + { + "id": 50, + "name": "Megha-Tropiques", + "mission_type": null, + "launch_date": "2011-10-12", + "launch_site": "SDSC SHAR Centre, Sriharikota, India", + "launch_vehicle": "PSLV- C18", + "orbit": "867 km with an inclination of 20 deg to the equator", + "orbit_type": null, + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 1000.0, + "power_watts": 1325.0, + "mission_life": null, + "status": "unknown", + "payloads": null, + "stabilization": "3-axis stabilised with 4 Reaction Wheels, Gyros and Star sensors, Hydrazine based RCS", + "propulsion": null + }, + { + "id": 51, + "name": "RISAT-1", + "mission_type": null, + "launch_date": "2012-04-26", + "launch_site": "SDSC SHAR Centre, Sriharikota, India", + "launch_vehicle": "PSLV- C19", + "orbit": "Circular Polar Sun Synchronous", + "orbit_type": "SSO", + "altitude_km": 536.0, + "inclination_deg": 97.552, + "mass_kg": 1858.0, + "power_watts": 2200.0, + "mission_life": "5 years", + "status": "decommissioned", + "payloads": null, + "stabilization": "3-axis body stabilised using Reaction Wheels, Magnetic Torquers and Hydrazine Thrusters", + "propulsion": null + }, + { + "id": 52, + "name": "GSAT-10", + "mission_type": "Communication", + "launch_date": "2012-09-29", + "launch_site": "Kourou, French Guiana", + "launch_vehicle": "Ariane-5 VA-209", + "orbit": "Geostationary (83° East longitude), co-located with INSAT-4A and GSAT-12", + "orbit_type": "GEO", + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 3400.0, + "power_watts": 6474.0, + "mission_life": "15 years", + "status": "active", + "payloads": null, + "stabilization": "3-axis body stabilised in orbit using Earth Sensors, Sun Sensors, Momentum and Reaction Wheels, Magnetic Torquers and eight 10 Newton and eight 22 Newton bipropellant thrusters", + "propulsion": "440 Newton Liquid Apogee Motors (LAM) with Mono Methyl Hydrazine (MMH) as fuel and Mixed oxides of Nitrogen (MON-3) as oxidizer for orbit raising." + }, + { + "id": 53, + "name": "SARAL", + "mission_type": null, + "launch_date": "2013-02-25", + "launch_site": "SDSC SHAR Centre, Sriharikota, India", + "launch_vehicle": "PSLV - C20", + "orbit": "781 km polar Sun synchronous", + "orbit_type": "SSO", + "altitude_km": null, + "inclination_deg": 98.538, + "mass_kg": 407.0, + "power_watts": 906.0, + "mission_life": "5 years", + "status": "decommissioned", + "payloads": null, + "stabilization": "3-axis stabilisation with reaction wheels, Hydrazine Control System based thrusters", + "propulsion": null + }, + { + "id": 54, + "name": "IRNSS-1A", + "mission_type": null, + "launch_date": "2013-07-01", + "launch_site": "SDSC SHAR Centre, Sriharikota, India", + "launch_vehicle": "PSLV - C22", + "orbit": "Geosynchronous, at 55 deg East longitude with 29 deg inclination", + "orbit_type": "GEO", + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 1425.0, + "power_watts": 1660.0, + "mission_life": "10 years", + "status": "decommissioned", + "payloads": null, + "stabilization": "Zero momentum system, orientation input from Sun & star Sensors and Gyroscopes; Reaction Wheels, Magnetic Torquers and 22 Newton thrusters as actuators", + "propulsion": "440 Newton Liquid Apogee Motor, twelve 22 Newton Thrusters" + }, + { + "id": 55, + "name": "INSAT-3D", + "mission_type": "Meteorological and Search & Rescue Services", + "launch_date": "2013-07-26", + "launch_site": "Kourou, French Guiana", + "launch_vehicle": "Ariane-5 VA-214", + "orbit": "Geostationary, 82 deg E Longitude", + "orbit_type": "GEO", + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 2060.0, + "power_watts": 1164.0, + "mission_life": "7 years", + "status": "decommissioned", + "payloads": null, + "stabilization": "3-asix body stabilized in orbit using Sun Sensors, Star Sensors, gyroscopes, Momentum and Reaction Wheels, Magnetic Torquers and thrusters", + "propulsion": "440 Newton Liquid Apogee Motor (LAM) and twelve 22 Newton thrusters with Mono Methyl Hydrazine (MMH) as fuel and mixed Oxides of Nitrogen (MON-3) as oxidizer" + }, + { + "id": 56, + "name": "GSAT-7", + "mission_type": "Communication", + "launch_date": "2013-08-30", + "launch_site": "Kourou, French Guiana", + "launch_vehicle": "Ariane-5 VA-215", + "orbit": "74oE Geo Stationary", + "orbit_type": "GEO", + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 2650.0, + "power_watts": 3000.0, + "mission_life": "> 7 years", + "status": "decommissioned", + "payloads": null, + "stabilization": "3-axis stabilized", + "propulsion": null + }, + { + "id": 57, + "name": "GSAT-14", + "mission_type": null, + "launch_date": "2014-01-05", + "launch_site": "SDSC, SHAR", + "launch_vehicle": "GSLV-D5", + "orbit": "74 deg East longitude in geostationary orbit", + "orbit_type": "GEO", + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 1982.0, + "power_watts": 2600.0, + "mission_life": "12 years", + "status": "active", + "payloads": null, + "stabilization": "Momentum biased 3-axis stabilized mode", + "propulsion": "Bi propellant-Mono Methyl Hydrazine and Mixed Oxides of Nitrogen (MON-3)" + }, + { + "id": 58, + "name": "IRNSS-1B", + "mission_type": null, + "launch_date": "2014-04-04", + "launch_site": "SDSC SHAR Centre, Sriharikota, India", + "launch_vehicle": "PSLV - C24", + "orbit": "Geosynchronous, at 55 deg East longitude with 29 deg inclination", + "orbit_type": "GEO", + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 1432.0, + "power_watts": 1660.0, + "mission_life": "10 years", + "status": "decommissioned", + "payloads": null, + "stabilization": "Zero momentum system, orientation input from Sun & star Sensors and Gyroscopes; Reaction Wheels, Magnetic Torquers and 22 Newton thrusters as actuators", + "propulsion": "440 Newton Liquid Apogee Motor, twelve 22 Newton Thrusters" + }, + { + "id": 59, + "name": "GSAT-15", + "mission_type": "Communication and Satellite Navigation", + "launch_date": "2015-11-11", + "launch_site": "Kourou, French Guiana", + "launch_vehicle": "Ariane-5 VA-227", + "orbit": "Geostationary (93.5° East longitude)Co-located with INSAT-3A and INSAT-4B", + "orbit_type": "GEO", + "altitude_km": null, + "inclination_deg": null, + "mass_kg": 3164.0, + "power_watts": 6200.0, + "mission_life": "12 years", + "status": "active", + "payloads": null, + "stabilization": null, + "propulsion": "Bi- propellant System" + }, + { + "id": 60, + "name": "RISAT-2BR1", + "mission_type": null, + "launch_date": null, + "launch_site": null, + "launch_vehicle": null, + "orbit": null, + "orbit_type": "LEO", + "altitude_km": 576.0, + "inclination_deg": 37.0, + "mass_kg": 628.0, + "power_watts": null, + "mission_life": "5 years", + "status": "unknown", + "payloads": "X-Band Radar", + "stabilization": null, + "propulsion": null + }, + { + "id": 61, + "name": "Cartosat-3", + "mission_type": null, + "launch_date": null, + "launch_site": null, + "launch_vehicle": null, + "orbit": null, + "orbit_type": "LEO", + "altitude_km": 509.0, + "inclination_deg": 97.5, + "mass_kg": 1625.0, + "power_watts": 2000.0, + "mission_life": "5 years", + "status": "unknown", + "payloads": null, + "stabilization": null, + "propulsion": null + }, + { + "id": 62, + "name": "GSAT-6", + "mission_type": null, + "launch_date": null, + "launch_site": null, + "launch_vehicle": null, + "orbit": null, + "orbit_type": null, + "altitude_km": null, + "inclination_deg": null, + "mass_kg": null, + "power_watts": 3100.0, + "mission_life": "9 years", + "status": "unknown", + "payloads": "i. S-band payload with five spot beams covering India for user links ii. C-band payload with one beam covering India for hub links S-band payload uses 6 m unfurlable antenna and C-band uses 0.8 m antenna.", + "stabilization": "Momentum biased 3-axis stabilised", + "propulsion": null + }, + { + "id": 63, + "name": "RISAT-2", + "mission_type": null, + "launch_date": null, + "launch_site": null, + "launch_vehicle": null, + "orbit": null, + "orbit_type": "LEO", + "altitude_km": 550.0, + "inclination_deg": 41.0, + "mass_kg": 300.0, + "power_watts": null, + "mission_life": null, + "status": "unknown", + "payloads": null, + "stabilization": null, + "propulsion": null + }, + { + "id": 64, + "name": "IMS-1", + "mission_type": null, + "launch_date": null, + "launch_site": null, + "launch_vehicle": null, + "orbit": "Polar Sun Synchronous", + "orbit_type": "SSO", + "altitude_km": 635.0, + "inclination_deg": null, + "mass_kg": 83.0, + "power_watts": 220.0, + "mission_life": "2 years", + "status": "unknown", + "payloads": null, + "stabilization": "Star Sensor, Miniature Sun Sensors, Magnetometers Gyros, Miniature Micro Reaction Wheels, Magnetic Torquers, single 1 N Hydrazine Thruster", + "propulsion": null + } + ] +} \ No newline at end of file diff --git a/data/spacecrafts.json b/data/spacecrafts.json index 2ae8ae1..298ac0c 100644 --- a/data/spacecrafts.json +++ b/data/spacecrafts.json @@ -1,456 +1,1134 @@ { - "spacecrafts": [ - { - "id": 1, - "name": "Aryabhata" - }, - { - "id": 2, - "name": "Bhaskara-I" - }, - { - "id": 3, - "name": "Rohini Technology Payload (RTP)" - }, - { - "id": 4, - "name": "Rohini Satellite RS-1" - }, - { - "id": 5, - "name": "Rohini Satellite RS-D1" - }, - { - "id": 6, - "name": "APPLE" - }, - { - "id": 7, - "name": "Bhaskara-II" - }, - { - "id": 8, - "name": "INSAT-1A" - }, - { - "id": 9, - "name": "Rohini Satellite RS-D2" - }, - { - "id": 10, - "name": "INSAT-1B" - }, - { - "id": 11, - "name": "SROSS-1" - }, - { - "id": 12, - "name": "IRS-1A" - }, - { - "id": 13, - "name": "SROSS-2" - }, - { - "id": 14, - "name": "INSAT-1C" - }, - { - "id": 15, - "name": "INSAT-1D" - }, - { - "id": 16, - "name": "IRS-1B" - }, - { - "id": 17, - "name": "SROSS-C" - }, - { - "id": 18, - "name": "INSAT-2A" - }, - { - "id": 19, - "name": "INSAT-2B" - }, - { - "id": 20, - "name": "IRS-1E" - }, - { - "id": 21, - "name": "SROSS-C2" - }, - { - "id": 22, - "name": "IRS-P2" - }, - { - "id": 23, - "name": "INSAT-2C" - }, - { - "id": 24, - "name": "IRS-1C" - }, - { - "id": 25, - "name": "IRS-P3" - }, - { - "id": 26, - "name": "INSAT-2D" - }, - { - "id": 27, - "name": "IRS-1D" - }, - { - "id": 28, - "name": "INSAT-2E" - }, - { - "id": 29, - "name": "Oceansat(IRS-P4)" - }, - { - "id": 30, - "name": "INSAT-3B" - }, - { - "id": 31, - "name": "GSAT-1" - }, - { - "id": 32, - "name": "The Technology Experiment Satellite (TES)" - }, - { - "id": 33, - "name": "INSAT-3C" - }, - { - "id": 34, - "name": "KALPANA-1" - }, - { - "id": 35, - "name": "INSAT-3A" - }, - { - "id": 36, - "name": "GSAT-2" - }, - { - "id": 37, - "name": "INSAT-3E" - }, - { - "id": 38, - "name": "IRS-P6 / RESOURCESAT-1" - }, - { - "id": 39, - "name": "EDUSAT" - }, - { - "id": 40, - "name": "HAMSAT" - }, - { - "id": 41, - "name": "CARTOSAT-1" - }, - { - "id": 42, - "name": "INSAT-4A" - }, - { - "id": 43, - "name": "INSAT-4C" - }, - { - "id": 44, - "name": "SRE-1" - }, - { - "id": 45, - "name": "CARTOSAT-2" - }, - { - "id": 46, - "name": "INSAT-4B" - }, - { - "id": 47, - "name": "INSAT-4CR" - }, - { - "id": 48, - "name": "CARTOSAT – 2A" - }, - { - "id": 49, - "name": "IMS-1" - }, - { - "id": 50, - "name": "Chandrayaan-1" - }, - { - "id": 51, - "name": "RISAT-2" - }, - { - "id": 52, - "name": "Oceansat-2" - }, - { - "id": 53, - "name": "GSAT-4" - }, - { - "id": 54, - "name": "CARTOSAT-2B" - }, - { - "id": 55, - "name": "GSAT-5P" - }, - { - "id": 56, - "name": "YOUTHSAT" - }, - { - "id": 57, - "name": "RESOURCESAT-2" - }, - { - "id": 58, - "name": "GSAT-8" - }, - { - "id": 59, - "name": "GSAT-12" - }, - { - "id": 60, - "name": "Megha-Tropiques" - }, - { - "id": 61, - "name": "RISAT-1" - }, - { - "id": 62, - "name": "GSAT-10" - }, - { - "id": 63, - "name": "SARAL" - }, - { - "id": 64, - "name": "IRNSS-1A" - }, - { - "id": 65, - "name": "INSAT-3D" - }, - { - "id": 66, - "name": "GSAT-7" - }, - { - "id": 67, - "name": "Mars Orbiter Mission Spacecraft" - }, - { - "id": 68, - "name": "GSAT-14" - }, - { - "id": 69, - "name": "IRNSS-1B" - }, - { - "id": 70, - "name": "IRNSS-1C" - }, - { - "id": 71, - "name": "GSAT-16" - }, - { - "id": 72, - "name": "Crew module Atmospheric Re-entry Experiment (CARE)" - }, - { - "id": 73, - "name": "IRNSS-1D" - }, - { - "id": 74, - "name": "GSAT-6" - }, - { - "id": 75, - "name": "Astrosat" - }, - { - "id": 76, - "name": "GSAT-15" - }, - { - "id": 77, - "name": "IRNSS-1E" - }, - { - "id": 78, - "name": "IRNSS-1F" - }, - { - "id": 79, - "name": "IRNSS-1G" - }, - { - "id": 80, - "name": "CARTOSAT-2 Series Satellite" - }, - { - "id": 81, - "name": "INSAT-3DR" - }, - { - "id": 82, - "name": "SCATSAT-1" - }, - { - "id": 83, - "name": "GSAT-18" - }, - { - "id": 84, - "name": "RESOURCESAT-2A" - }, - { - "id": 85, - "name": "INS-1B" - }, - { - "id": 86, - "name": "INS-1A" - }, - { - "id": 87, - "name": "Cartosat -2 Series Satellite" - }, - { - "id": 88, - "name": "GSAT-9" - }, - { - "id": 89, - "name": "GSAT-19" - }, - { - "id": 90, - "name": "Cartosat-2 Series Satellite" - }, - { - "id": 91, - "name": "GSAT-17" - }, - { - "id": 92, - "name": "IRNSS-1H" - }, - { - "id": 93, - "name": "INS-1C" - }, - { - "id": 94, - "name": "Cartosat-2 Series Satellite" - }, - { - "id": 95, - "name": "Microsat" - }, - { - "id": 96, - "name": "GSAT-6A" - }, - { - "id": 97, - "name": "IRNSS-1I" - }, - { - "id": 98, - "name": "GSAT-29" - }, - { - "id": 99, - "name": "HysIS" - }, - { - "id": 100, - "name": "GSAT-11 Mission" - }, - { - "id": 101, - "name": "GSAT-7A" - }, - { - "id": 102, - "name": "Microsat-R" - }, - { - "id": 103, - "name": "GSAT-31" - }, - { - "id": 104, - "name": "EMISAT" - }, - { - "id": 105, - "name": "RISAT-2B" - }, - { - "id": 106, - "name": "Chandrayaan2" - }, - { - "id": 107, - "name": "Cartosat-3" - }, - { - "id": 108, - "name": "RISAT-2BR1" - }, - { - "id": 109, - "name": "GSAT-30" - }, - { - "id": 110, - "name": "EOS-01" - }, - { - "id": 111, - "name": "CMS-01" - }, - { - "id": 112, - "name": "EOS-03" - }, - { - "id": 113, - "name": "Chandrayaan3" - } - ] -} + "spacecrafts": [ + { + "id": 1, + "name": "Aryabhata", + "launch_date": "1975-04-19", + "launch_vehicle": "C-1 Intercosmos", + "mission_type": "Scientific/ Experimental", + "orbit_type": null, + "mass_kg": 360.0, + "status": "decommissioned" + }, + { + "id": 2, + "name": "Bhaskara-I", + "launch_date": "1979-06-07", + "launch_vehicle": "C-1Intercosmos", + "mission_type": "Experimental Remote Sensing", + "orbit_type": null, + "mass_kg": 442.0, + "status": "decommissioned" + }, + { + "id": 3, + "name": "Rohini Technology Payload (RTP)", + "launch_date": "1979-08-10", + "launch_vehicle": "SLV-3", + "mission_type": "Experimental", + "orbit_type": "Failed", + "mass_kg": 35.0, + "status": "failed" + }, + { + "id": 4, + "name": "Rohini Satellite RS-1", + "launch_date": "1980-07-18", + "launch_vehicle": "SLV-3", + "mission_type": "Experimental", + "orbit_type": null, + "mass_kg": 35.0, + "status": "decommissioned" + }, + { + "id": 5, + "name": "Rohini Satellite RS-D1", + "launch_date": "1981-05-31", + "launch_vehicle": "SLV-3", + "mission_type": "Experimental", + "orbit_type": null, + "mass_kg": 38.0, + "status": "decommissioned" + }, + { + "id": 6, + "name": "APPLE", + "launch_date": "1981-06-19", + "launch_vehicle": "Ariane -1(V-3)", + "mission_type": "Experimental geostationary communication", + "orbit_type": "GEO", + "mass_kg": 670.0, + "status": "decommissioned" + }, + { + "id": 7, + "name": "Bhaskara-II", + "launch_date": "1981-11-20", + "launch_vehicle": "C-1 Intercosmos", + "mission_type": "Experimental Remote Sensing", + "orbit_type": null, + "mass_kg": 444.0, + "status": "decommissioned" + }, + { + "id": 8, + "name": "INSAT-1A", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 9, + "name": "Rohini Satellite RS-D2", + "launch_date": "1983-04-17", + "launch_vehicle": "SLV-3", + "mission_type": "Experimental", + "orbit_type": null, + "mass_kg": 41.5, + "status": "decommissioned" + }, + { + "id": 10, + "name": "INSAT-1B", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 11, + "name": "SROSS-1", + "launch_date": "1987-03-24", + "launch_vehicle": "Augmented Satellite Launch Vehicle (ASLV)", + "mission_type": "Experimental", + "orbit_type": null, + "mass_kg": 150.0, + "status": "decommissioned" + }, + { + "id": 12, + "name": "IRS-1A", + "launch_date": "1988-03-17", + "launch_vehicle": "Vostok", + "mission_type": "Operational Remote Sensing", + "orbit_type": "SSO", + "mass_kg": 975.0, + "status": "decommissioned" + }, + { + "id": 13, + "name": "SROSS-2", + "launch_date": "1988-07-13", + "launch_vehicle": "Augmented Satellite Launch Vehicle (ASLV)", + "mission_type": "Experimental", + "orbit_type": "Failed", + "mass_kg": 150.0, + "status": "failed" + }, + { + "id": 14, + "name": "INSAT-1C", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 15, + "name": "INSAT-1D", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 16, + "name": "IRS-1B", + "launch_date": "1991-08-29", + "launch_vehicle": "Vostok", + "mission_type": "Operational Remote Sensing", + "orbit_type": "SSO", + "mass_kg": 975.0, + "status": "decommissioned" + }, + { + "id": 17, + "name": "SROSS-C", + "launch_date": "1992-05-20", + "launch_vehicle": "Augmented Satellite Launch Vehicle (ASLV)", + "mission_type": "Experimental", + "orbit_type": null, + "mass_kg": 106.1, + "status": "decommissioned" + }, + { + "id": 18, + "name": "INSAT-2A", + "launch_date": "1992-07-10", + "launch_vehicle": "Ariane 4", + "mission_type": "Multipurpose Communication, meteorology and Satellite based search and rescue", + "orbit_type": "GEO", + "mass_kg": 1906.0, + "status": "decommissioned" + }, + { + "id": 19, + "name": "INSAT-2B", + "launch_date": "1993-07-23", + "launch_vehicle": "Ariane 4", + "mission_type": "Multipurpose Communication, meteorology and Satellite based search and rescue", + "orbit_type": "GEO", + "mass_kg": 1906.0, + "status": "decommissioned" + }, + { + "id": 20, + "name": "IRS-1E", + "launch_date": "1993-09-20", + "launch_vehicle": "PSLV-D1", + "mission_type": "Operational Remote Sensing", + "orbit_type": "Failed", + "mass_kg": 846.0, + "status": "failed" + }, + { + "id": 21, + "name": "SROSS-C2", + "launch_date": "1994-05-04", + "launch_vehicle": "Augmented Satellite Launch Vehicle (ASLV)", + "mission_type": "Experimental", + "orbit_type": null, + "mass_kg": 115.0, + "status": "decommissioned" + }, + { + "id": 22, + "name": "IRS-P2", + "launch_date": "1994-10-15", + "launch_vehicle": "PSLV-D2", + "mission_type": "Operational Remote Sensing", + "orbit_type": null, + "mass_kg": 804.0, + "status": "decommissioned" + }, + { + "id": 23, + "name": "INSAT-2C", + "launch_date": "1995-12-07", + "launch_vehicle": "Ariane4", + "mission_type": "Communication", + "orbit_type": "GEO", + "mass_kg": 2106.0, + "status": "decommissioned" + }, + { + "id": 24, + "name": "IRS-1C", + "launch_date": "1995-12-28", + "launch_vehicle": "Molniya", + "mission_type": "Operational Remote Sensing", + "orbit_type": "SSO", + "mass_kg": 1250.0, + "status": "decommissioned" + }, + { + "id": 25, + "name": "IRS-P3", + "launch_date": "1996-03-21", + "launch_vehicle": "PSLV-D3", + "mission_type": "Remote sensing of earth's natural resources. Study of X-ray Astronomy. Periodic calibration of PSLV tracking radar located at tracking stations.", + "orbit_type": "SSO", + "mass_kg": 920.0, + "status": "decommissioned" + }, + { + "id": 26, + "name": "INSAT-2D", + "launch_date": "1997-06-04", + "launch_vehicle": "Arianev 4", + "mission_type": "Communication", + "orbit_type": "GEO", + "mass_kg": 2079.0, + "status": "decommissioned" + }, + { + "id": 27, + "name": "IRS-1D", + "launch_date": "1995-12-28", + "launch_vehicle": "Molniya", + "mission_type": "Operational Remote Sensing", + "orbit_type": "SSO", + "mass_kg": 1250.0, + "status": "decommissioned" + }, + { + "id": 28, + "name": "INSAT-2E", + "launch_date": "1999-04-03", + "launch_vehicle": "Ariane – 42P", + "mission_type": "Communication and Meteorology", + "orbit_type": "GEO", + "mass_kg": 2550.0, + "status": "decommissioned" + }, + { + "id": 29, + "name": "Oceansat(IRS-P4)", + "launch_date": "1999-05-26", + "launch_vehicle": "PSLV - C2", + "mission_type": null, + "orbit_type": "SSO", + "mass_kg": 1050.0, + "status": "decommissioned" + }, + { + "id": 30, + "name": "INSAT-3B", + "launch_date": "2000-03-22", + "launch_vehicle": "Ariane -5", + "mission_type": null, + "orbit_type": "GEO", + "mass_kg": 2070.0, + "status": "unknown" + }, + { + "id": 31, + "name": "GSAT-1", + "launch_date": "2001-04-18", + "launch_vehicle": "GSLV – D1", + "mission_type": "Communication", + "orbit_type": "GEO", + "mass_kg": 1530.0, + "status": "unknown" + }, + { + "id": 32, + "name": "The Technology Experiment Satellite (TES)", + "launch_date": "2001-10-22", + "launch_vehicle": "PSLV- C3", + "mission_type": null, + "orbit_type": "SSO", + "mass_kg": null, + "status": "unknown" + }, + { + "id": 33, + "name": "INSAT-3C", + "launch_date": "2002-01-24", + "launch_vehicle": "Ariane5-V147", + "mission_type": "Communication, broadcasting and Meteorology", + "orbit_type": "GEO", + "mass_kg": 2650.0, + "status": "unknown" + }, + { + "id": 34, + "name": "KALPANA-1", + "launch_date": "2002-09-12", + "launch_vehicle": "PSLV – C4", + "mission_type": null, + "orbit_type": "GEO", + "mass_kg": 1060.0, + "status": "decommissioned" + }, + { + "id": 35, + "name": "INSAT-3A", + "launch_date": "2003-04-10", + "launch_vehicle": "Ariane5-V160", + "mission_type": "Telecommunication, broadcasting and Meteorology", + "orbit_type": "GEO", + "mass_kg": 2950.0, + "status": "decommissioned" + }, + { + "id": 36, + "name": "GSAT-2", + "launch_date": "2003-05-08", + "launch_vehicle": "GSLV–D2", + "mission_type": "Communication", + "orbit_type": "GEO", + "mass_kg": 1800.0, + "status": "unknown" + }, + { + "id": 37, + "name": "INSAT-3E", + "launch_date": "2003-09-28", + "launch_vehicle": "Ariane5-V162", + "mission_type": "Communication", + "orbit_type": "GEO", + "mass_kg": 2775.0, + "status": "unknown" + }, + { + "id": 38, + "name": "IRS-P6 / RESOURCESAT-1", + "launch_date": "2003-10-17", + "launch_vehicle": "PSLV-C5", + "mission_type": null, + "orbit_type": "SSO", + "mass_kg": 1360.0, + "status": "decommissioned" + }, + { + "id": 39, + "name": "EDUSAT", + "launch_date": "2004-09-20", + "launch_vehicle": "GSLV-F01", + "mission_type": "Education", + "orbit_type": "GEO", + "mass_kg": 1950.5, + "status": "decommissioned" + }, + { + "id": 40, + "name": "HAMSAT", + "launch_date": "2005-05-05", + "launch_vehicle": "PSLV-C6", + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": "unknown" + }, + { + "id": 41, + "name": "CARTOSAT-1", + "launch_date": "2005-05-05", + "launch_vehicle": "PSLV- C6", + "mission_type": null, + "orbit_type": "SSO", + "mass_kg": 1560.0, + "status": "decommissioned" + }, + { + "id": 42, + "name": "INSAT-4A", + "launch_date": "2005-12-22", + "launch_vehicle": "ARIANE5-V169", + "mission_type": null, + "orbit_type": "GEO", + "mass_kg": 3081.0, + "status": "decommissioned" + }, + { + "id": 43, + "name": "INSAT-4C", + "launch_date": "2007-09-02", + "launch_vehicle": "GSLV-F04", + "mission_type": "Communication", + "orbit_type": "GEO", + "mass_kg": 2130.0, + "status": "decommissioned" + }, + { + "id": 44, + "name": "SRE-1", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 45, + "name": "CARTOSAT-2", + "launch_date": "2007-01-10", + "launch_vehicle": "PSLV- C7", + "mission_type": "Remote Sensing", + "orbit_type": "SSO", + "mass_kg": 650.0, + "status": "decommissioned" + }, + { + "id": 46, + "name": "INSAT-4B", + "launch_date": "2007-03-12", + "launch_vehicle": "Ariane5", + "mission_type": "Communication", + "orbit_type": "GEO", + "mass_kg": 3025.0, + "status": "decommissioned" + }, + { + "id": 47, + "name": "INSAT-4CR", + "launch_date": "2007-09-02", + "launch_vehicle": "GSLV-F04", + "mission_type": "Communication", + "orbit_type": "GEO", + "mass_kg": 2130.0, + "status": "decommissioned" + }, + { + "id": 48, + "name": "CARTOSAT-2A", + "launch_date": "2008-04-28", + "launch_vehicle": "PSLV- C9", + "mission_type": "Remote Sensing", + "orbit_type": "SSO", + "mass_kg": 690.0, + "status": "decommissioned" + }, + { + "id": 49, + "name": "IMS-1", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": "SSO", + "mass_kg": 83.0, + "status": "unknown" + }, + { + "id": 50, + "name": "Chandrayaan-1", + "launch_date": "2008-10-22", + "launch_vehicle": "PSLV - C11", + "mission_type": "Remote Sensing, Planetary Science", + "orbit_type": "Lunar", + "mass_kg": 1380.0, + "status": "decommissioned" + }, + { + "id": 51, + "name": "RISAT-2", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": "LEO", + "mass_kg": 300.0, + "status": "unknown" + }, + { + "id": 52, + "name": "Oceansat-2", + "launch_date": "2009-09-23", + "launch_vehicle": "PSLV - C14", + "mission_type": null, + "orbit_type": "SSO", + "mass_kg": 960.0, + "status": "decommissioned" + }, + { + "id": 53, + "name": "GSAT-4", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 54, + "name": "CARTOSAT-2B", + "launch_date": "2010-07-12", + "launch_vehicle": "PSLV- C15", + "mission_type": "Remote Sensing", + "orbit_type": "SSO", + "mass_kg": 694.0, + "status": "unknown" + }, + { + "id": 55, + "name": "GSAT-5P", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 56, + "name": "YOUTHSAT", + "launch_date": "2011-04-20", + "launch_vehicle": "PSLV- C16", + "mission_type": null, + "orbit_type": "SSO", + "mass_kg": 92.0, + "status": "decommissioned" + }, + { + "id": 57, + "name": "RESOURCESAT-2", + "launch_date": "2011-04-20", + "launch_vehicle": "PSLV- C16", + "mission_type": "Remote Sensing", + "orbit_type": "SSO", + "mass_kg": 1206.0, + "status": "decommissioned" + }, + { + "id": 58, + "name": "GSAT-8", + "launch_date": "2011-05-21", + "launch_vehicle": "Ariane-5 VA-202", + "mission_type": "Communication", + "orbit_type": "GEO", + "mass_kg": 3093.0, + "status": "decommissioned" + }, + { + "id": 59, + "name": "GSAT-12", + "launch_date": "2011-07-15", + "launch_vehicle": "PSLV-C17", + "mission_type": "Communication", + "orbit_type": "GEO", + "mass_kg": 1410.0, + "status": "decommissioned" + }, + { + "id": 60, + "name": "Megha-Tropiques", + "launch_date": "2011-10-12", + "launch_vehicle": "PSLV- C18", + "mission_type": null, + "orbit_type": null, + "mass_kg": 1000.0, + "status": "unknown" + }, + { + "id": 61, + "name": "RISAT-1", + "launch_date": "2012-04-26", + "launch_vehicle": "PSLV- C19", + "mission_type": null, + "orbit_type": "SSO", + "mass_kg": 1858.0, + "status": "decommissioned" + }, + { + "id": 62, + "name": "GSAT-10", + "launch_date": "2012-09-29", + "launch_vehicle": "Ariane-5 VA-209", + "mission_type": "Communication", + "orbit_type": "GEO", + "mass_kg": 3400.0, + "status": "active" + }, + { + "id": 63, + "name": "SARAL", + "launch_date": "2013-02-25", + "launch_vehicle": "PSLV - C20", + "mission_type": null, + "orbit_type": "SSO", + "mass_kg": 407.0, + "status": "decommissioned" + }, + { + "id": 64, + "name": "IRNSS-1A", + "launch_date": "2013-07-01", + "launch_vehicle": "PSLV - C22", + "mission_type": null, + "orbit_type": "GEO", + "mass_kg": 1425.0, + "status": "decommissioned" + }, + { + "id": 65, + "name": "INSAT-3D", + "launch_date": "2013-07-26", + "launch_vehicle": "Ariane-5 VA-214", + "mission_type": "Meteorological and Search & Rescue Services", + "orbit_type": "GEO", + "mass_kg": 2060.0, + "status": "decommissioned" + }, + { + "id": 66, + "name": "GSAT-7", + "launch_date": "2013-08-30", + "launch_vehicle": "Ariane-5 VA-215", + "mission_type": "Communication", + "orbit_type": "GEO", + "mass_kg": 2650.0, + "status": "decommissioned" + }, + { + "id": 67, + "name": "Mars Orbiter Mission Spacecraft", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 68, + "name": "GSAT-14", + "launch_date": "2014-01-05", + "launch_vehicle": "GSLV-D5", + "mission_type": null, + "orbit_type": "GEO", + "mass_kg": 1982.0, + "status": "active" + }, + { + "id": 69, + "name": "IRNSS-1B", + "launch_date": "2014-04-04", + "launch_vehicle": "PSLV - C24", + "mission_type": null, + "orbit_type": "GEO", + "mass_kg": 1432.0, + "status": "decommissioned" + }, + { + "id": 70, + "name": "IRNSS-1C", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 71, + "name": "GSAT-16", + "launch_date": "2001-04-18", + "launch_vehicle": "GSLV – D1", + "mission_type": "Communication", + "orbit_type": "GEO", + "mass_kg": 1530.0, + "status": "unknown" + }, + { + "id": 72, + "name": "Crew module Atmospheric Re-entry Experiment (CARE)", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 73, + "name": "IRNSS-1D", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 74, + "name": "GSAT-6", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": "unknown" + }, + { + "id": 75, + "name": "Astrosat", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 76, + "name": "GSAT-15", + "launch_date": "2015-11-11", + "launch_vehicle": "Ariane-5 VA-227", + "mission_type": "Communication and Satellite Navigation", + "orbit_type": "GEO", + "mass_kg": 3164.0, + "status": "active" + }, + { + "id": 77, + "name": "IRNSS-1E", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 78, + "name": "IRNSS-1F", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 79, + "name": "IRNSS-1G", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 80, + "name": "CARTOSAT-2 Series Satellite", + "launch_date": "2007-01-10", + "launch_vehicle": "PSLV- C7", + "mission_type": "Remote Sensing", + "orbit_type": "SSO", + "mass_kg": 650.0, + "status": "decommissioned" + }, + { + "id": 81, + "name": "INSAT-3DR", + "launch_date": "2013-07-26", + "launch_vehicle": "Ariane-5 VA-214", + "mission_type": "Meteorological and Search & Rescue Services", + "orbit_type": "GEO", + "mass_kg": 2060.0, + "status": "decommissioned" + }, + { + "id": 82, + "name": "SCATSAT-1", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 83, + "name": "GSAT-18", + "launch_date": "2001-04-18", + "launch_vehicle": "GSLV – D1", + "mission_type": "Communication", + "orbit_type": "GEO", + "mass_kg": 1530.0, + "status": "unknown" + }, + { + "id": 84, + "name": "RESOURCESAT-2A", + "launch_date": "2011-04-20", + "launch_vehicle": "PSLV- C16", + "mission_type": "Remote Sensing", + "orbit_type": "SSO", + "mass_kg": 1206.0, + "status": "decommissioned" + }, + { + "id": 85, + "name": "INS-1B", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 86, + "name": "INS-1A", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 87, + "name": "Cartosat-2 Series Satellite", + "launch_date": "2007-01-10", + "launch_vehicle": "PSLV- C7", + "mission_type": "Remote Sensing", + "orbit_type": "SSO", + "mass_kg": 650.0, + "status": "decommissioned" + }, + { + "id": 88, + "name": "GSAT-9", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 89, + "name": "GSAT-19", + "launch_date": "2001-04-18", + "launch_vehicle": "GSLV – D1", + "mission_type": "Communication", + "orbit_type": "GEO", + "mass_kg": 1530.0, + "status": "unknown" + }, + { + "id": 90, + "name": "Cartosat-2 Series Satellite", + "launch_date": "2007-01-10", + "launch_vehicle": "PSLV- C7", + "mission_type": "Remote Sensing", + "orbit_type": "SSO", + "mass_kg": 650.0, + "status": "decommissioned" + }, + { + "id": 91, + "name": "GSAT-17", + "launch_date": "2001-04-18", + "launch_vehicle": "GSLV – D1", + "mission_type": "Communication", + "orbit_type": "GEO", + "mass_kg": 1530.0, + "status": "unknown" + }, + { + "id": 92, + "name": "IRNSS-1H", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 93, + "name": "INS-1C", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 94, + "name": "Cartosat-2 Series Satellite", + "launch_date": "2007-01-10", + "launch_vehicle": "PSLV- C7", + "mission_type": "Remote Sensing", + "orbit_type": "SSO", + "mass_kg": 650.0, + "status": "decommissioned" + }, + { + "id": 95, + "name": "Microsat", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 96, + "name": "GSAT-6A", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": "unknown" + }, + { + "id": 97, + "name": "IRNSS-1I", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 98, + "name": "GSAT-29", + "launch_date": "2003-05-08", + "launch_vehicle": "GSLV–D2", + "mission_type": "Communication", + "orbit_type": "GEO", + "mass_kg": 1800.0, + "status": "unknown" + }, + { + "id": 99, + "name": "HysIS", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 100, + "name": "GSAT-11 Mission", + "launch_date": "2001-04-18", + "launch_vehicle": "GSLV – D1", + "mission_type": "Communication", + "orbit_type": "GEO", + "mass_kg": 1530.0, + "status": "unknown" + }, + { + "id": 101, + "name": "GSAT-7A", + "launch_date": "2013-08-30", + "launch_vehicle": "Ariane-5 VA-215", + "mission_type": "Communication", + "orbit_type": "GEO", + "mass_kg": 2650.0, + "status": "decommissioned" + }, + { + "id": 102, + "name": "Microsat-R", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 103, + "name": "GSAT-31", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 104, + "name": "EMISAT", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 105, + "name": "RISAT-2B", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": "LEO", + "mass_kg": 628.0, + "status": "unknown" + }, + { + "id": 106, + "name": "Chandrayaan2", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 107, + "name": "Cartosat-3", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": "LEO", + "mass_kg": 1625.0, + "status": "unknown" + }, + { + "id": 108, + "name": "RISAT-2BR1", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": "LEO", + "mass_kg": 628.0, + "status": "unknown" + }, + { + "id": 109, + "name": "GSAT-30", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 110, + "name": "EOS-01", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 111, + "name": "CMS-01", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 112, + "name": "EOS-03", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + }, + { + "id": 113, + "name": "Chandrayaan3", + "launch_date": null, + "launch_vehicle": null, + "mission_type": null, + "orbit_type": null, + "mass_kg": null, + "status": null + } + ] +} \ No newline at end of file diff --git a/index.html b/index.html index 28a95d3..a2b6adc 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,7 @@ - ISRO-API + ISRO API @@ -12,32 +12,33 @@
-

ISRO 🚀 API

+

ISRO API

- Open Source API for Launched Spacecrafts & Rockets data of ISRO + Open Source API for ISRO spacecraft, launcher, and mission data

API End-Points


Contribute at GitHub

diff --git a/isro_scrape/isro_spacecrafts_scraper_output.json b/isro_scrape/isro_spacecrafts_scraper_output.json new file mode 100644 index 0000000..5866923 --- /dev/null +++ b/isro_scrape/isro_spacecrafts_scraper_output.json @@ -0,0 +1,822 @@ +[ + { + "name": "\n\n Aryabhata\n \n", + "id": 1, + "mission": "Scientific/ Experimental", + "weight": "360 kg", + "on_board_power": "46 Watts", + "communication": "VHF band", + "stabilization": "Spinstabilize", + "payload": "X-ray Astronomy Aeronomy & Solar Physics", + "launch_date": "April 19, 1975", + "launch_site": "Volgograd Launch Station (presently in Russia)", + "launch_vehicle": "C-1 Intercosmos", + "orbit": "563 x 619 km", + "inclination": "50.7 deg", + "mission_life": "6 months(nominal), Spacecraft mainframe active till March,1981", + "orbital_life": "Nearly seventeen years (Re-entered on February 10,1992)" + }, + { + "name": "\n\n Bhaskara-I\n \n", + "id": 2, + "mission": "Experimental Remote Sensing", + "weight": "442 kg", + "onboard_power": "47 Watts", + "communication": "VHF band", + "stabilization": "Spin stabilized (spin axis controlled)", + "payload": "TVcameras, three band Microwave Radiometer (SAMIR)", + "launch_date": "Jun 07,1979", + "launch_site": "Volgograd Launch Station (presently in Russia)", + "launch_vehicle": "C-1Intercosmos", + "orbit": "519 x 541 km", + "inclination": "50.6 deg", + "mission_life": "One year (nominal)", + "orbital_life": "About 10 years ( Re-entered in 1989 )" + }, + { + "name": "\n\n Rohini Technology Payload\n (RTP)\n \n", + "id": 3, + "mission": "Experimental", + "weight": "35 kg", + "onboard_power": "3 Watts", + "communication": "VHF band", + "stabilization": "Spin stabilized (spin axis controlled)", + "payload": "Launch vehicle monitoring instruments", + "launch_date": "August 10,1979", + "launch_site": "SHAR Centre, Sriharikota, India", + "launch_vehicle": "SLV-3", + "orbit": "Not achieved" + }, + { + "name": "\n\n Rohini Satellite RS-1\n \n", + "id": 4, + "mission": "Experimental", + "weight": "35 kg", + "onboard_power": "16 Watts", + "communication": "VHF band", + "stabilization": "Spin stabilized", + "payload": "Launch vehicle monitoring instruments", + "launch_date": "July 18,1980", + "launch_site": "SHAR Centre, Sriharikota, India", + "launch_vehicle": "SLV-3", + "orbit": "305 x 919 km", + "inclination": "44.7 deg.", + "mission_life": "1.2 years", + "orbital_life": "20 months" + }, + { + "name": "\n\n Rohini Satellite RS-D1\n \n", + "id": 5, + "mission": "Experimental", + "weight": "38 kg", + "onboard_power": "16 Watts", + "communication": "VHF band", + "stabilization": "Spin stabilized", + "payload": "Landmark Tracker ( remote sensing payload)", + "launch_date": "May 31,1981", + "launch_site": "SHAR Centre, Sriharikota, India", + "launch_vehicle": "SLV-3", + "orbit": "186 x 418 km (achieved)", + "inclination": "46 deg", + "orbital_life": "Nine days" + }, + { + "name": "\n\n APPLE\n \n", + "id": 6, + "mission": "Experimental geostationary communication", + "weight": "670 kg", + "onboard_power": "210 Watts", + "communication": "VHF and C-band", + "stabilization": "Three axis stabilized (biased momentum) with Momentum Wheels, Torquers & \u00a0Hydrazine based Reaction control system", + "payload": "C - band transponders (Two)", + "launch_date": "June19,1981", + "launch_site": "Kourou (CSG), French Guyana", + "launch_vehicle": "Ariane -1(V-3)", + "orbit": "Geosynchronous (102 deg. E\u00a0 longitude, over Indonesia)", + "inclination": "Near zero", + "mission_life": "Two years" + }, + { + "name": "\n\n Bhaskara-II\n \n", + "id": 7, + "mission": "Experimental Remote Sensing", + "weight": "444 kg", + "onboard_power": "47 Watts", + "communication": "VHF band", + "stabilization": "Spin stabilized (spin axis controlled)", + "payload": "TV cameras, three band Microwave Radiometer (SAMIR)", + "launch_date": "Nov 20, 1981", + "launch_site": "Volgograd Launch Station (presently in Russia)", + "launch_vehicle": "C-1 Intercosmos", + "orbit": "541 x 557 km", + "inclination": "50.7o", + "mission_life": "One year (nominal)", + "orbital_life": "About 10 years ( Re-entered in 1991 )" + }, + { + "name": "\n\n Rohini Satellite RS-D2\n \n", + "id": 8, + "mission": "Experimental", + "weight": "41.5 kg", + "onboard_power": "16 Watts", + "communication": "VHF band", + "stabilization": "Spin stabilized", + "payload": "Smart sensor (remote sensing payload), L-band beacon", + "launch_date": "April 17, 1983", + "launch_site": "SHAR Centre, Sriharikota, India", + "launch_vehicle": "SLV-3", + "orbit": "371 x 861 km", + "inclination": "46o", + "mission_life": "17 months", + "orbital_life": "Seven years (Re-entered on April 19, 1990)" + }, + { + "name": "\n\n SROSS-1\n \n", + "id": 9, + "mission": "Experimental", + "weight": "150 kg", + "onboard_power": "90 Watts", + "communication": "S-band and VHF", + "stabilization": "Three axis body stabilized (biased momentum) with a Momentum Wheel and Magnetic Torquer", + "propulsion_system": "Monopropellant (Hydrazine based) Reaction control system", + "payload": "Launch Vehicle Monitoring Platform(LVMP), Gamma Ray Burst (GRB) payload and Corner Cube Retro Reflector (CCRR) for laser tracking", + "launch_date": "March 24, 1987", + "launch_site": "SHAR Centre, Sriharikota, India", + "launch_vehicle": "Augmented Satellite Launch Vehicle (ASLV)", + "orbital_life": "Not realised" + }, + { + "name": "\n\n IRS-1A\n \n", + "id": 10, + "mission": "Operational Remote Sensing", + "weight": "975 kg", + "onboard_power": "600 Watts", + "communication": "S-band, X-band and VHF(commanding only)", + "stabilization": "Three axis body stabilized (zero momentum) with 4 Reactions Wheels, Magnetic torquers", + "rcs": "Monopropellant Hydrazine based with sixteen 1 Newton thrusters", + "payload": "Three solid state Push Broom Cameras: LISS-1(72.5 metre resolution), LISS-2A and LISS-2B (36.25 metre resolution)", + "launch_date": "March 17, 1988", + "launch_site": "Baikanur Cosmodrome Kazakhstan", + "launch_vehicle": "Vostok", + "orbit": "904 km Polar Sun-synchronous", + "inclination": "99.08o", + "repetivity": "22 days (307 orbits)", + "local_time": "10.30 a.m. (descending node)", + "mission_completed_during": "July 1996" + }, + { + "name": "\n\n SROSS-2\n \n", + "id": 11, + "mission": "Experimental", + "weight": "150 kg", + "onboard_power": "90 Watts", + "communication": "S-band and VHF", + "stabilization": "Three axis body stabilized (biased momentum) with a Momentum Wheel and Magnetic Torquer", + "propulsion_system": "Monopropellant (Hydrazine based) Reaction Control System", + "payload": "Gamma Ray Burst (GRB) payload and Mono Payload Ocular Electro-Optic Stereo Scanner (MEOSS) built by DLR, Germany", + "launch_date": "July 13, 1988", + "launch_site": "SHAR Centre, Sriharikota, India", + "launch_vehicle": "Augmented Satellite Launch Vehicle (ASLV)", + "orbit": "Not realised" + }, + { + "name": "\n\n IRS-1B\n \n", + "id": 12, + "mission": "Operational Remote Sensing", + "weight": "975 kg", + "onboard_power": "600 Watts", + "communication": "S-band, X-band and VHF (commanding only)", + "stabilization": "Three axis body stabilized (zero momentum) with 4 Reactions Wheels, Magnetic torquers", + "rcs": "Monopropellant Hydrazine based with sixteen 1 Newton thrusters", + "payload": "Three solid state Push Broom Cameras LlSS-1 (72.5 metre resolution), LlSS-2A and LlSS-2B (36.25 metre resolution)", + "launch_date": "August 29, 1991", + "launch_site": "Baikanur Cosmodrome Kazakhstan", + "launch_vehicle": "Vostok", + "orbit": "904 km Polar Sun Synchronous", + "inclination": "99.08o", + "repetivity": "22 days", + "local_time": "10.30 a.m. (descending node)", + "mission_completed_on": "December 20, 2003" + }, + { + "name": "\n\n SROSS-C\n \n", + "id": 13, + "mission": "Experimental", + "weight": "106.1 kg", + "onboard_power": "45 Watts", + "communication": "S-band and VHF", + "stabilization": "Spin stabilized with a Magnetic Torquer and Magnetic Bias Control", + "payload": "Gamma Ray Burst (GRB) experiment & Retarding Potential Analyser (RPA) experiment", + "launch_date": "May 20,1992", + "launch_site": "SHAR Centre, Sriharikota, India", + "launch_vehicle": "Augmented Satellite Launch Vehicle (ASLV)", + "orbit": "267 x 391 km", + "mission_life": "Two months (Re-entered on July15,1992)" + }, + { + "name": "\n\n INSAT-2A\n \n", + "id": 14, + "mission": "Multipurpose Communication, meteorology and Satellite based search and rescue", + "weight": "1906 kg with propellant 916 kg dry weight", + "onboard_power": "One KW approx", + "communication": "C, extended C and S band", + "stabilization": "Three axis body stabilized with two Momentum Wheels & one Reaction Wheel, Magnetic torquers", + "propulsion": "Integrated bipropellant system (MMH and N2 04) With sixteen 22 N thrusters and 440 LAM.", + "payload": "Transponders: 12 C-band (for FSS),6 ext. C-band (for FSS) 2 S-band (for BSS),1Data relay transponder (for met.data), 1 transponder for research and rescue, Very High Resolution radiometer (VHRR) for\u00a0meteorological observation with 2 km resolution in the visible and 8 km resolution in the IR band", + "launch_date": "July 10,1992", + "launch_site": "French Guyana", + "launch_vehicle": "Ariane 4", + "orbit": "Geostationary 74oE longitude", + "inclination": "0o", + "mission_life": "Seven years(nominal)", + "orbit_life": "Very Long" + }, + { + "name": "\n\n INSAT-2B\n \n", + "id": 15, + "mission": "Multipurpose Communication, meteorology and Satellite based search and rescue", + "weight": "1906 kg with propellant 916 kg dry weight", + "onboard_power": "One KW approx.", + "communication": "C, extended C and S band", + "stabilization": "Three axis body stabilized with two Momentum Wheels & one Reaction Wheel, Magnetic torquers", + "propulsion": "Integrated bipropellant system ( MMH and N2 04) With sixteen 22 N thrusters and 440 N LAM.", + "payload": "Transponders: 12C-band (for FSS),6 ext. C-band (for FSS) 2S-band (for BSS),1Data relay transponder (for met.data), 1 transponder for research and rescue, Very High Resolution radiometer (VHRR) for meteorological observation with 2 km resolution in the visible and 8 km resolution in the IR band", + "launch_date": "July 23, 1993", + "launch_site": "French Guyana", + "launch_vehicle": "Ariane 4", + "orbit": "Geostationary 93.5o E", + "inclination": "0o", + "mission_life": "Seven years(nominal)", + "orbit_life": "Very Long" + }, + { + "name": "\n\n IRS-1E\n \n", + "id": 16, + "mission": "Operational Remote Sensing", + "weight": "846 kg", + "onboard_power": "415 Watts", + "communication": "S-band (TIC) & VHF", + "stabilization": "Three axis body stabilized ( zero momentum) with 4 Reaction Wheels, Magnetic torquers", + "rcs": "Monopropellant Hydrazine based RCS with 1 Newton thrusters ( 16 Nos.)", + "payload": "LlSS-1 MEOSS (Mono-ocula Erlectro Optic Stereo Scanner)", + "launch_date": "September 20, 1993", + "launch_site": "SHAR Centre, Sriharikota, India", + "launch_vehicle": "PSLV-D1", + "orbit": "Not realised" + }, + { + "name": "\n\n SROSS-C2\n \n", + "id": 17, + "mission": "Experimental", + "weight": "115 kg", + "onboard_power": "45 Watts", + "communication": "S-band and VHF", + "rcs": "Monopropellant Hydrazine based with six 1 Newton thrusters", + "payload": "Gamma Ray Burst (GRB) & Retarding Potential Analyser (RPA)", + "launch_date": "May 04,1994", + "launch_site": "SHAR Centre,Sriharikota,India", + "launch_vehicle": "Augmented Satellite Launch Vehicle (ASLV)", + "orbit": "430 x 600 km.", + "inclination": "45 deg.", + "mission_life": "Six months (nominal)", + "orbital_life": "Two years (nominal)" + }, + { + "name": "\n\n IRS-P2\n \n", + "id": 18, + "mission": "Operational Remote Sensing", + "weight": "804 kg", + "onboard_power": "510 Watts", + "communication": "S-band, X-band", + "stabilization": "Three axis body stabilized with 4 Reaction Wheels, Magnetic torquers", + "rcs": "4 tanks containing Monopropellant Hydrazine based with sixteen 1 N thrusters and one 11 N thruster", + "payload": "Two solid state Push Broom Cameras operating in four spectral bands in the visible and near-IR range using CCD arrays: LlSS-2A & LlSS-2B (Resolution: 32.74 metre)", + "launch_date": "October 15, 1994", + "launch_site": "SHAR Centre, Sriharikota, India", + "launch_vehicle": "PSLV-D2", + "inclination": "98.68 o", + "repetivity": "24 days", + "mission_completed_on": "1997" + }, + { + "name": "\n\n INSAT-2C\n \n", + "id": 19, + "mission": "Communication", + "weight": "2106 kg with propellants 946 kg dry weight", + "onboard_power": "1320 Watts", + "communication": "C extended C, S and Ku bands", + "stabilization": "Three axis stabilized with two Momen'tum Wheels & one Reaction Wheel, Magnetic torquers", + "propulsion": "Integrated bipropellant system ( MMH and N2 04) With sixteen 22N thrusters and 440N LAM.", + "payload": "Transponders: 16C-band / extended C-band transponders (for FSS), 2 high power C-band transponders (for BSS), 1S-band transponder (for BSS),1C/S-band mobile communication transponder, 3 Ku-band transponders", + "launch_date": "December 7, 1995", + "launch_site": "French Guyana", + "launch_vehicle": "Ariane4", + "orbit": "Geostationary 93.5 deg E", + "inclination": "0 deg.", + "mission_life": "Seven years(nominal)", + "orbit_life": "Very Long" + }, + { + "name": "\n\n IRS-1C\n \n", + "id": 20, + "mission": "Operational Remote Sensing", + "weight": "1250 kg", + "onboard_power": "809 Watts (generated by 9.6 sq.metres Solar Panels)", + "communication": "S-band, X-band", + "stabilization": "Three axis body stabilized (zero momentum) with 4 Reaction Wheels, Magnetic torquer", + "rcs": "Monopropellant Hydrazine based with sixteen 1 N thrusters & one 11N thrusters", + "payload": "Three solid state Push Broom Cameras: PAN (<6 metre solution )LlSS-3(23.6 metre resolution) and WiFS (189 metre resolution)", + "onboard_tape_recorder": "Storage Capacity : 62 G bits", + "launch_date": "December 28, 1995", + "launch_site": "Baikanur Cosmodrome Kazakhstan", + "launch_vehicle": "Molniya", + "orbit": "817 km Polar Sun-synchronous", + "inclination": "98.69o", + "repetivity": "24 days", + "local_time": "10.30 a.m", + "mission_completed_on": "September 21, 2007" + }, + { + "name": "\n\n IRS-P3\n \n", + "id": 21, + "mission": "Remote sensing of earth's natural resources. Study of X-ray Astronomy. Periodic calibration of PSLV tracking radar located at tracking stations.", + "weight": "920 kg", + "onboard_power": "817 Watts", + "communication": "S-band", + "stabilization": "Three axis body stabilized", + "rcs": "Combinations of bladder type and surface tension type mass expulsion monopropellant hydrazine system", + "payload": "WideField Sensor (WiFS), Modular Opto - electronic Scanner (MOS), Indian X-ray Astronomy Experiment (IXAE), C-band transponder(CBT)", + "launch_date": "March 21, 1996", + "launch_site": "SHAR Centre, Sriharikota, India", + "launch_vehicle": "PSLV-D3", + "orbit": "817 km. Circular polar sun-synchronous with equatorial crossing at 10.30 am (descending node)", + "inclination": "98.68o", + "repetivity": "WiFS : 5 days", + "mission_completed_during": "January 2006" + }, + { + "name": "\n\n INSAT-2D\n \n", + "id": 22, + "mission": "Communication", + "weight": "2079 kg with propellants, 995 kg dry weight", + "onboard_power": "1650 Watts", + "communication": "C, extended C, S and Ku bands", + "stabilization": "Three axis stabilized with two Momentum Wheels & one Reaction Wheel, Magnetic torquers", + "propulsion": "Integrated bipropellan stystem ( MMH and N2 04) With sixteen 22N thrusters and 440N LAM.", + "payload": "Transponders: 16C-band / extended C-band transponders (forFSS), 2 high power C-band transponders (for BSS), 1S-band transponder (for BSS),1C/S-band mobile communication transponder, 3 Ku-band transponders", + "launch_date": "June 4, 1997", + "launch_site": "French Guyana", + "launch_vehicle": "Arianev 4", + "orbit": "Geostationary 93,.5deg.E", + "inclination": "0 deg." + }, + { + "name": "\n\n IRS-1D\n \n", + "id": 23, + "mission": "Operational Remote Sensing", + "weight": "1250 kg", + "onboard_power": "809 Watts (generated by 9.6 sq.metres Solar Panels)", + "communication": "S-band, X-band", + "stabilization": "Three axis body stabilized (zero momentum) with 4 Reaction Wheels, Magnetic torquer", + "rcs": "Monopropellant Hydrazine based with sixteen 1 N thrusters & one 11N thrusters", + "payload": "Three solid state Push Broom Cameras: PAN (<6 metre solution )LlSS-3(23.6 metre resolution) and WiFS (189 metre resolution)", + "onboard_tape_recorder": "Storage Capacity : 62 G bits", + "launch_date": "December 28, 1995", + "launch_site": "Baikanur Cosmodrome Kazakhstan", + "launch_vehicle": "Molniya", + "orbit": "817 km Polar Sun-synchronous", + "inclination": "98.69 o", + "repetivity": "24 days", + "local_time": "10.30 a.m", + "mission_completed_on": "September 21, 2007" + }, + { + "name": "\n\n INSAT-2E\n \n", + "id": 24, + "mission": "Communication and Meteorology", + "spacecraft_mass": "2,550 kg (Mass at Lift-off) 1150 kg (Dry mass)", + "launch_date": "03 April 1999", + "launch_site": "French Guyana", + "launch_vehicle": "Ariane \u2013 42P", + "orbit": "Geosynchronous (83 deg east longitude)" + }, + { + "name": "\n\n Oceansat(IRS-P4)\n \n", + "id": 25, + "launch_date": "May 26, 1999", + "launch_site": "SHAR, Sriharikota", + "launch_vehicle": "PSLV - C2", + "orbit": "Polar Sun Synchronous", + "altitude": "720 km", + "inclination": "98.28 deg", + "period": "99.31 min", + "local_time_of_eq._crossing": "12 noon", + "repetitivity_cycle": "2 days", + "size": "2.8m x 1.98m x 2.57m", + "mass_at_lift_off": "1050 kg", + "length_when_fully_deployed": "11.67 m", + "attitude_and_orbit_control": "3-axis body-stabilised using Reaction Wheels, Magnetic Torquers and Hydrazine Thrusters", + "power": "9.6 Sq.m Solar Array generating 750w Two 21 Ah Ni-Cd Batteries", + "mission_completed_on": "August 8, 2010" + }, + { + "name": "\n\n INSAT-3B\n \n", + "id": 26, + "mission": "Very long", + "spacecraft_mass": "2,070 (Mass at Lift \u2013 off) 970 kg (Dry mass)", + "onboard_power": "1,712 W", + "stabilization": "3 \u2013 axis body stabilised biased momentum control system using earth sensors, sun sensors, inertial reference unit, momentum / reaction wheels, magnetic torquers and unified bi-propellant thrusters.", + "propulsion": "Liquid Apogee Motor with fuel and oxidizer stored in separate titanium tanks and pressurant in Kevlar wound titanium tank.", + "payload": "12 extended C \u2013 band Transponders Five Ku band Transponders Mobile Satellite Services (MSS)", + "launch_date": "22nd March 2000", + "launch_site": "French Guyana", + "launch_vehicle": "Ariane -5", + "orbit": "Geostationary (83 deg East longitude)", + "inclination": "7 deg" + }, + { + "name": "\n PSLV-C3 / TES\n ", + "id": 27, + "launch_date": "22 October 2001", + "launch_site": "SHAR Centre Sriharikota India", + "launch_vehicle": "PSLV- C3", + "orbit": "572 km Sun Synchronous", + "payloads": "PAN" + }, + { + "name": "\n\n The Technology Experiment Satellite\n (TES)\n \n", + "id": 28, + "launch_date": "22 October 2001", + "launch_site": "SHAR Centre Sriharikota India", + "launch_vehicle": "PSLV- C3", + "orbit": "572 km Sun Synchronous", + "payloads": "PAN" + }, + { + "name": "\n\n INSAT-3C\n \n", + "id": 29, + "mission": "Communication, broadcasting and Meteorology", + "spacecraft_mass": "2,650 kg (Mass at Lift - off) 1218 kg (Dry mass)", + "onboard_power": "2765 W", + "propulsion": "Liquid Apogee Motor with fuel and oxidizer stored in separate titanium tanks and pressurant in Kevlar wound titanium tank.", + "payload": "24 C band transponders 6 Extended C - band Transponders 2 S - band Transponders", + "launch_date": "January 24, 2002", + "launch_site": "French Guyana", + "launch_vehicle": "Ariane5-V147", + "orbit": "Geostationary (74o longitude)", + "mission_life": "Very long" + }, + { + "name": "\n\n KALPANA-1\n \n", + "id": 30, + "mission": "7 Years", + "spacecraft_mass": "1060 kg mass (at Lift \u2013 off) 498 kg (Dry mass)", + "onboard_power": "550 W", + "payload": "Very High Resolution Radiometer (VHRR) Data Relay Transponder (DRT)", + "launch_date": "12 September 2002", + "launch_site": "SHAR, Sriharikota", + "launch_vehicle": "PSLV \u2013 C4", + "orbit": "Geostationary (74 deg East longitude)" + }, + { + "name": "\n\n INSAT-3A\n \n", + "id": 31, + "mission": "Telecommunication, broadcasting and Meteorology", + "spacecraft_mass": "2,950 kg (Mass at Lift\u2013off) 1,348 kg (Dry mass)", + "onboard_power": "3,100 W", + "stabilization": "3 \u2013 axis body stabilised in orbit using momentum and reaction wheels, solar flaps, magnetic torquers and eight 10 N and eight 22 N reaction control thrusters", + "propulsion": "440 N Liquid Apogee Motor with MON-3 (Mixed Oxides of Nitrogen) and MMH (Mono Methyl Hydrazine) for orbit raising", + "payload": "Communication payload - 12 C \u2013 band transponders, - 6 upper extended C band transponders - 6 Ku band transponders - 1 Satellite Aided Search & Rescue transponders Meteorological payload - Very High Resolution Radiometer (VHRR) with 2 km resolution in visible band and 8 km resolution in infrared and water vapour band - Charged Coupled Device (CCD) camera operating in visible, near infrared and shortwave infrared band with 1 km resolution. - Data Relay Transponders (DRT)", + "launch_date": "April 10, 2003", + "launch_site": "French Guyana", + "launch_vehicle": "Ariane5-V160", + "orbit": "Geostationary (93.5o E longitude)", + "mission_life": "12 Years" + }, + { + "name": "\n\n INSAT-3E\n \n", + "id": 32, + "mission": "Communication", + "spacecraft_mass": "2,775 kg (Mass at Lift-off) 1218 kg (Dry mass)", + "launch_date": "September 28, 2003", + "launch_site": "French Guyana", + "launch_vehicle": "Ariane5-V162", + "orbit": "Geostationary Orbit" + }, + { + "name": "\n\n IRS-P6 / RESOURCESAT-1\n \n", + "id": 33, + "launch_date": "October 17, 2003", + "launch_site": "SHAR, Sriharikota", + "launch_vehicle": "PSLV-C5", + "payloads": "LISS-4, LISS-3, AWiFS-A, AWiFS-B", + "orbit": "Polar Sun Synchronous", + "orbit_height": "817 km", + "orbit_inclination": "98.7 o", + "orbit_period": "101.35 min", + "number_of_orbits_per_day": "14", + "local_time_of_equator_crossing": "10:30 am", + "repetivity_(liss-3)": "24 days", + "revisit": "5 days", + "lift-off_mass": "1360 kg", + "attitude_and_orbit_control": "3-axis body stabilised using Reaction Wheels, Magnetic Torquers and Hydrazine Thrusters", + "power": "Solar Array generating 1250 W, Two 24 Ah Ni-Cd batteries", + "mission_life": "5 years" + }, + { + "name": "\n\n EDUSAT\n \n", + "id": 34, + "mission": "Education", + "spacecraft_mass": "1950.5 kg mass (at Lift - off) 819.4 kg (Dry mass)", + "onboard_power": "Total four solar panel of size 2.54 M x 1.525 M generating 2040 W (EOL), two 24 AH NiCd batteries for eclipse support", + "stabilization": "3 axis body stabilised in orbit using sensors, momentum and reaction wheels, magnetic torquers and eight 10 N & 22N reaction control thrusters.", + "propulsion": "440 N Liquid Apogee Motor with MON - 3 and MMH for orbit raising", + "payload": "Six upper extended C - band transponders Five lower Ku band transponders with regional beam coverage One lower Ku band National beam transponder with Indian main land coverage Ku beacon 12 C band high power transponders with extended coverage, covering southeast and northwest region apart from Indian main land using 63 W LTWTAs", + "launch_date": "September 20, 2004", + "launch_site": "SHAR, Sriharikota, India", + "launch_vehicle": "GSLV-F01", + "orbit": "Geostationary (74 o E longitude)", + "mission_life": "7 Years (minimum)" + }, + { + "name": "\n\n CARTOSAT-1\n \n", + "id": 35, + "launch_date": "5 May 2005", + "launch_site": "SHAR Centre Sriharikota India", + "launch_vehicle": "PSLV- C6", + "orbit": "618 km Polar Sun Synchronous", + "payloads": "PAN FORE, PAN - AFT", + "orbit_period": "97 min", + "number_of_orbits_per_day": "14", + "local_time_of_equator_crossing": "10:30 am", + "repetivity": "126 days", + "revisit": "5 days", + "lift-off_mass": "1560 kg", + "attitude_and_orbit_control": "3-axis body stabillised using reaction wheels, Magnetic Torquers and Hydrazine Thrusters", + "electrical_power": "15 sqm Solar Array generating 1100w, Two 24 Ah Ni-Cd batteries", + "mission_life": "5 years" + }, + { + "name": "\n\n INSAT-4A\n \n", + "id": 36, + "spacecraft_mass": "Lift off 3081 Kg Dry Mass 1386.55 Kg", + "orbit": "Geostationary ( 83o E)", + "power": "Solar Array to provide a power of 5922 W", + "battery": "Three 70 Ah Ni H2 Batteries for eclipse support of 4264 W", + "life": "12 Years", + "launch_date": "December 22, 2005", + "launch_vehicle": "ARIANE5-V169" + }, + { + "name": "\n\n CARTOSAT-2\n \n", + "id": 37, + "mission": "Remote Sensing", + "weight": "650 Kg", + "onboard_orbit": "900 Watts", + "stabilization": "3 - axis body stabilised using high torque reaction wheels, magnetic torquers and thrusters", + "payloads": "Panchromatic Camera", + "launch_date": "10 January 2007", + "launch_site": "SHAR Centre Sriharikota India", + "launch_vehicle": "PSLV- C7", + "orbit": "Polar Sun Synchronous", + "mission_life": "5 years" + }, + { + "name": "\n\n INSAT-4B\n \n", + "id": 38, + "mission": "Communication", + "weight": "3025 kg (at Lift \u2013 off)", + "onboard_power": "5859 W", + "stabilization": "It uses 3 earth sensors, 2 digital sun sensors, 8 coarse analog sun sensors, 3 solar panel sun sensors and one sensor processing electronics. The wheels and wheel drive electronics were imported with indigenous wheel interface module to interface the wheel drive electronics and AOCE.", + "propulsion": "The propulsion system is employing 16 thrusters, 4 each located on east, west and AY sides and 2 each on north and south sides. There is one 440 N liquid apogee motor (using Mono Methyl Hydrazine (MMH) as fuel and oxides of Nitrogen (MON3 as oxidizer) and three pressurant tanks mounted on the LAM deck.", + "payload": "12 Ku band high power transponders covering Indian main land using 140W radiatively cooled TWTAs.", + "launch_date": "March 12, 2007", + "launch_site": "French Guiana", + "launch_vehicle": "Ariane5", + "orbit": "Geostationary (93.5 o E Longitude)", + "mission_life": "12 Years" + }, + { + "name": "\n\n INSAT-4CR\n \n", + "id": 39, + "mission": "Communication", + "weight": "2,130 kg (Mass at Lift \u2013 off)", + "onboard_power": "3000 W", + "communication_payload": "12 Ku-band transponders employing 140 W Traveling Wave Tube Amplifiers (TWTA) Ku-band Beacon", + "launch_date": "September 2, 2007", + "launch_site": "SHAR, Sriharikota, India", + "launch_vehicle": "GSLV-F04", + "orbit": "Geosynchronous (74\u00b0 E)", + "mission_life": "12 Years" + }, + { + "name": "\n\n CARTOSAT \u2013\n 2A\n \n", + "id": 40, + "mission": "Remote Sensing", + "weight": "690 Kg (Mass at lift off)", + "onboard_power": "900 Watts", + "stabilization": "3 \u2013 axis body stabilised using high torque reaction wheels, magnetic torquers and hydrogen thrusters", + "payloads": "Panchromatic Camera", + "launch_date": "28 April 2008", + "launch_site": "SHAR Centre Sriharikota India", + "launch_vehicle": "PSLV- C9", + "orbit": "635 km, Polar Sun Synchronous", + "inclination": "97.94 deg", + "mission_life": "5 years" + }, + { + "name": "\n\n IMS-1\n \n", + "id": 41, + "orbit": "Polar Sun Synchronous", + "altitude": "635 km", + "mission_life": "2 years", + "physical_dimensions": "0.604x0.980x1.129 m", + "mass": "83 kg", + "power": "Two deployable sun pointing solar panels generating 220 W power, 105 Ah Lithium ion battery", + "telemetry,_tracking_and_command": "S-band", + "attitude_and_orbit_control_system": "Star Sensor, Miniature Sun Sensors, Magnetometers Gyros, Miniature Micro Reaction Wheels, Magnetic Torquers, single 1 N Hydrazine Thruster", + "data_handling": "S-band", + "data_storage": "16 Gb Solid State Recorder" + }, + { + "name": "\n\n Chandrayaan-1\n \n", + "id": 42, + "mission": "Remote Sensing, Planetary Science", + "weight": "1380 kg (Mass at lift off)", + "onboard_power": "700 Watts", + "stabilization": "3 - axis stabilised using reaction wheel and attitude control thrusters, sun sensors, star sensors, fibre optic gyros and accelerometers for attitude determination.", + "launch_date": "22 October 2008", + "launch_site": "SDSC, SHAR, Sriharikota", + "launch_vehicle": "PSLV - C11", + "orbit": "100 km x 100 km : Lunar Orbit", + "mission_life": "2 years" + }, + { + "name": "\n\n RISAT-2\n \n", + "id": 43, + "altitude": "550 km", + "inclination": "41 deg", + "orbit_period": "90 minutes", + "mass": "300 kg" + }, + { + "name": "\n\n Oceansat-2\n \n", + "id": 44, + "date": "Sept 23, 2009", + "launch_site": "SHAR, Sriharikota", + "launch_vehicle": "PSLV - C14", + "orbit": "Polar Sun Synchronous", + "altitude": "720 km", + "inclination": "98.28\u00b0", + "period": "99.31 minutes", + "local_time_of_eq._crossing": "12 noon \u00b1 10 minutes", + "repetitivity_cycle": "2 days", + "payloads": "OCM, SCAT and ROSA", + "mass_at_lift_off": "960 kg", + "power": "15 Sq.m Solar panels generating 1360W, Two 24 Ah Ni-Cd Batteries", + "mission_life": "5 years" + }, + { + "name": "\n\n CARTOSAT-2B\n \n", + "id": 45, + "mission": "Remote Sensing", + "weight": "694 kg (Mass at lift off)", + "onboard_orbit": "930 Watts", + "stabilization": "3 \u2013 axis body stabilised based on inputs from star sensors and gyros using Reaction wheels, Magnetic Torquers and Hydrazine Thrusters", + "payloads": "Panchromatic Camera", + "launch_date": "July 12, 2010", + "launch_site": "SHAR Centre Sriharikota India", + "launch_vehicle": "PSLV- C15", + "orbit": "630 kms, Polar Sun Synchronous", + "inclination": "97.71\u00ba" + }, + { + "name": "\n\n RESOURCESAT-2\n \n", + "id": 46, + "mission": "Remote Sensing", + "orbit": "Circular Polar Sun Synchronous", + "orbit_altitude_at_injection": "822 km + 20 km (3 Sigma)", + "orbit_inclination": "98.731\u00ba + 0.2\u00ba", + "lift-off_mass": "1206 kg", + "orbit_period": "101.35 min", + "number_of_orbits_per_day": "14", + "local_time_of_equator_crossing": "10:30 am", + "repetivity": "24 days", + "attitude_and_orbit_control": "3-axis body stabilised using Reaction Wheels, Magnetic Torquers and Hydrazine Thrusters", + "power": "Solar Array generating 1250 W at End Of Life, two 24 AH Ni-Cd batteries", + "launch_date": "April 20, 2011", + "launch_site": "SHAR Centre Sriharikota India", + "launch_vehicle": "PSLV- C16", + "mission_life": "5 years" + }, + { + "name": "\n\n Megha-Tropiques\n \n", + "id": 47, + "lift-off_mass": "1000 kg", + "orbit": "867 km with an inclination of 20 deg to the equator", + "thermal": "Passive system with IRS heritage", + "power": "1325 W (at End of Life) Two 24 AH NiCd batteries", + "ttc": "S-band", + "attitude_and_orbit_control": "3-axis stabilised with 4 Reaction Wheels, Gyros and Star sensors, Hydrazine based RCS", + "solid_state_recorder": "16 Gb", + "launch_date": "October 12, 2011", + "launch_site": "SDSC SHAR Centre, Sriharikota, India", + "launch_vehicle": "PSLV- C18" + }, + { + "name": "\n\n RISAT-1\n \n", + "id": 48, + "mass": "1858 kg", + "orbit": "Circular Polar Sun Synchronous", + "orbit_altitude": "536 km", + "orbit_inclination": "97.552 o", + "orbit_period": "95.49 min", + "number_of_orbits_per_day": "14", + "local_time_of_equator_crossing": "6:00 am / 6:00 pm", + "power": "Solar Array generating 2200 W and one 70 AH Ni-H2 battery", + "repetivity": "25 days", + "attitude_and_orbit_control": "3-axis body stabilised using Reaction Wheels, Magnetic Torquers and Hydrazine Thrusters", + "nominal_mission_life": "5 years", + "launch_date": "April 26, 2012", + "launch_site": "SDSC SHAR Centre, Sriharikota, India", + "launch_vehicle": "PSLV- C19" + }, + { + "name": "\n\n SARAL\n \n", + "id": 49, + "lift-off_mass": "407 kg", + "orbit": "781 km polar Sun synchronous", + "sensors": "4 PI sun sensors, magnetometer, star sensors and miniaturised gyro based Inertial Reference Unit", + "orbit_inclination": "98.538 o", + "local_time_of_equator": "18:00 hours crossing", + "power": "Solar Array generating 906 W and 46.8 Ampere-hour Lithium-ion battery", + "onboard_data_storage": "32 Gb", + "attitude_and_orbit_control": "3-axis stabilisation with reaction wheels, Hydrazine Control System based thrusters", + "mission_life": "5 years", + "launch_date": "Feb 25, 2013", + "launch_site": "SDSC SHAR Centre, Sriharikota, India", + "launch_vehicle": "PSLV - C20" + }, + { + "name": "\n\n IRNSS-1A\n \n", + "id": 50, + "lift-off_mass": "1425 kg", + "physical_dimensions": "1.58 metre x 1.50 metre x 1.50 metre", + "orbit": "Geosynchronous, at 55 deg East longitude with 29 deg inclination", + "power": "Two solar panels generating 1660 W, one lithium-ion battery of 90 Ampere-Hour capacity", + "propulsion": "440 Newton Liquid Apogee Motor, twelve 22 Newton Thrusters", + "control_system": "Zero momentum system, orientation input from Sun & star Sensors and Gyroscopes; Reaction Wheels, Magnetic Torquers and 22 Newton thrusters as actuators", + "mission_life": "10 years", + "launch_date": "Jul 01, 2013", + "launch_site": "SDSC SHAR Centre, Sriharikota, India", + "launch_vehicle": "PSLV - C22" + }, + { + "name": "\n\n INSAT-3D\n \n", + "id": 51, + "mission": "Meteorological and Search & Rescue Services", + "mass_at_lift-off": "2060 kg", + "power": "Solar panel generating 1164 W Two 18 Ah Ni-Cd batteries", + "physical_dimensions": "2.4m x 1.6m x 1.5m", + "propulsion": "440 Newton Liquid Apogee Motor (LAM) and twelve 22 Newton thrusters with Mono Methyl Hydrazine (MMH) as fuel and mixed Oxides of Nitrogen (MON-3) as oxidizer", + "stabilisation": "3-asix body stabilized in orbit using Sun Sensors, Star Sensors, gyroscopes, Momentum and Reaction Wheels, Magnetic Torquers and thrusters", + "antennae": "0.9m and 1.0m body mounted antennas", + "launch_date": "July 26, 2013", + "launch_site": "Kourou, French Guiana", + "launch_vehicle": "Ariane-5 VA-214", + "orbit": "Geostationary, 82 deg E Longitude", + "mission_life": "7 Years" + }, + { + "name": "\n\n IRNSS-1B\n \n", + "id": 52, + "off_mass": "1432 kg", + "physical_dimensions": "1.58 metre x 1.50 metre x 1.50 metre", + "orbit": "Geosynchronous, at 55 deg East longitude with 29 deg inclination", + "power": "Two solar panels generating 1660 W, one lithium-ion battery of 90 Ampere-Hour capacity", + "propulsion": "440 Newton Liquid Apogee Motor, twelve 22 Newton Thrusters", + "control_system": "Zero momentum system, orientation input from Sun & star Sensors and Gyroscopes; Reaction Wheels, Magnetic Torquers and 22 Newton thrusters as actuators", + "mission_life": "10 years", + "launch_date": "Apr 04, 2014", + "launch_site": "SDSC SHAR Centre, Sriharikota, India", + "launch_vehicle": "PSLV - C24" + }, + { + "name": "\n\n Cartosat-3\n \n", + "id": 53, + "mean________________________________________________________________altitude": "509 km", + "mean_inclination": "97.5\u00b0", + "overall_mass": "1625 kg", + "power_generation": "2000W", + "mission_life": "5 years" + }, + { + "name": "\n\n RISAT-2BR1\n \n", + "id": 54, + "lift-off_weight": "628 kg", + "altitude": "576 km", + "payload": "X-Band Radar", + "inclination": "37 deg", + "mission_life": "5 years" + } +] \ No newline at end of file diff --git a/isro_scrape/scraping.ipynb b/isro_scrape/scraping.ipynb index f82c177..2a13e2f 100644 --- a/isro_scrape/scraping.ipynb +++ b/isro_scrape/scraping.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 221, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -14,7 +14,7 @@ }, { "cell_type": "code", - "execution_count": 222, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -26,17 +26,51 @@ }, { "cell_type": "code", - "execution_count": 223, + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting lxml\n", + " Downloading lxml-6.0.2-cp311-cp311-win_amd64.whl.metadata (3.7 kB)\n", + "Downloading lxml-6.0.2-cp311-cp311-win_amd64.whl (4.0 MB)\n", + " ---------------------------------------- 0.0/4.0 MB ? eta -:--:--\n", + " ----- ---------------------------------- 0.5/4.0 MB 5.6 MB/s eta 0:00:01\n", + " ------------------------------------ --- 3.7/4.0 MB 12.1 MB/s eta 0:00:01\n", + " ---------------------------------------- 4.0/4.0 MB 11.5 MB/s eta 0:00:00\n", + "Installing collected packages: lxml\n", + "Successfully installed lxml-6.0.2\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n", + "[notice] A new release of pip is available: 25.1.1 -> 26.0.1\n", + "[notice] To update, run: python.exe -m pip install --upgrade pip\n" + ] + } + ], + "source": [ + "!pip install lxml" + ] + }, + { + "cell_type": "code", + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ - "soup = BeautifulSoup(response.text,'lxml')\n", + "soup = BeautifulSoup(response.text,'html.parser')\n", "spacecrafts = soup.find_all(\"a\", {\"class\":\"out\"})\n" ] }, { "cell_type": "code", - "execution_count": 232, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -45,470 +79,487 @@ "text": [ "[\n", " {\n", - " \"name\": \"RISAT-2BR1\",\n", - " \"id\": 1,\n", - " \"lift-off_weight\": \"628 kg\",\n", - " \"altitude\": \"576 km\",\n", - " \"payload\": \"X-Band Radar\",\n", - " \"inclination\": \"37 deg\",\n", - " \"mission_life\": \"5 years\"\n", - " },\n", - " {\n", - " \"name\": \"Cartosat-3\",\n", + " \"name\": \"\\n\\n Aryabhata\\n \\n\",\n", " \"id\": 1,\n", - " \"mean________________________________________________________________altitude\": \"509 km\",\n", - " \"mean_inclination\": \"97.5\\u00b0\",\n", - " \"overall_mass\": \"1625 kg\",\n", - " \"power_generation\": \"2000W\",\n", - " \"mission_life\": \"5 years\"\n", + " \"mission\": \"Scientific/ Experimental\",\n", + " \"weight\": \"360 kg\",\n", + " \"on_board_power\": \"46 Watts\",\n", + " \"communication\": \"VHF band\",\n", + " \"stabilization\": \"Spinstabilize\",\n", + " \"payload\": \"X-ray Astronomy Aeronomy & Solar Physics\",\n", + " \"launch_date\": \"April 19, 1975\",\n", + " \"launch_site\": \"Volgograd Launch Station (presently in Russia)\",\n", + " \"launch_vehicle\": \"C-1 Intercosmos\",\n", + " \"orbit\": \"563 x 619 km\",\n", + " \"inclination\": \"50.7 deg\",\n", + " \"mission_life\": \"6 months(nominal), Spacecraft mainframe active till March,1981\",\n", + " \"orbital_life\": \"Nearly seventeen years (Re-entered on February 10,1992)\"\n", " },\n", " {\n", - " \"name\": \"GSAT-15\",\n", - " \"id\": 1,\n", - " \"mission\": \"Communication and Satellite Navigation\",\n", - " \"weight\": \"3164 kg (Mass at Lift \\u2013 off) 1440 kg (Dry Mass)\",\n", - " \"power\": \"Solar array providing 6200 Watts and Three 100 AH Lithium-Ion batteries\",\n", - " \"propulsion\": \"Bi- propellant System\",\n", - " \"launch____________________________________________________________date\": \"November 11, 2015\",\n", - " \"launch____________________________________________________________site\": \"Kourou, French Guiana\",\n", - " \"launch____________________________________________________________vehicle\": \"Ariane-5 VA-227\",\n", - " \"orbit\": \"Geostationary (93.5\\u00b0 East longitude) Co-located with INSAT-3A and INSAT-4B\",\n", - " \"mission____________________________________________________________life\": \"12 Years\"\n", + " \"name\": \"\\n\\n Bhaskara-I\\n \\n\",\n", + " \"id\": 2,\n", + " \"mission\": \"Experimental Remote Sensing\",\n", + " \"weight\": \"442 kg\",\n", + " \"onboard_power\": \"47 Watts\",\n", + " \"communication\": \"VHF band\",\n", + " \"stabilization\": \"Spin stabilized (spin axis controlled)\",\n", + " \"payload\": \"TVcameras, three band Microwave Radiometer (SAMIR)\",\n", + " \"launch_date\": \"Jun 07,1979\",\n", + " \"launch_site\": \"Volgograd Launch Station (presently in Russia)\",\n", + " \"launch_vehicle\": \"C-1Intercosmos\",\n", + " \"orbit\": \"519 x 541 km\",\n", + " \"inclination\": \"50.6 deg\",\n", + " \"mission_life\": \"One year (nominal)\",\n", + " \"orbital_life\": \"About 10 years ( Re-entered in 1989 )\"\n", " },\n", " {\n", - " \"name\": \"GSAT-6\",\n", - " \"id\": 1,\n", - " \"physical____________________________________________________________properties\": \"Lift off Mass : 2117 kg Main Structure : I-2K Overall size(m) : 2.1 x 2.5 x 4.1\",\n", - " \"power\": \"Generated power 3100 W\",\n", - " \"aocs\": \"Momentum biased 3-axis stabilised\",\n", - " \"antennas\": \"One 0.8 m (fixed) and one 6 m unfurlable antenna (transmit and receive)\",\n", - " \"communication____________________________________________________________payloads\": \"i. S-band payload with five spot beams covering India for user links ii. C-band payload with one beam covering India for hub links S-band payload uses 6 m unfurlable antenna and C-band uses 0.8 m antenna.\",\n", - " \"mission_life\": \"9 years\"\n", + " \"name\": \"\\n\\n Rohini Technology Payload\\n (RTP)\\n \\n\",\n", + " \"id\": 3,\n", + " \"mission\": \"Experimental\",\n", + " \"weight\": \"35 kg\",\n", + " \"onboard_power\": \"3 Watts\",\n", + " \"communication\": \"VHF band\",\n", + " \"stabilization\": \"Spin stabilized (spin axis controlled)\",\n", + " \"payload\": \"Launch vehicle monitoring instruments\",\n", + " \"launch_date\": \"August 10,1979\",\n", + " \"launch_site\": \"SHAR Centre, Sriharikota, India\",\n", + " \"launch_vehicle\": \"SLV-3\",\n", + " \"orbit\": \"Not achieved\"\n", " },\n", " {\n", - " \"name\": \"IRNSS-1B\",\n", - " \"id\": 1,\n", - " \"off_mass\": \"1432 kg\",\n", - " \"physical_dimensions\": \"1.58 metre x 1.50 metre x 1.50 metre\",\n", - " \"orbit\": \"Geosynchronous, at 55 deg East longitude with 29 deg inclination\",\n", - " \"power\": \"Two solar panels generating 1660 W, one lithium-ion battery of 90 Ampere-Hour capacity\",\n", - " \"propulsion\": \"440 Newton Liquid Apogee Motor, twelve 22 Newton Thrusters\",\n", - " \"control_system\": \"Zero momentum system, orientation input from Sun & star Sensors and Gyroscopes; Reaction Wheels, Magnetic Torquers and 22 Newton thrusters as actuators\",\n", - " \"mission_life\": \"10 years\",\n", - " \"launch_date\": \"Apr 04, 2014\",\n", - " \"launch_site\": \"SDSC SHAR Centre, Sriharikota, India\",\n", - " \"launch_vehicle\": \"PSLV - C24\"\n", + " \"name\": \"\\n\\n Rohini Satellite RS-1\\n \\n\",\n", + " \"id\": 4,\n", + " \"mission\": \"Experimental\",\n", + " \"weight\": \"35 kg\",\n", + " \"onboard_power\": \"16 Watts\",\n", + " \"communication\": \"VHF band\",\n", + " \"stabilization\": \"Spin stabilized\",\n", + " \"payload\": \"Launch vehicle monitoring instruments\",\n", + " \"launch_date\": \"July 18,1980\",\n", + " \"launch_site\": \"SHAR Centre, Sriharikota, India\",\n", + " \"launch_vehicle\": \"SLV-3\",\n", + " \"orbit\": \"305 x 919 km\",\n", + " \"inclination\": \"44.7 deg.\",\n", + " \"mission_life\": \"1.2 years\",\n", + " \"orbital_life\": \"20 months\"\n", " },\n", " {\n", - " \"name\": \"GSAT-14\",\n", - " \"id\": 1,\n", - " \"mass_at_lift-off\": \"1982 kg\",\n", - " \"overall_size_(m)\": \"2.0 X 2.0 X 3.6\",\n", - " \"power\": \"2600 W\",\n", - " \"attitude_and_orbit_control_system_(aocs)\": \"Momentum biased 3-axis stabilized mode\",\n", - " \"propulsion_system\": \"Bi propellant-Mono Methyl Hydrazine and Mixed Oxides of Nitrogen (MON-3)\",\n", - " \"antennae\": \"One 2m and one 2.2 m single shell shaped reflector Antennae (transmit and receive)\",\n", - " \"launch_date\": \"January 05, 2014\",\n", - " \"launch_site\": \"SDSC, SHAR\",\n", - " \"launch_vehicle\": \"GSLV-D5\",\n", - " \"orbit\": \"74 deg East longitude in geostationary orbit\",\n", - " \"mission_life\": \"12 Years\"\n", + " \"name\": \"\\n\\n Rohini Satellite RS-D1\\n \\n\",\n", + " \"id\": 5,\n", + " \"mission\": \"Experimental\",\n", + " \"weight\": \"38 kg\",\n", + " \"onboard_power\": \"16 Watts\",\n", + " \"communication\": \"VHF band\",\n", + " \"stabilization\": \"Spin stabilized\",\n", + " \"payload\": \"Landmark Tracker ( remote sensing payload)\",\n", + " \"launch_date\": \"May 31,1981\",\n", + " \"launch_site\": \"SHAR Centre, Sriharikota, India\",\n", + " \"launch_vehicle\": \"SLV-3\",\n", + " \"orbit\": \"186 x 418 km (achieved)\",\n", + " \"inclination\": \"46 deg\",\n", + " \"orbital_life\": \"Nine days\"\n", " },\n", " {\n", - " \"name\": \"GSAT-7\",\n", - " \"id\": 1,\n", - " \"mission\": \"Communication\",\n", - " \"mass_at_lift-off\": \"2650 kg\",\n", - " \"physical_dimensions\": \"3.1 m X 1.7 m X 2.0 m\",\n", - " \"power\": \"3,000 W (end of life)\",\n", - " \"satbilisation\": \"3-axis stabilized\",\n", - " \"launch_date\": \"August 30, 2013\",\n", - " \"launch_site\": \"Kourou, French Guiana\",\n", - " \"launch_vehicle\": \"Ariane-5 VA-215\",\n", - " \"orbit\": \"74oE Geo Stationary\",\n", - " \"mission_life\": \"> 7 Years\"\n", + " \"name\": \"\\n\\n APPLE\\n \\n\",\n", + " \"id\": 6,\n", + " \"mission\": \"Experimental geostationary communication\",\n", + " \"weight\": \"670 kg\",\n", + " \"onboard_power\": \"210 Watts\",\n", + " \"communication\": \"VHF and C-band\",\n", + " \"stabilization\": \"Three axis stabilized (biased momentum) with Momentum Wheels, Torquers & \\u00a0Hydrazine based Reaction control system\",\n", + " \"payload\": \"C - band transponders (Two)\",\n", + " \"launch_date\": \"June19,1981\",\n", + " \"launch_site\": \"Kourou (CSG), French Guyana\",\n", + " \"launch_vehicle\": \"Ariane -1(V-3)\",\n", + " \"orbit\": \"Geosynchronous (102 deg. E\\u00a0 longitude, over Indonesia)\",\n", + " \"inclination\": \"Near zero\",\n", + " \"mission_life\": \"Two years\"\n", " },\n", " {\n", - " \"name\": \"INSAT-3D\",\n", - " \"id\": 1,\n", - " \"mission\": \"Meteorological and Search & Rescue Services\",\n", - " \"mass_at_lift-off\": \"2060 kg\",\n", - " \"power\": \"Solar panel generating 1164 W Two 18 Ah Ni-Cd batteries\",\n", - " \"physical_dimensions\": \"2.4m x 1.6m x 1.5m\",\n", - " \"propulsion\": \"440 Newton Liquid Apogee Motor (LAM) and twelve 22 Newton thrusters with Mono Methyl Hydrazine (MMH) as fuel and mixed Oxides of Nitrogen (MON-3) as oxidizer\",\n", - " \"stabilisation\": \"3-asix body stabilized in orbit using Sun Sensors, Star Sensors, gyroscopes, Momentum and Reaction Wheels, Magnetic Torquers and thrusters\",\n", - " \"antennae\": \"0.9m and 1.0m body mounted antennas\",\n", - " \"launch_date\": \"July 26, 2013\",\n", - " \"launch_site\": \"Kourou, French Guiana\",\n", - " \"launch_vehicle\": \"Ariane-5 VA-214\",\n", - " \"orbit\": \"Geostationary, 82 deg E Longitude\",\n", - " \"mission_life\": \"7 Years\"\n", + " \"name\": \"\\n\\n Bhaskara-II\\n \\n\",\n", + " \"id\": 7,\n", + " \"mission\": \"Experimental Remote Sensing\",\n", + " \"weight\": \"444 kg\",\n", + " \"onboard_power\": \"47 Watts\",\n", + " \"communication\": \"VHF band\",\n", + " \"stabilization\": \"Spin stabilized (spin axis controlled)\",\n", + " \"payload\": \"TV cameras, three band Microwave Radiometer (SAMIR)\",\n", + " \"launch_date\": \"Nov 20, 1981\",\n", + " \"launch_site\": \"Volgograd Launch Station (presently in Russia)\",\n", + " \"launch_vehicle\": \"C-1 Intercosmos\",\n", + " \"orbit\": \"541 x 557 km\",\n", + " \"inclination\": \"50.7o\",\n", + " \"mission_life\": \"One year (nominal)\",\n", + " \"orbital_life\": \"About 10 years ( Re-entered in 1991 )\"\n", " },\n", " {\n", - " \"name\": \"IRNSS-1A\",\n", - " \"id\": 1,\n", - " \"lift-off_mass\": \"1425 kg\",\n", - " \"physical_dimensions\": \"1.58 metre x 1.50 metre x 1.50 metre\",\n", - " \"orbit\": \"Geosynchronous, at 55 deg East longitude with 29 deg inclination\",\n", - " \"power\": \"Two solar panels generating 1660 W, one lithium-ion battery of 90 Ampere-Hour capacity\",\n", - " \"propulsion\": \"440 Newton Liquid Apogee Motor, twelve 22 Newton Thrusters\",\n", - " \"control_system\": \"Zero momentum system, orientation input from Sun & star Sensors and Gyroscopes; Reaction Wheels, Magnetic Torquers and 22 Newton thrusters as actuators\",\n", - " \"mission_life\": \"10 years\",\n", - " \"launch_date\": \"Jul 01, 2013\",\n", - " \"launch_site\": \"SDSC SHAR Centre, Sriharikota, India\",\n", - " \"launch_vehicle\": \"PSLV - C22\"\n", + " \"name\": \"\\n\\n Rohini Satellite RS-D2\\n \\n\",\n", + " \"id\": 8,\n", + " \"mission\": \"Experimental\",\n", + " \"weight\": \"41.5 kg\",\n", + " \"onboard_power\": \"16 Watts\",\n", + " \"communication\": \"VHF band\",\n", + " \"stabilization\": \"Spin stabilized\",\n", + " \"payload\": \"Smart sensor (remote sensing payload), L-band beacon\",\n", + " \"launch_date\": \"April 17, 1983\",\n", + " \"launch_site\": \"SHAR Centre, Sriharikota, India\",\n", + " \"launch_vehicle\": \"SLV-3\",\n", + " \"orbit\": \"371 x 861 km\",\n", + " \"inclination\": \"46o\",\n", + " \"mission_life\": \"17 months\",\n", + " \"orbital_life\": \"Seven years (Re-entered on April 19, 1990)\"\n", " },\n", " {\n", - " \"name\": \"SARAL\",\n", - " \"id\": 1,\n", - " \"lift-off_mass\": \"407 kg\",\n", - " \"orbit\": \"781 km polar Sun synchronous\",\n", - " \"sensors\": \"4 PI sun sensors, magnetometer, star sensors and miniaturised gyro based Inertial Reference Unit\",\n", - " \"orbit_inclination\": \"98.538o\",\n", - " \"local_time_of_equator\": \"18:00 hours crossing\",\n", - " \"power\": \"Solar Array generating 906 W and 46.8 Ampere-hour Lithium-ion battery\",\n", - " \"onboard_data_storage\": \"32 Gb\",\n", - " \"attitude_and_orbit_control\": \"3-axis stabilisation with reaction wheels, Hydrazine Control System based thrusters\",\n", - " \"mission_life\": \"5 years\",\n", - " \"launch_date\": \"Feb 25, 2013\",\n", - " \"launch_site\": \"SDSC SHAR Centre, Sriharikota, India\",\n", - " \"launch_vehicle\": \"PSLV - C20\"\n", + " \"name\": \"\\n\\n SROSS-1\\n \\n\",\n", + " \"id\": 9,\n", + " \"mission\": \"Experimental\",\n", + " \"weight\": \"150 kg\",\n", + " \"onboard_power\": \"90 Watts\",\n", + " \"communication\": \"S-band and VHF\",\n", + " \"stabilization\": \"Three axis body stabilized (biased momentum) with a Momentum Wheel and Magnetic Torquer\",\n", + " \"propulsion_system\": \"Monopropellant (Hydrazine based) Reaction control system\",\n", + " \"payload\": \"Launch Vehicle Monitoring Platform(LVMP), Gamma Ray Burst (GRB) payload and Corner Cube Retro Reflector (CCRR) for laser tracking\",\n", + " \"launch_date\": \"March 24, 1987\",\n", + " \"launch_site\": \"SHAR Centre, Sriharikota, India\",\n", + " \"launch_vehicle\": \"Augmented Satellite Launch Vehicle (ASLV)\",\n", + " \"orbital_life\": \"Not realised\"\n", " },\n", " {\n", - " \"name\": \"GSAT-10\",\n", - " \"id\": 1,\n", - " \"mission\": \"Communication\",\n", - " \"weight\": \"3400 kg (Mass at Lift \\u2013 off) 1498 kg (Dry Mass)\",\n", - " \"power\": \"Solar array providing 6474 Watts (at Equinox) and two 128 AH Lithium-Ion batteries\",\n", - " \"physical_dimensions\": \"2.0 m X 1.77 m X 3.1 m cuboid\",\n", - " \"propulsion\": \"440 Newton Liquid Apogee Motors (LAM) with Mono Methyl Hydrazine (MMH) as fuel and Mixed oxides of Nitrogen (MON-3) as oxidizer for orbit raising.\",\n", - " \"stabilisation\": \"3-axis body stabilised in orbit using Earth Sensors, Sun Sensors, Momentum and Reaction Wheels, Magnetic Torquers and eight 10 Newton and eight 22 Newton bipropellant thrusters\",\n", - " \"antennae\": \"East : 2.2 m dia circular deployable Dual Gridded Reflector (DGR) West : 2.2 m X 2.4 m elliptical deployable DGR Earth Viewing Face (top) : 0.7 m parabolic, 0.9 m parabolic and 0.8 m X 0.8 m sixteen element helical antenna for GAGAN\",\n", - " \"launch_date\": \"September 29, 2012\",\n", - " \"launch_site\": \"Kourou, French Guiana\",\n", - " \"launch_vehicle\": \"Ariane-5 VA-209\",\n", - " \"orbit\": \"Geostationary (83\\u00b0 East longitude), co-located with INSAT-4A and GSAT-12\",\n", - " \"mission_life\": \"15 Years\"\n", + " \"name\": \"\\n\\n IRS-1A\\n \\n\",\n", + " \"id\": 10,\n", + " \"mission\": \"Operational Remote Sensing\",\n", + " \"weight\": \"975 kg\",\n", + " \"onboard_power\": \"600 Watts\",\n", + " \"communication\": \"S-band, X-band and VHF(commanding only)\",\n", + " \"stabilization\": \"Three axis body stabilized (zero momentum) with 4 Reactions Wheels, Magnetic torquers\",\n", + " \"rcs\": \"Monopropellant Hydrazine based with sixteen 1 Newton thrusters\",\n", + " \"payload\": \"Three solid state Push Broom Cameras: LISS-1(72.5 metre resolution), LISS-2A and LISS-2B (36.25 metre resolution)\",\n", + " \"launch_date\": \"March 17, 1988\",\n", + " \"launch_site\": \"Baikanur Cosmodrome Kazakhstan\",\n", + " \"launch_vehicle\": \"Vostok\",\n", + " \"orbit\": \"904 km Polar Sun-synchronous\",\n", + " \"inclination\": \"99.08o\",\n", + " \"repetivity\": \"22 days (307 orbits)\",\n", + " \"local_time\": \"10.30 a.m. (descending node)\",\n", + " \"mission_completed_during\": \"July 1996\"\n", " },\n", " {\n", - " \"name\": \"RISAT-1\",\n", - " \"id\": 1,\n", - " \"mass\": \"1858 kg\",\n", - " \"orbit\": \"Circular Polar Sun Synchronous\",\n", - " \"orbit_altitude\": \"536 km\",\n", - " \"orbit_inclination\": \"97.552o\",\n", - " \"orbit_period\": \"95.49 min\",\n", - " \"number_of_orbits_per_day\": \"14\",\n", - " \"local_time_of_equator_crossing\": \"6:00 am / 6:00 pm\",\n", - " \"power\": \"Solar Array generating 2200 W and one 70 AH Ni-H2 battery\",\n", - " \"repetivity\": \"25 days\",\n", - " \"attitude_and_orbit_control\": \"3-axis body stabilised using Reaction Wheels, Magnetic Torquers and Hydrazine Thrusters\",\n", - " \"nominal_mission_life\": \"5 years\",\n", - " \"launch_date\": \"April 26, 2012\",\n", - " \"launch_site\": \"SDSC SHAR Centre, Sriharikota, India\",\n", - " \"launch_vehicle\": \"PSLV- C19\"\n", + " \"name\": \"\\n\\n SROSS-2\\n \\n\",\n", + " \"id\": 11,\n", + " \"mission\": \"Experimental\",\n", + " \"weight\": \"150 kg\",\n", + " \"onboard_power\": \"90 Watts\",\n", + " \"communication\": \"S-band and VHF\",\n", + " \"stabilization\": \"Three axis body stabilized (biased momentum) with a Momentum Wheel and Magnetic Torquer\",\n", + " \"propulsion_system\": \"Monopropellant (Hydrazine based) Reaction Control System\",\n", + " \"payload\": \"Gamma Ray Burst (GRB) payload and Mono Payload Ocular Electro-Optic Stereo Scanner (MEOSS) built by DLR, Germany\",\n", + " \"launch_date\": \"July 13, 1988\",\n", + " \"launch_site\": \"SHAR Centre, Sriharikota, India\",\n", + " \"launch_vehicle\": \"Augmented Satellite Launch Vehicle (ASLV)\",\n", + " \"orbit\": \"Not realised\"\n", " },\n", " {\n", - " \"name\": \"Megha-Tropiques\",\n", - " \"id\": 1,\n", - " \"lift-off_mass\": \"1000 kg\",\n", - " \"orbit\": \"867 km with an inclination of 20 deg to the equator\",\n", - " \"thermal\": \"Passive system with IRS heritage\",\n", - " \"power\": \"1325 W (at End of Life) Two 24 AH NiCd batteries\",\n", - " \"ttc\": \"S-band\",\n", - " \"attitude_and_orbit_control\": \"3-axis stabilised with 4 Reaction Wheels, Gyros and Star sensors, Hydrazine based RCS\",\n", - " \"solid_state_recorder\": \"16 Gb\",\n", - " \"launch_date\": \"October 12, 2011\",\n", - " \"launch_site\": \"SDSC SHAR Centre, Sriharikota, India\",\n", - " \"launch_vehicle\": \"PSLV- C18\"\n", + " \"name\": \"\\n\\n IRS-1B\\n \\n\",\n", + " \"id\": 12,\n", + " \"mission\": \"Operational Remote Sensing\",\n", + " \"weight\": \"975 kg\",\n", + " \"onboard_power\": \"600 Watts\",\n", + " \"communication\": \"S-band, X-band and VHF (commanding only)\",\n", + " \"stabilization\": \"Three axis body stabilized (zero momentum) with 4 Reactions Wheels, Magnetic torquers\",\n", + " \"rcs\": \"Monopropellant Hydrazine based with sixteen 1 Newton thrusters\",\n", + " \"payload\": \"Three solid state Push Broom Cameras LlSS-1 (72.5 metre resolution), LlSS-2A and LlSS-2B (36.25 metre resolution)\",\n", + " \"launch_date\": \"August 29, 1991\",\n", + " \"launch_site\": \"Baikanur Cosmodrome Kazakhstan\",\n", + " \"launch_vehicle\": \"Vostok\",\n", + " \"orbit\": \"904 km Polar Sun Synchronous\",\n", + " \"inclination\": \"99.08o\",\n", + " \"repetivity\": \"22 days\",\n", + " \"local_time\": \"10.30 a.m. (descending node)\",\n", + " \"mission_completed_on\": \"December 20, 2003\"\n", " },\n", " {\n", - " \"name\": \"GSAT-12\",\n", - " \"id\": 1,\n", - " \"mission\": \"Communication\",\n", - " \"weight\": \"1410 kg (Mass at Lift \\u2013 off) 559 kg (Dry Mass)\",\n", - " \"power\": \"Solar array providing 1430 Watts and one 64 Ah Li-Ion batteries\",\n", - " \"physical_dimensions\": \"1.485 x 1.480 x 1.446 m cuboid\",\n", - " \"propulsion\": \"440 Newton Liquid Apogee Motors (LAM) with Mono Methyl Hydrazine (MMH) as fuel and Mixed oxides of Nitrogen (MON-3) as oxidizer for orbit raising.\",\n", - " \"attitude_orbit_control\": \"3-axis body stabilised in orbit using Earth Sensors, Sun Sensors, Momentum and Reaction Wheels, Magnetic Torquers and eight 10 Newton and eight 22 Newton bipropellant thrusters\",\n", - " \"antennae\": \"One 0.7 m diameter body mounted parabolic receive antenna and one 1.2 m diameter polarisation sensitive deployable antenna\",\n", - " \"launch_date\": \"July 15, 2011\",\n", - " \"launch_site\": \"SHAR, Sriharikota, India\",\n", - " \"launch_vehicle\": \"PSLV-C17\",\n", - " \"orbit\": \"Geosynchronous (83\\u00b0 longitude)\",\n", - " \"mission_life\": \"About 8 Years\"\n", + " \"name\": \"\\n\\n SROSS-C\\n \\n\",\n", + " \"id\": 13,\n", + " \"mission\": \"Experimental\",\n", + " \"weight\": \"106.1 kg\",\n", + " \"onboard_power\": \"45 Watts\",\n", + " \"communication\": \"S-band and VHF\",\n", + " \"stabilization\": \"Spin stabilized with a Magnetic Torquer and Magnetic Bias Control\",\n", + " \"payload\": \"Gamma Ray Burst (GRB) experiment & Retarding Potential Analyser (RPA) experiment\",\n", + " \"launch_date\": \"May 20,1992\",\n", + " \"launch_site\": \"SHAR Centre, Sriharikota, India\",\n", + " \"launch_vehicle\": \"Augmented Satellite Launch Vehicle (ASLV)\",\n", + " \"orbit\": \"267 x 391 km\",\n", + " \"mission_life\": \"Two months (Re-entered on July15,1992)\"\n", " },\n", " {\n", - " \"name\": \"GSAT-8\",\n", - " \"id\": 1,\n", - " \"mission\": \"Communication\",\n", - " \"weight\": \"3093 kg (Mass at Lift \\u2013 off) 1426 kg (Dry Mass)\",\n", - " \"power\": \"Solar array providing 6242 watts three 100 Ah Lithium Ion batteries\",\n", - " \"physical_dimensions\": \"2.0 x 1.77 x 3.1m cuboid\",\n", - " \"propulsion\": \"440 Newton Liquid Apogee Motors (LAM) with mono Methyl Hydrazine (MMH) as fuel and Mixed oxides of Nitrogen (MON-3) as oxidizer for orbit raising.\",\n", - " \"stabilisation\": \"3-axis body stabilised in orbit using Earth Sensors, Sun Sensors, Momentum and Reaction Wheels, Magnetic Torquers and eight 10 Newton and eight 22 Newton bipropellant thrusters\",\n", - " \"antennas\": \"Two indigenously developed 2.2 m diameter transmit/receive polarisation sensitive dual grid shaped beam deployable reflectors with offset-fed feeds illumination for Ku-band; 0.6 m C-band and 0.8x0.8 sq m L-band helix antenna for GAGAN\",\n", - " \"launch_date\": \"May 21, 2011\",\n", - " \"launch_site\": \"Kourou, French Guiana\",\n", - " \"launch_vehicle\": \"Ariane-5 VA-202\",\n", - " \"orbit\": \"Geosynchronous (55\\u00b0 E)\",\n", - " \"mission_life\": \"More Than 12 Years\"\n", + " \"name\": \"\\n\\n INSAT-2A\\n \\n\",\n", + " \"id\": 14,\n", + " \"mission\": \"Multipurpose Communication, meteorology and Satellite based search and rescue\",\n", + " \"weight\": \"1906 kg with propellant 916 kg dry weight\",\n", + " \"onboard_power\": \"One KW approx\",\n", + " \"communication\": \"C, extended C and S band\",\n", + " \"stabilization\": \"Three axis body stabilized with two Momentum Wheels & one Reaction Wheel, Magnetic torquers\",\n", + " \"propulsion\": \"Integrated bipropellant system (MMH and N2 04) With sixteen 22 N thrusters and 440 LAM.\",\n", + " \"payload\": \"Transponders: 12 C-band (for FSS),6 ext. C-band (for FSS) 2 S-band (for BSS),1Data relay transponder (for met.data), 1 transponder for research and rescue, Very High Resolution radiometer (VHRR) for\\u00a0meteorological observation with 2 km resolution in the visible and 8 km resolution in the IR band\",\n", + " \"launch_date\": \"July 10,1992\",\n", + " \"launch_site\": \"French Guyana\",\n", + " \"launch_vehicle\": \"Ariane 4\",\n", + " \"orbit\": \"Geostationary 74oE longitude\",\n", + " \"inclination\": \"0o\",\n", + " \"mission_life\": \"Seven years(nominal)\",\n", + " \"orbit_life\": \"Very Long\"\n", " },\n", " {\n", - " \"name\": \"RESOURCESAT-2\",\n", - " \"id\": 1,\n", - " \"mission\": \"Remote Sensing\",\n", - " \"orbit\": \"Circular Polar Sun Synchronous\",\n", - " \"orbit_altitude_at_injection\": \"822 km + 20 km (3 Sigma)\",\n", - " \"orbit_inclination\": \"98.731\\u00ba + 0.2\\u00ba\",\n", - " \"lift-off_mass\": \"1206 kg\",\n", - " \"orbit_period\": \"101.35 min\",\n", - " \"number_of_orbits_per_day\": \"14\",\n", - " \"local_time_of_equator_crossing\": \"10:30 am\",\n", - " \"repetivity\": \"24 days\",\n", - " \"attitude_and_orbit_control\": \"3-axis body stabilised using Reaction Wheels, Magnetic Torquers and Hydrazine Thrusters\",\n", - " \"power\": \"Solar Array generating 1250 W at End Of Life, two 24 AH Ni-Cd batteries\",\n", - " \"launch_date\": \"April 20, 2011\",\n", - " \"launch_site\": \"SHAR Centre Sriharikota India\",\n", - " \"launch_vehicle\": \"PSLV- C16\",\n", - " \"mission_life\": \"5 years\"\n", + " \"name\": \"\\n\\n INSAT-2B\\n \\n\",\n", + " \"id\": 15,\n", + " \"mission\": \"Multipurpose Communication, meteorology and Satellite based search and rescue\",\n", + " \"weight\": \"1906 kg with propellant 916 kg dry weight\",\n", + " \"onboard_power\": \"One KW approx.\",\n", + " \"communication\": \"C, extended C and S band\",\n", + " \"stabilization\": \"Three axis body stabilized with two Momentum Wheels & one Reaction Wheel, Magnetic torquers\",\n", + " \"propulsion\": \"Integrated bipropellant system ( MMH and N2 04) With sixteen 22 N thrusters and 440 N LAM.\",\n", + " \"payload\": \"Transponders: 12C-band (for FSS),6 ext. C-band (for FSS) 2S-band (for BSS),1Data relay transponder (for met.data), 1 transponder for research and rescue, Very High Resolution radiometer (VHRR) for meteorological observation with 2 km resolution in the visible and 8 km resolution in the IR band\",\n", + " \"launch_date\": \"July 23, 1993\",\n", + " \"launch_site\": \"French Guyana\",\n", + " \"launch_vehicle\": \"Ariane 4\",\n", + " \"orbit\": \"Geostationary 93.5o E\",\n", + " \"inclination\": \"0o\",\n", + " \"mission_life\": \"Seven years(nominal)\",\n", + " \"orbit_life\": \"Very Long\"\n", " },\n", " {\n", - " \"name\": \"YOUTHSAT\",\n", - " \"id\": 1,\n", - " \"lift-off_mass\": \"92 kg\",\n", - " \"orbit_period\": \"101.35 min\",\n", - " \"dimension\": \"1020 (Pitch) x 604 (Roll) x 1340 (Yaw) mm3\",\n", - " \"attitude_and_orbit_control\": \"3-axis body stabilised using Sun and Star Sensors, Miniature Magnetometer, Miniature Gyros, Micro Reaction Wheels and Magnetic Torquers\",\n", - " \"power\": \"Solar Array generating 230 W, one 10.5 AH Li-ion battery\",\n", - " \"mechanisms\": \"Paraffin Actuator based Solar Panel Hold Down and Release Mechanism\",\n", - " \"launch_date\": \"April 20, 2011\",\n", - " \"launch_site\": \"SHAR Centre Sriharikota India\",\n", - " \"launch_vehicle\": \"PSLV- C16\",\n", - " \"orbit\": \"Circular Polar Sun Synchronous\",\n", - " \"orbit_altitude_at_injection\": \"822 km\\u00a0+\\u00a020 km (3 Sigma)\",\n", - " \"orbit_inclination\": \"98.731 \\u00ba\\u00a0+\\u00a00.2 \\u00ba\",\n", - " \"mission_life\": \"2 years\"\n", + " \"name\": \"\\n\\n IRS-1E\\n \\n\",\n", + " \"id\": 16,\n", + " \"mission\": \"Operational Remote Sensing\",\n", + " \"weight\": \"846 kg\",\n", + " \"onboard_power\": \"415 Watts\",\n", + " \"communication\": \"S-band (TIC) & VHF\",\n", + " \"stabilization\": \"Three axis body stabilized ( zero momentum) with 4 Reaction Wheels, Magnetic torquers\",\n", + " \"rcs\": \"Monopropellant Hydrazine based RCS with 1 Newton thrusters ( 16 Nos.)\",\n", + " \"payload\": \"LlSS-1 MEOSS (Mono-ocula Erlectro Optic Stereo Scanner)\",\n", + " \"launch_date\": \"September 20, 1993\",\n", + " \"launch_site\": \"SHAR Centre, Sriharikota, India\",\n", + " \"launch_vehicle\": \"PSLV-D1\",\n", + " \"orbit\": \"Not realised\"\n", " },\n", " {\n", - " \"name\": \"CARTOSAT-2B\",\n", - " \"id\": 1,\n", - " \"mission\": \"Remote Sensing\",\n", - " \"weight\": \"694 kg (Mass at lift off)\",\n", - " \"onboard_orbit\": \"930 Watts\",\n", - " \"stabilization\": \"3 \\u2013 axis body stabilised based on inputs from star sensors and gyros using Reaction wheels, Magnetic Torquers and Hydrazine Thrusters\",\n", - " \"payloads\": \"Panchromatic Camera\",\n", - " \"launch_date\": \"July 12, 2010\",\n", - " \"launch_site\": \"SHAR Centre Sriharikota India\",\n", - " \"launch_vehicle\": \"PSLV- C15\",\n", - " \"orbit\": \"630 kms, Polar Sun Synchronous\",\n", - " \"inclination\": \"97.71\\u00ba\"\n", + " \"name\": \"\\n\\n SROSS-C2\\n \\n\",\n", + " \"id\": 17,\n", + " \"mission\": \"Experimental\",\n", + " \"weight\": \"115 kg\",\n", + " \"onboard_power\": \"45 Watts\",\n", + " \"communication\": \"S-band and VHF\",\n", + " \"rcs\": \"Monopropellant Hydrazine based with six 1 Newton thrusters\",\n", + " \"payload\": \"Gamma Ray Burst (GRB) & Retarding Potential Analyser (RPA)\",\n", + " \"launch_date\": \"May 04,1994\",\n", + " \"launch_site\": \"SHAR Centre,Sriharikota,India\",\n", + " \"launch_vehicle\": \"Augmented Satellite Launch Vehicle (ASLV)\",\n", + " \"orbit\": \"430 x 600 km.\",\n", + " \"inclination\": \"45 deg.\",\n", + " \"mission_life\": \"Six months (nominal)\",\n", + " \"orbital_life\": \"Two years (nominal)\"\n", " },\n", " {\n", - " \"name\": \"Oceansat-2\",\n", - " \"id\": 1,\n", - " \"date\": \"Sept 23, 2009\",\n", - " \"launch_site\": \"SHAR, Sriharikota\",\n", - " \"launch_vehicle\": \"PSLV - C14\",\n", - " \"orbit\": \"Polar Sun Synchronous\",\n", - " \"altitude\": \"720 km\",\n", - " \"inclination\": \"98.28\\u00b0\",\n", - " \"period\": \"99.31 minutes\",\n", - " \"local_time_of_eq._crossing\": \"12 noon \\u00b1 10 minutes\",\n", - " \"repetitivity_cycle\": \"2 days\",\n", - " \"payloads\": \"OCM, SCAT and ROSA\",\n", - " \"mass_at_lift_off\": \"960 kg\",\n", - " \"power\": \"15 Sq.m Solar panels generating 1360W, Two 24 Ah Ni-Cd Batteries\",\n", - " \"mission_life\": \"5 years\"\n", + " \"name\": \"\\n\\n IRS-P2\\n \\n\",\n", + " \"id\": 18,\n", + " \"mission\": \"Operational Remote Sensing\",\n", + " \"weight\": \"804 kg\",\n", + " \"onboard_power\": \"510 Watts\",\n", + " \"communication\": \"S-band, X-band\",\n", + " \"stabilization\": \"Three axis body stabilized with 4 Reaction Wheels, Magnetic torquers\",\n", + " \"rcs\": \"4 tanks containing Monopropellant Hydrazine based with sixteen 1 N thrusters and one 11 N thruster\",\n", + " \"payload\": \"Two solid state Push Broom Cameras operating in four spectral bands in the visible and near-IR range using CCD arrays: LlSS-2A & LlSS-2B (Resolution: 32.74 metre)\",\n", + " \"launch_date\": \"October 15, 1994\",\n", + " \"launch_site\": \"SHAR Centre, Sriharikota, India\",\n", + " \"launch_vehicle\": \"PSLV-D2\",\n", + " \"inclination\": \"98.68 o\",\n", + " \"repetivity\": \"24 days\",\n", + " \"mission_completed_on\": \"1997\"\n", " },\n", " {\n", - " \"name\": \"RISAT-2\",\n", - " \"id\": 1,\n", - " \"altitude\": \"550 km\",\n", - " \"inclination\": \"41 deg\",\n", - " \"orbit_period\": \"90 minutes\",\n", - " \"mass\": \"300 kg\"\n", + " \"name\": \"\\n\\n INSAT-2C\\n \\n\",\n", + " \"id\": 19,\n", + " \"mission\": \"Communication\",\n", + " \"weight\": \"2106 kg with propellants 946 kg dry weight\",\n", + " \"onboard_power\": \"1320 Watts\",\n", + " \"communication\": \"C extended C, S and Ku bands\",\n", + " \"stabilization\": \"Three axis stabilized with two Momen'tum Wheels & one Reaction Wheel, Magnetic torquers\",\n", + " \"propulsion\": \"Integrated bipropellant system ( MMH and N2 04) With sixteen 22N thrusters and 440N LAM.\",\n", + " \"payload\": \"Transponders: 16C-band / extended C-band transponders (for FSS), 2 high power C-band transponders (for BSS), 1S-band transponder (for BSS),1C/S-band mobile communication transponder, 3 Ku-band transponders\",\n", + " \"launch_date\": \"December 7, 1995\",\n", + " \"launch_site\": \"French Guyana\",\n", + " \"launch_vehicle\": \"Ariane4\",\n", + " \"orbit\": \"Geostationary 93.5 deg E\",\n", + " \"inclination\": \"0 deg.\",\n", + " \"mission_life\": \"Seven years(nominal)\",\n", + " \"orbit_life\": \"Very Long\"\n", " },\n", " {\n", - " \"name\": \"Chandrayaan-1 \",\n", - " \"id\": 1,\n", - " \"mission\": \"Remote Sensing, Planetary Science\",\n", - " \"weight\": \"1380 kg (Mass at lift off)\",\n", - " \"onboard_power\": \"700 Watts\",\n", - " \"stabilization\": \"3 - axis stabilised using reaction wheel and attitude control thrusters, sun sensors, star sensors, fibre optic gyros and accelerometers for attitude determination.\",\n", - " \"launch_date\": \"22 October 2008\",\n", - " \"launch_site\": \"SDSC, SHAR, Sriharikota\",\n", - " \"launch_vehicle\": \"PSLV - C11\",\n", - " \"orbit\": \"100 km x 100 km : Lunar Orbit\",\n", - " \"mission_life\": \"2 years\"\n", + " \"name\": \"\\n\\n IRS-1C\\n \\n\",\n", + " \"id\": 20,\n", + " \"mission\": \"Operational Remote Sensing\",\n", + " \"weight\": \"1250 kg\",\n", + " \"onboard_power\": \"809 Watts (generated by 9.6 sq.metres Solar Panels)\",\n", + " \"communication\": \"S-band, X-band\",\n", + " \"stabilization\": \"Three axis body stabilized (zero momentum) with 4 Reaction Wheels, Magnetic torquer\",\n", + " \"rcs\": \"Monopropellant Hydrazine based with sixteen 1 N thrusters & one 11N thrusters\",\n", + " \"payload\": \"Three solid state Push Broom Cameras: PAN (<6 metre solution )LlSS-3(23.6 metre resolution) and WiFS (189 metre resolution)\",\n", + " \"onboard_tape_recorder\": \"Storage Capacity : 62 G bits\",\n", + " \"launch_date\": \"December 28, 1995\",\n", + " \"launch_site\": \"Baikanur Cosmodrome Kazakhstan\",\n", + " \"launch_vehicle\": \"Molniya\",\n", + " \"orbit\": \"817 km Polar Sun-synchronous\",\n", + " \"inclination\": \"98.69o\",\n", + " \"repetivity\": \"24 days\",\n", + " \"local_time\": \"10.30 a.m\",\n", + " \"mission_completed_on\": \"September 21, 2007\"\n", " },\n", " {\n", - " \"name\": \"IMS-1\",\n", - " \"id\": 1,\n", - " \"orbit\": \"Polar Sun Synchronous\",\n", - " \"altitude\": \"635 km\",\n", - " \"mission_life\": \"2 years\",\n", - " \"physical_dimensions\": \"0.604x0.980x1.129 m\",\n", - " \"mass\": \"83 kg\",\n", - " \"power\": \"Two deployable sun pointing solar panels generating 220 W power, 105 Ah Lithium ion battery\",\n", - " \"telemetry,_tracking_and_command\": \"S-band\",\n", - " \"attitude_and_orbit_control_system\": \"Star Sensor, Miniature Sun Sensors, Magnetometers Gyros, Miniature Micro Reaction Wheels, Magnetic Torquers, single 1 N Hydrazine Thruster\",\n", - " \"data_handling\": \"S-band\",\n", - " \"data_storage\": \"16 Gb Solid State Recorder\"\n", + " \"name\": \"\\n\\n IRS-P3\\n \\n\",\n", + " \"id\": 21,\n", + " \"mission\": \"Remote sensing of earth's natural resources. Study of X-ray Astronomy. Periodic calibration of PSLV tracking radar located at tracking stations.\",\n", + " \"weight\": \"920 kg\",\n", + " \"onboard_power\": \"817 Watts\",\n", + " \"communication\": \"S-band\",\n", + " \"stabilization\": \"Three axis body stabilized\",\n", + " \"rcs\": \"Combinations of bladder type and surface tension type mass expulsion monopropellant hydrazine system\",\n", + " \"payload\": \"WideField Sensor (WiFS), Modular Opto - electronic Scanner (MOS), Indian X-ray Astronomy Experiment (IXAE), C-band transponder(CBT)\",\n", + " \"launch_date\": \"March 21, 1996\",\n", + " \"launch_site\": \"SHAR Centre, Sriharikota, India\",\n", + " \"launch_vehicle\": \"PSLV-D3\",\n", + " \"orbit\": \"817 km. Circular polar sun-synchronous with equatorial crossing at 10.30 am (descending node)\",\n", + " \"inclination\": \"98.68o\",\n", + " \"repetivity\": \"WiFS : 5 days\",\n", + " \"mission_completed_during\": \"January 2006\"\n", " },\n", " {\n", - " \"name\": \"CARTOSAT \\u2013\\n 2A\",\n", - " \"id\": 1,\n", - " \"mission\": \"Remote Sensing\",\n", - " \"weight\": \"690 Kg (Mass at lift off)\",\n", - " \"onboard_power\": \"900 Watts\",\n", - " \"stabilization\": \"3 \\u2013 axis body stabilised using high torque reaction wheels, magnetic torquers and hydrogen thrusters\",\n", - " \"payloads\": \"Panchromatic Camera\",\n", - " \"launch_date\": \"28 April 2008\",\n", - " \"launch_site\": \"SHAR Centre Sriharikota India\",\n", - " \"launch_vehicle\": \"PSLV- C9\",\n", - " \"orbit\": \"635 km, Polar Sun Synchronous\",\n", - " \"inclination\": \"97.94 deg\",\n", - " \"mission_life\": \"5 years\"\n", + " \"name\": \"\\n\\n INSAT-2D\\n \\n\",\n", + " \"id\": 22,\n", + " \"mission\": \"Communication\",\n", + " \"weight\": \"2079 kg with propellants, 995 kg dry weight\",\n", + " \"onboard_power\": \"1650 Watts\",\n", + " \"communication\": \"C, extended C, S and Ku bands\",\n", + " \"stabilization\": \"Three axis stabilized with two Momentum Wheels & one Reaction Wheel, Magnetic torquers\",\n", + " \"propulsion\": \"Integrated bipropellan stystem ( MMH and N2 04) With sixteen 22N thrusters and 440N LAM.\",\n", + " \"payload\": \"Transponders: 16C-band / extended C-band transponders (forFSS), 2 high power C-band transponders (for BSS), 1S-band transponder (for BSS),1C/S-band mobile communication transponder, 3 Ku-band transponders\",\n", + " \"launch_date\": \"June 4, 1997\",\n", + " \"launch_site\": \"French Guyana\",\n", + " \"launch_vehicle\": \"Arianev 4\",\n", + " \"orbit\": \"Geostationary 93,.5deg.E\",\n", + " \"inclination\": \"0 deg.\"\n", " },\n", " {\n", - " \"name\": \"INSAT-4CR\",\n", - " \"id\": 1,\n", - " \"mission\": \"Communication\",\n", - " \"weight\": \"2,130 kg (Mass at Lift \\u2013 off)\",\n", - " \"onboard_power\": \"3000 W\",\n", - " \"communication_payload\": \"12 Ku-band transponders employing 140 W Traveling Wave Tube Amplifiers (TWTA) Ku-band Beacon\",\n", - " \"launch_date\": \"September 2, 2007\",\n", - " \"launch_site\": \"SHAR, Sriharikota, India\",\n", - " \"launch_vehicle\": \"GSLV-F04\",\n", - " \"orbit\": \"Geosynchronous (74\\u00b0 E)\",\n", - " \"mission_life\": \"12 Years\"\n", + " \"name\": \"\\n\\n IRS-1D\\n \\n\",\n", + " \"id\": 23,\n", + " \"mission\": \"Operational Remote Sensing\",\n", + " \"weight\": \"1250 kg\",\n", + " \"onboard_power\": \"809 Watts (generated by 9.6 sq.metres Solar Panels)\",\n", + " \"communication\": \"S-band, X-band\",\n", + " \"stabilization\": \"Three axis body stabilized (zero momentum) with 4 Reaction Wheels, Magnetic torquer\",\n", + " \"rcs\": \"Monopropellant Hydrazine based with sixteen 1 N thrusters & one 11N thrusters\",\n", + " \"payload\": \"Three solid state Push Broom Cameras: PAN (<6 metre solution )LlSS-3(23.6 metre resolution) and WiFS (189 metre resolution)\",\n", + " \"onboard_tape_recorder\": \"Storage Capacity : 62 G bits\",\n", + " \"launch_date\": \"December 28, 1995\",\n", + " \"launch_site\": \"Baikanur Cosmodrome Kazakhstan\",\n", + " \"launch_vehicle\": \"Molniya\",\n", + " \"orbit\": \"817 km Polar Sun-synchronous\",\n", + " \"inclination\": \"98.69 o\",\n", + " \"repetivity\": \"24 days\",\n", + " \"local_time\": \"10.30 a.m\",\n", + " \"mission_completed_on\": \"September 21, 2007\"\n", " },\n", " {\n", - " \"name\": \"INSAT-4B\",\n", - " \"id\": 1,\n", - " \"mission\": \"Communication\",\n", - " \"weight\": \"3025 kg (at Lift \\u2013 off)\",\n", - " \"onboard_power\": \"5859 W\",\n", - " \"stabilization\": \"It uses 3 earth sensors, 2 digital sun sensors, 8 coarse analog sun sensors, 3 solar panel sun sensors and one sensor processing electronics. The wheels and wheel drive electronics were imported with indigenous wheel interface module to interface the wheel drive electronics and AOCE.\",\n", - " \"propulsion\": \"The propulsion system is employing 16 thrusters, 4 each located on east, west and AY sides and 2 each on north and south sides. There is one 440 N liquid apogee motor (using Mono Methyl Hydrazine (MMH) as fuel and oxides of Nitrogen (MON3 as oxidizer) and three pressurant tanks mounted on the LAM deck.\",\n", - " \"payload\": \"12 Ku band high power transponders covering Indian main land using 140W radiatively cooled TWTAs.\",\n", - " \"launch_date\": \"March 12, 2007\",\n", - " \"launch_site\": \"French Guiana\",\n", - " \"launch_vehicle\": \"Ariane5\",\n", - " \"orbit\": \"Geostationary (93.5o E Longitude)\",\n", - " \"mission_life\": \"12 Years\"\n", + " \"name\": \"\\n\\n INSAT-2E\\n \\n\",\n", + " \"id\": 24,\n", + " \"mission\": \"Communication and Meteorology\",\n", + " \"spacecraft_mass\": \"2,550 kg (Mass at Lift-off) 1150 kg (Dry mass)\",\n", + " \"launch_date\": \"03 April 1999\",\n", + " \"launch_site\": \"French Guyana\",\n", + " \"launch_vehicle\": \"Ariane \\u2013 42P\",\n", + " \"orbit\": \"Geosynchronous (83 deg east longitude)\"\n", " },\n", " {\n", - " \"name\": \"CARTOSAT-2\",\n", - " \"id\": 1,\n", - " \"mission\": \"Remote Sensing\",\n", - " \"weight\": \"650 Kg\",\n", - " \"onboard_orbit\": \"900 Watts\",\n", - " \"stabilization\": \"3 - axis body stabilised using high torque reaction wheels, magnetic torquers and thrusters\",\n", - " \"payloads\": \"Panchromatic Camera\",\n", - " \"launch_date\": \"10 January 2007\",\n", - " \"launch_site\": \"SHAR Centre Sriharikota India\",\n", - " \"launch_vehicle\": \"PSLV- C7\",\n", + " \"name\": \"\\n\\n Oceansat(IRS-P4)\\n \\n\",\n", + " \"id\": 25,\n", + " \"launch_date\": \"May 26, 1999\",\n", + " \"launch_site\": \"SHAR, Sriharikota\",\n", + " \"launch_vehicle\": \"PSLV - C2\",\n", " \"orbit\": \"Polar Sun Synchronous\",\n", - " \"mission_life\": \"5 years\"\n", + " \"altitude\": \"720 km\",\n", + " \"inclination\": \"98.28 deg\",\n", + " \"period\": \"99.31 min\",\n", + " \"local_time_of_eq._crossing\": \"12 noon\",\n", + " \"repetitivity_cycle\": \"2 days\",\n", + " \"size\": \"2.8m x 1.98m x 2.57m\",\n", + " \"mass_at_lift_off\": \"1050 kg\",\n", + " \"length_when_fully_deployed\": \"11.67 m\",\n", + " \"attitude_and_orbit_control\": \"3-axis body-stabilised using Reaction Wheels, Magnetic Torquers and Hydrazine Thrusters\",\n", + " \"power\": \"9.6 Sq.m Solar Array generating 750w Two 21 Ah Ni-Cd Batteries\",\n", + " \"mission_completed_on\": \"August 8, 2010\"\n", " },\n", " {\n", - " \"name\": \"INSAT-4A\",\n", - " \"id\": 1,\n", - " \"spacecraft_mass\": \"Lift off 3081 Kg Dry Mass 1386.55 Kg\",\n", - " \"orbit\": \"Geostationary ( 83o E)\",\n", - " \"power\": \"Solar Array to provide a power of 5922 W\",\n", - " \"battery\": \"Three 70 Ah Ni H2 Batteries for eclipse support of 4264 W\",\n", - " \"life\": \"12 Years\",\n", - " \"launch_date\": \"December 22, 2005\",\n", - " \"launch_vehicle\": \"ARIANE5-V169\"\n", + " \"name\": \"\\n\\n INSAT-3B\\n \\n\",\n", + " \"id\": 26,\n", + " \"mission\": \"Very long\",\n", + " \"spacecraft_mass\": \"2,070 (Mass at Lift \\u2013 off) 970 kg (Dry mass)\",\n", + " \"onboard_power\": \"1,712 W\",\n", + " \"stabilization\": \"3 \\u2013 axis body stabilised biased momentum control system using earth sensors, sun sensors, inertial reference unit, momentum / reaction wheels, magnetic torquers and unified bi-propellant thrusters.\",\n", + " \"propulsion\": \"Liquid Apogee Motor with fuel and oxidizer stored in separate titanium tanks and pressurant in Kevlar wound titanium tank.\",\n", + " \"payload\": \"12 extended C \\u2013 band Transponders Five Ku band Transponders Mobile Satellite Services (MSS)\",\n", + " \"launch_date\": \"22nd March 2000\",\n", + " \"launch_site\": \"French Guyana\",\n", + " \"launch_vehicle\": \"Ariane -5\",\n", + " \"orbit\": \"Geostationary (83 deg East longitude)\",\n", + " \"inclination\": \"7 deg\"\n", " },\n", " {\n", - " \"name\": \"CARTOSAT-1\",\n", - " \"id\": 1,\n", - " \"launch_date\": \"5 May 2005\",\n", + " \"name\": \"\\n PSLV-C3 / TES\\n \",\n", + " \"id\": 27,\n", + " \"launch_date\": \"22 October 2001\",\n", " \"launch_site\": \"SHAR Centre Sriharikota India\",\n", - " \"launch_vehicle\": \"PSLV- C6\",\n", - " \"orbit\": \"618 km Polar Sun Synchronous\",\n", - " \"payloads\": \"PAN FORE, PAN - AFT\",\n", - " \"orbit_period\": \"97 min\",\n", - " \"number_of_orbits_per_day\": \"14\",\n", - " \"local_time_of_equator_crossing\": \"10:30 am\",\n", - " \"repetivity\": \"126 days\",\n", - " \"revisit\": \"5 days\",\n", - " \"lift-off_mass\": \"1560 kg\",\n", - " \"attitude_and_orbit_control\": \"3-axis body stabillised using reaction wheels, Magnetic Torquers and Hydrazine Thrusters\",\n", - " \"electrical_power\": \"15 sqm Solar Array generating 1100w, Two 24 Ah Ni-Cd batteries\",\n", - " \"mission_life\": \"5 years\"\n", - " },\n", - " {\n", - " \"name\": \"HAMSAT\",\n", - " \"id\": 1,\n", - " \"launch_date\": \"May 5, 2005\",\n", - " \"launch_site\": \"SHAR Centre, Sriharikota, India\",\n", - " \"launch_vehicle\": \"PSLV-C6\",\n", - " \"orbit\": \"Geo-synchronous, 633.355 km (average)\",\n", - " \"payloads\": \"2 Transponders\"\n", - " },\n", - " {\n", - " \"name\": \"EDUSAT\",\n", - " \"id\": 1,\n", - " \"mission\": \"Education\",\n", - " \"spacecraft_mass\": \"1950.5 kg mass (at Lift - off) 819.4 kg (Dry mass)\",\n", - " \"onboard_power\": \"Total four solar panel of size 2.54 M x 1.525 M generating 2040 W (EOL), two 24 AH NiCd batteries for eclipse support\",\n", - " \"stabilization\": \"3 axis body stabilised in orbit using sensors, momentum and reaction wheels, magnetic torquers and eight 10 N & 22N reaction control thrusters.\",\n", - " \"propulsion\": \"440 N Liquid Apogee Motor with MON - 3 and MMH for orbit raising\",\n", - " \"payload\": \"Six upper extended C - band transponders Five lower Ku band transponders with regional beam coverage One lower Ku band National beam transponder with Indian main land coverage Ku beacon 12 C band high power transponders with extended coverage, covering southeast and northwest region apart from Indian main land using 63 W LTWTAs\",\n", - " \"launch_date\": \"September 20, 2004\",\n", - " \"launch_site\": \"SHAR, Sriharikota, India\",\n", - " \"launch_vehicle\": \"GSLV-F01\",\n", - " \"orbit\": \"Geostationary (74oE longitude)\",\n", - " \"mission_life\": \"7 Years (minimum)\"\n", + " \"launch_vehicle\": \"PSLV- C3\",\n", + " \"orbit\": \"572 km Sun Synchronous\",\n", + " \"payloads\": \"PAN\"\n", " },\n", " {\n", - " \"name\": \"IRS-P6 / RESOURCESAT-1\",\n", - " \"id\": 1,\n", - " \"launch_date\": \"October 17, 2003\",\n", - " \"launch_site\": \"SHAR, Sriharikota\",\n", - " \"launch_vehicle\": \"PSLV-C5\",\n", - " \"payloads\": \"LISS-4, LISS-3, AWiFS-A, AWiFS-B\",\n", - " \"orbit\": \"Polar Sun Synchronous\",\n", - " \"orbit_height\": \"817 km\",\n", - " \"orbit_inclination\": \"98.7o\",\n", - " \"orbit_period\": \"101.35 min\",\n", - " \"number_of_orbits_per_day\": \"14\",\n", - " \"local_time_of_equator_crossing\": \"10:30 am\",\n", - " \"repetivity_(liss-3)\": \"24 days\",\n", - " \"revisit\": \"5 days\",\n", - " \"lift-off_mass\": \"1360 kg\",\n", - " \"attitude_and_orbit_control\": \"3-axis body stabilised using Reaction Wheels, Magnetic Torquers and Hydrazine Thrusters\",\n", - " \"power\": \"Solar Array generating 1250 W, Two 24 Ah Ni-Cd batteries\",\n", - " \"mission_life\": \"5 years\"\n", + " \"name\": \"\\n\\n The Technology Experiment Satellite\\n (TES)\\n \\n\",\n", + " \"id\": 28,\n", + " \"launch_date\": \"22 October 2001\",\n", + " \"launch_site\": \"SHAR Centre Sriharikota India\",\n", + " \"launch_vehicle\": \"PSLV- C3\",\n", + " \"orbit\": \"572 km Sun Synchronous\",\n", + " \"payloads\": \"PAN\"\n", " },\n", " {\n", - " \"name\": \"INSAT-3E\",\n", - " \"id\": 1,\n", - " \"mission\": \"Communication\",\n", - " \"spacecraft_mass\": \"2,775 kg (Mass at Lift-off) 1218 kg (Dry mass)\",\n", - " \"launch_date\": \"September 28, 2003\",\n", + " \"name\": \"\\n\\n INSAT-3C\\n \\n\",\n", + " \"id\": 29,\n", + " \"mission\": \"Communication, broadcasting and Meteorology\",\n", + " \"spacecraft_mass\": \"2,650 kg (Mass at Lift - off) 1218 kg (Dry mass)\",\n", + " \"onboard_power\": \"2765 W\",\n", + " \"propulsion\": \"Liquid Apogee Motor with fuel and oxidizer stored in separate titanium tanks and pressurant in Kevlar wound titanium tank.\",\n", + " \"payload\": \"24 C band transponders 6 Extended C - band Transponders 2 S - band Transponders\",\n", + " \"launch_date\": \"January 24, 2002\",\n", " \"launch_site\": \"French Guyana\",\n", - " \"launch_vehicle\": \"Ariane5-V162\",\n", - " \"orbit\": \"Geostationary Orbit\"\n", + " \"launch_vehicle\": \"Ariane5-V147\",\n", + " \"orbit\": \"Geostationary (74o longitude)\",\n", + " \"mission_life\": \"Very long\"\n", " },\n", " {\n", - " \"name\": \"GSAT-2\",\n", - " \"id\": 1,\n", - " \"mission\": \"Communication\",\n", - " \"weight\": \"1800 kg\",\n", - " \"launch_date\": \"May 8, 2003\",\n", - " \"launch_site\": \"SHAR, Sriharikota, India\",\n", - " \"launch_vehicle\": \"GSLV\\u2013D2\",\n", - " \"orbit\": \"Geostationary orbit (48oE longitude)\"\n", + " \"name\": \"\\n\\n KALPANA-1\\n \\n\",\n", + " \"id\": 30,\n", + " \"mission\": \"7 Years\",\n", + " \"spacecraft_mass\": \"1060 kg mass (at Lift \\u2013 off) 498 kg (Dry mass)\",\n", + " \"onboard_power\": \"550 W\",\n", + " \"payload\": \"Very High Resolution Radiometer (VHRR) Data Relay Transponder (DRT)\",\n", + " \"launch_date\": \"12 September 2002\",\n", + " \"launch_site\": \"SHAR, Sriharikota\",\n", + " \"launch_vehicle\": \"PSLV \\u2013 C4\",\n", + " \"orbit\": \"Geostationary (74 deg East longitude)\"\n", " },\n", " {\n", - " \"name\": \"INSAT-3A\",\n", - " \"id\": 1,\n", + " \"name\": \"\\n\\n INSAT-3A\\n \\n\",\n", + " \"id\": 31,\n", " \"mission\": \"Telecommunication, broadcasting and Meteorology\",\n", " \"spacecraft_mass\": \"2,950 kg (Mass at Lift\\u2013off) 1,348 kg (Dry mass)\",\n", " \"onboard_power\": \"3,100 W\",\n", @@ -522,493 +573,330 @@ " \"mission_life\": \"12 Years\"\n", " },\n", " {\n", - " \"name\": \"KALPANA-1\",\n", - " \"id\": 1,\n", - " \"mission\": \"7 Years\",\n", - " \"spacecraft_mass\": \"1060 kg mass (at Lift \\u2013 off) 498 kg (Dry mass)\",\n", - " \"onboard_power\": \"550 W\",\n", - " \"payload\": \"Very High Resolution Radiometer (VHRR) Data Relay Transponder (DRT)\",\n", - " \"launch_date\": \"12 September 2002\",\n", - " \"launch_site\": \"SHAR, Sriharikota\",\n", - " \"launch_vehicle\": \"PSLV \\u2013 C4\",\n", - " \"orbit\": \"Geostationary (74 deg East longitude)\"\n", - " },\n", - " {\n", - " \"name\": \"INSAT-3C\",\n", - " \"id\": 1,\n", - " \"mission\": \"Communication, broadcasting and Meteorology\",\n", - " \"spacecraft_mass\": \"2,650 kg (Mass at Lift - off) 1218 kg (Dry mass)\",\n", - " \"onboard_power\": \"2765 W\",\n", - " \"propulsion\": \"Liquid Apogee Motor with fuel and oxidizer stored in separate titanium tanks and pressurant in Kevlar wound titanium tank.\",\n", - " \"payload\": \"24 C band transponders 6 Extended C - band Transponders 2 S - band Transponders\",\n", - " \"launch_date\": \"January 24, 2002\",\n", - " \"launch_site\": \"French Guyana\",\n", - " \"launch_vehicle\": \"Ariane5-V147\",\n", - " \"orbit\": \"Geostationary (74o longitude)\",\n", - " \"mission_life\": \"Very long\"\n", - " },\n", - " {\n", - " \"name\": \"The Technology Experiment Satellite\\n (TES)\",\n", - " \"id\": 1,\n", - " \"launch_date\": \"22 October 2001\",\n", - " \"launch_site\": \"SHAR Centre Sriharikota India\",\n", - " \"launch_vehicle\": \"PSLV- C3\",\n", - " \"orbit\": \"572 km Sun Synchronous\",\n", - " \"payloads\": \"PAN\"\n", - " },\n", - " {\n", - " \"name\": \"PSLV-C3 / TES\",\n", - " \"id\": 1,\n", - " \"launch_date\": \"22 October 2001\",\n", - " \"launch_site\": \"SHAR Centre Sriharikota India\",\n", - " \"launch_vehicle\": \"PSLV- C3\",\n", - " \"orbit\": \"572 km Sun Synchronous\",\n", - " \"payloads\": \"PAN\"\n", - " },\n", - " {\n", - " \"name\": \"GSAT-1\",\n", - " \"id\": 1,\n", + " \"name\": \"\\n\\n INSAT-3E\\n \\n\",\n", + " \"id\": 32,\n", " \"mission\": \"Communication\",\n", - " \"weight\": \"1530 kg\",\n", - " \"launch_date\": \"18 April 2001\",\n", - " \"launch_site\": \"SHAR, Sriharikota\",\n", - " \"launch_vehicle\": \"GSLV \\u2013 D1\",\n", - " \"orbit\": \"Sun Synchronous Geo stationary orbit\"\n", - " },\n", - " {\n", - " \"name\": \"INSAT-3B\",\n", - " \"id\": 1,\n", - " \"mission\": \"Very long\",\n", - " \"spacecraft_mass\": \"2,070 (Mass at Lift \\u2013 off) 970 kg (Dry mass)\",\n", - " \"onboard_power\": \"1,712 W\",\n", - " \"stabilization\": \"3 \\u2013 axis body stabilised biased momentum control system using earth sensors, sun sensors, inertial reference unit, momentum / reaction wheels, magnetic torquers and unified bi-propellant thrusters.\",\n", - " \"propulsion\": \"Liquid Apogee Motor with fuel and oxidizer stored in separate titanium tanks and pressurant in Kevlar wound titanium tank.\",\n", - " \"payload\": \"12 extended C \\u2013 band Transponders Five Ku band Transponders Mobile Satellite Services (MSS)\",\n", - " \"launch_date\": \"22nd March 2000\",\n", + " \"spacecraft_mass\": \"2,775 kg (Mass at Lift-off) 1218 kg (Dry mass)\",\n", + " \"launch_date\": \"September 28, 2003\",\n", " \"launch_site\": \"French Guyana\",\n", - " \"launch_vehicle\": \"Ariane -5\",\n", - " \"orbit\": \"Geostationary (83 deg East longitude)\",\n", - " \"inclination\": \"7 deg\"\n", + " \"launch_vehicle\": \"Ariane5-V162\",\n", + " \"orbit\": \"Geostationary Orbit\"\n", " },\n", " {\n", - " \"name\": \"Oceansat(IRS-P4)\",\n", - " \"id\": 1,\n", - " \"launch_date\": \"May 26, 1999\",\n", + " \"name\": \"\\n\\n IRS-P6 / RESOURCESAT-1\\n \\n\",\n", + " \"id\": 33,\n", + " \"launch_date\": \"October 17, 2003\",\n", " \"launch_site\": \"SHAR, Sriharikota\",\n", - " \"launch_vehicle\": \"PSLV - C2\",\n", + " \"launch_vehicle\": \"PSLV-C5\",\n", + " \"payloads\": \"LISS-4, LISS-3, AWiFS-A, AWiFS-B\",\n", " \"orbit\": \"Polar Sun Synchronous\",\n", - " \"altitude\": \"720 km\",\n", - " \"inclination\": \"98.28 deg\",\n", - " \"period\": \"99.31 min\",\n", - " \"local_time_of_eq._crossing\": \"12 noon\",\n", - " \"repetitivity_cycle\": \"2 days\",\n", - " \"size\": \"2.8m x 1.98m x 2.57m\",\n", - " \"mass_at_lift_off\": \"1050 kg\",\n", - " \"length_when_fully_deployed\": \"11.67 m\",\n", - " \"attitude_and_orbit_control\": \"3-axis body-stabilised using Reaction Wheels, Magnetic Torquers and Hydrazine Thrusters\",\n", - " \"power\": \"9.6 Sq.m Solar Array generating 750w Two 21 Ah Ni-Cd Batteries\",\n", - " \"mission_completed_on\": \"August 8, 2010\"\n", - " },\n", - " {\n", - " \"name\": \"INSAT-2E\",\n", - " \"id\": 1,\n", - " \"mission\": \"Communication and Meteorology\",\n", - " \"spacecraft_mass\": \"2,550 kg (Mass at Lift-off) 1150 kg (Dry mass)\",\n", - " \"launch_date\": \"03 April 1999\",\n", - " \"launch_site\": \"French Guyana\",\n", - " \"launch_vehicle\": \"Ariane \\u2013 42P\",\n", - " \"orbit\": \"Geosynchronous (83 deg east longitude)\"\n", + " \"orbit_height\": \"817 km\",\n", + " \"orbit_inclination\": \"98.7 o\",\n", + " \"orbit_period\": \"101.35 min\",\n", + " \"number_of_orbits_per_day\": \"14\",\n", + " \"local_time_of_equator_crossing\": \"10:30 am\",\n", + " \"repetivity_(liss-3)\": \"24 days\",\n", + " \"revisit\": \"5 days\",\n", + " \"lift-off_mass\": \"1360 kg\",\n", + " \"attitude_and_orbit_control\": \"3-axis body stabilised using Reaction Wheels, Magnetic Torquers and Hydrazine Thrusters\",\n", + " \"power\": \"Solar Array generating 1250 W, Two 24 Ah Ni-Cd batteries\",\n", + " \"mission_life\": \"5 years\"\n", " },\n", " {\n", - " \"name\": \"IRS-1D\",\n", - " \"id\": 1,\n", - " \"mission\": \"Operational Remote Sensing\",\n", - " \"weight\": \"1250 kg\",\n", - " \"onboard_power\": \"809 Watts (generated by 9.6 sq.metres Solar Panels)\",\n", - " \"communication\": \"S-band, X-band\",\n", - " \"stabilization\": \"Three axis body stabilized (zero momentum) with 4 Reaction Wheels, Magnetic torquer\",\n", - " \"rcs\": \"Monopropellant Hydrazine based with sixteen 1 N thrusters & one 11N thrusters\",\n", - " \"payload\": \"Three solid state Push Broom Cameras: PAN (<6 metre solution )LlSS-3(23.6 metre resolution) and WiFS (189 metre resolution)\",\n", - " \"onboard_tape_recorder\": \"Storage Capacity : 62 G bits\",\n", - " \"launch_date\": \"December 28, 1995\",\n", - " \"launch_site\": \"Baikanur Cosmodrome Kazakhstan\",\n", - " \"launch_vehicle\": \"Molniya\",\n", - " \"orbit\": \"817 km Polar Sun-synchronous\",\n", - " \"inclination\": \"98.69o\",\n", - " \"repetivity\": \"24 days\",\n", - " \"local_time\": \"10.30 a.m\",\n", - " \"mission_completed_on\": \"September 21, 2007\"\n", + " \"name\": \"\\n\\n EDUSAT\\n \\n\",\n", + " \"id\": 34,\n", + " \"mission\": \"Education\",\n", + " \"spacecraft_mass\": \"1950.5 kg mass (at Lift - off) 819.4 kg (Dry mass)\",\n", + " \"onboard_power\": \"Total four solar panel of size 2.54 M x 1.525 M generating 2040 W (EOL), two 24 AH NiCd batteries for eclipse support\",\n", + " \"stabilization\": \"3 axis body stabilised in orbit using sensors, momentum and reaction wheels, magnetic torquers and eight 10 N & 22N reaction control thrusters.\",\n", + " \"propulsion\": \"440 N Liquid Apogee Motor with MON - 3 and MMH for orbit raising\",\n", + " \"payload\": \"Six upper extended C - band transponders Five lower Ku band transponders with regional beam coverage One lower Ku band National beam transponder with Indian main land coverage Ku beacon 12 C band high power transponders with extended coverage, covering southeast and northwest region apart from Indian main land using 63 W LTWTAs\",\n", + " \"launch_date\": \"September 20, 2004\",\n", + " \"launch_site\": \"SHAR, Sriharikota, India\",\n", + " \"launch_vehicle\": \"GSLV-F01\",\n", + " \"orbit\": \"Geostationary (74 o E longitude)\",\n", + " \"mission_life\": \"7 Years (minimum)\"\n", " },\n", " {\n", - " \"name\": \"INSAT-2D\",\n", - " \"id\": 1,\n", - " \"mission\": \"Communication\",\n", - " \"weight\": \"2079 kg with propellants, 995 kg dry weight\",\n", - " \"onboard_power\": \"1650 Watts\",\n", - " \"communication\": \"C, extended C, S and Ku bands\",\n", - " \"stabilization\": \"Three axis stabilized with two Momentum Wheels & one Reaction Wheel, Magnetic torquers\",\n", - " \"propulsion\": \"Integrated bipropellan stystem ( MMH and N2 04) With sixteen 22N thrusters and 440N LAM.\",\n", - " \"payload\": \"Transponders: 16C-band / extended C-band transponders (forFSS), 2 high power C-band transponders (for BSS), 1S-band transponder (for BSS),1C/S-band mobile communication transponder, 3 Ku-band transponders\",\n", - " \"launch_date\": \"June 4, 1997\",\n", - " \"launch_site\": \"French Guyana\",\n", - " \"launch_vehicle\": \"Arianev 4\",\n", - " \"orbit\": \"Geostationary 93,.5deg.E\",\n", - " \"inclination\": \"0 deg.\"\n", + " \"name\": \"\\n\\n CARTOSAT-1\\n \\n\",\n", + " \"id\": 35,\n", + " \"launch_date\": \"5 May 2005\",\n", + " \"launch_site\": \"SHAR Centre Sriharikota India\",\n", + " \"launch_vehicle\": \"PSLV- C6\",\n", + " \"orbit\": \"618 km Polar Sun Synchronous\",\n", + " \"payloads\": \"PAN FORE, PAN - AFT\",\n", + " \"orbit_period\": \"97 min\",\n", + " \"number_of_orbits_per_day\": \"14\",\n", + " \"local_time_of_equator_crossing\": \"10:30 am\",\n", + " \"repetivity\": \"126 days\",\n", + " \"revisit\": \"5 days\",\n", + " \"lift-off_mass\": \"1560 kg\",\n", + " \"attitude_and_orbit_control\": \"3-axis body stabillised using reaction wheels, Magnetic Torquers and Hydrazine Thrusters\",\n", + " \"electrical_power\": \"15 sqm Solar Array generating 1100w, Two 24 Ah Ni-Cd batteries\",\n", + " \"mission_life\": \"5 years\"\n", " },\n", " {\n", - " \"name\": \"IRS-P3\",\n", - " \"id\": 1,\n", - " \"mission\": \"Remote sensing of earth's natural resources. Study of X-ray Astronomy. Periodic calibration of PSLV tracking radar located at tracking stations.\",\n", - " \"weight\": \"920 kg\",\n", - " \"onboard_power\": \"817 Watts\",\n", - " \"communication\": \"S-band\",\n", - " \"stabilization\": \"Three axis body stabilized\",\n", - " \"rcs\": \"Combinations of bladder type and surface tension type mass expulsion monopropellant hydrazine system\",\n", - " \"payload\": \"WideField Sensor (WiFS), Modular Opto - electronic Scanner (MOS), Indian X-ray Astronomy Experiment (IXAE), C-band transponder(CBT)\",\n", - " \"launch_date\": \"March 21, 1996\",\n", - " \"launch_site\": \"SHAR Centre, Sriharikota, India\",\n", - " \"launch_vehicle\": \"PSLV-D3\",\n", - " \"orbit\": \"817 km. Circular polar sun-synchronous with equatorial crossing at 10.30 am (descending node)\",\n", - " \"inclination\": \"98.68o\",\n", - " \"repetivity\": \"WiFS : 5 days\",\n", - " \"mission_completed_during\": \"January 2006\"\n", + " \"name\": \"\\n\\n INSAT-4A\\n \\n\",\n", + " \"id\": 36,\n", + " \"spacecraft_mass\": \"Lift off 3081 Kg Dry Mass 1386.55 Kg\",\n", + " \"orbit\": \"Geostationary ( 83o E)\",\n", + " \"power\": \"Solar Array to provide a power of 5922 W\",\n", + " \"battery\": \"Three 70 Ah Ni H2 Batteries for eclipse support of 4264 W\",\n", + " \"life\": \"12 Years\",\n", + " \"launch_date\": \"December 22, 2005\",\n", + " \"launch_vehicle\": \"ARIANE5-V169\"\n", " },\n", " {\n", - " \"name\": \"IRS-1C\",\n", - " \"id\": 1,\n", - " \"mission\": \"Operational Remote Sensing\",\n", - " \"weight\": \"1250 kg\",\n", - " \"onboard_power\": \"809 Watts (generated by 9.6 sq.metres Solar Panels)\",\n", - " \"communication\": \"S-band, X-band\",\n", - " \"stabilization\": \"Three axis body stabilized (zero momentum) with 4 Reaction Wheels, Magnetic torquer\",\n", - " \"rcs\": \"Monopropellant Hydrazine based with sixteen 1 N thrusters & one 11N thrusters\",\n", - " \"payload\": \"Three solid state Push Broom Cameras: PAN (<6 metre solution )LlSS-3(23.6 metre resolution) and WiFS (189 metre resolution)\",\n", - " \"onboard_tape_recorder\": \"Storage Capacity : 62 G bits\",\n", - " \"launch_date\": \"December 28, 1995\",\n", - " \"launch_site\": \"Baikanur Cosmodrome Kazakhstan\",\n", - " \"launch_vehicle\": \"Molniya\",\n", - " \"orbit\": \"817 km Polar Sun-synchronous\",\n", - " \"inclination\": \"98.69o\",\n", - " \"repetivity\": \"24 days\",\n", - " \"local_time\": \"10.30 a.m\",\n", - " \"mission_completed_on\": \"September 21, 2007\"\n", + " \"name\": \"\\n\\n CARTOSAT-2\\n \\n\",\n", + " \"id\": 37,\n", + " \"mission\": \"Remote Sensing\",\n", + " \"weight\": \"650 Kg\",\n", + " \"onboard_orbit\": \"900 Watts\",\n", + " \"stabilization\": \"3 - axis body stabilised using high torque reaction wheels, magnetic torquers and thrusters\",\n", + " \"payloads\": \"Panchromatic Camera\",\n", + " \"launch_date\": \"10 January 2007\",\n", + " \"launch_site\": \"SHAR Centre Sriharikota India\",\n", + " \"launch_vehicle\": \"PSLV- C7\",\n", + " \"orbit\": \"Polar Sun Synchronous\",\n", + " \"mission_life\": \"5 years\"\n", " },\n", " {\n", - " \"name\": \"INSAT-2C\",\n", - " \"id\": 1,\n", + " \"name\": \"\\n\\n INSAT-4B\\n \\n\",\n", + " \"id\": 38,\n", " \"mission\": \"Communication\",\n", - " \"weight\": \"2106 kg with propellants 946 kg dry weight\",\n", - " \"onboard_power\": \"1320 Watts\",\n", - " \"communication\": \"C extended C, S and Ku bands\",\n", - " \"stabilization\": \"Three axis stabilized with two Momen'tum Wheels & one Reaction Wheel, Magnetic torquers\",\n", - " \"propulsion\": \"Integrated bipropellant system ( MMH and N2 04) With sixteen 22N thrusters and 440N LAM.\",\n", - " \"payload\": \"Transponders: 16C-band / extended C-band transponders (for FSS), 2 high power C-band transponders (for BSS), 1S-band transponder (for BSS),1C/S-band mobile communication transponder, 3 Ku-band transponders\",\n", - " \"launch_date\": \"December 7, 1995\",\n", - " \"launch_site\": \"French Guyana\",\n", - " \"launch_vehicle\": \"Ariane4\",\n", - " \"orbit\": \"Geostationary 93.5 deg E\",\n", - " \"inclination\": \"0 deg.\",\n", - " \"mission_life\": \"Seven years(nominal)\",\n", - " \"orbit_life\": \"Very Long\"\n", - " },\n", - " {\n", - " \"name\": \"IRS-P2\",\n", - " \"id\": 1,\n", - " \"mission\": \"Operational Remote Sensing\",\n", - " \"weight\": \"804 kg\",\n", - " \"onboard_power\": \"510 Watts\",\n", - " \"communication\": \"S-band, X-band\",\n", - " \"stabilization\": \"Three axis body stabilized with 4 Reaction Wheels, Magnetic torquers\",\n", - " \"rcs\": \"4 tanks containing Monopropellant Hydrazine based with sixteen 1 N thrusters and one 11 N thruster\",\n", - " \"payload\": \"Two solid state Push Broom Cameras operating in four spectral bands in the visible and near-IR range using CCD arrays: LlSS-2A & LlSS-2B (Resolution: 32.74 metre)\",\n", - " \"launch_date\": \"October 15, 1994\",\n", - " \"launch_site\": \"SHAR Centre, Sriharikota, India\",\n", - " \"launch_vehicle\": \"PSLV-D2\",\n", - " \"inclination\": \"98.68o\",\n", - " \"repetivity\": \"24 days\",\n", - " \"mission_completed_on\": \"1997\"\n", - " },\n", - " {\n", - " \"name\": \"SROSS-C2\\n \",\n", - " \"id\": 1,\n", - " \"mission\": \"Experimental\",\n", - " \"weight\": \"115 kg\",\n", - " \"onboard_power\": \"45 Watts\",\n", - " \"communication\": \"S-band and VHF\",\n", - " \"rcs\": \"Monopropellant Hydrazine based with six 1 Newton thrusters\",\n", - " \"payload\": \"Gamma Ray Burst (GRB) & Retarding Potential Analyser (RPA)\",\n", - " \"launch_date\": \"May 04,1994\",\n", - " \"launch_site\": \"SHAR Centre,Sriharikota,India\",\n", - " \"launch_vehicle\": \"Augmented Satellite Launch Vehicle (ASLV)\",\n", - " \"orbit\": \"430 x 600 km.\",\n", - " \"inclination\": \"45 deg.\",\n", - " \"mission_life\": \"Six months (nominal)\",\n", - " \"orbital_life\": \"Two years (nominal)\"\n", - " },\n", - " {\n", - " \"name\": \"IRS-1E\",\n", - " \"id\": 1,\n", - " \"mission\": \"Operational Remote Sensing\",\n", - " \"weight\": \"846 kg\",\n", - " \"onboard_power\": \"415 Watts\",\n", - " \"communication\": \"S-band (TIC) & VHF\",\n", - " \"stabilization\": \"Three axis body stabilized ( zero momentum) with 4 Reaction Wheels, Magnetic torquers\",\n", - " \"rcs\": \"Monopropellant Hydrazine based RCS with 1 Newton thrusters ( 16 Nos.)\",\n", - " \"payload\": \"LlSS-1 MEOSS (Mono-ocula Erlectro Optic Stereo Scanner)\",\n", - " \"launch_date\": \"September 20, 1993\",\n", - " \"launch_site\": \"SHAR Centre, Sriharikota, India\",\n", - " \"launch_vehicle\": \"PSLV-D1\",\n", - " \"orbit\": \"Not realised\"\n", + " \"weight\": \"3025 kg (at Lift \\u2013 off)\",\n", + " \"onboard_power\": \"5859 W\",\n", + " \"stabilization\": \"It uses 3 earth sensors, 2 digital sun sensors, 8 coarse analog sun sensors, 3 solar panel sun sensors and one sensor processing electronics. The wheels and wheel drive electronics were imported with indigenous wheel interface module to interface the wheel drive electronics and AOCE.\",\n", + " \"propulsion\": \"The propulsion system is employing 16 thrusters, 4 each located on east, west and AY sides and 2 each on north and south sides. There is one 440 N liquid apogee motor (using Mono Methyl Hydrazine (MMH) as fuel and oxides of Nitrogen (MON3 as oxidizer) and three pressurant tanks mounted on the LAM deck.\",\n", + " \"payload\": \"12 Ku band high power transponders covering Indian main land using 140W radiatively cooled TWTAs.\",\n", + " \"launch_date\": \"March 12, 2007\",\n", + " \"launch_site\": \"French Guiana\",\n", + " \"launch_vehicle\": \"Ariane5\",\n", + " \"orbit\": \"Geostationary (93.5 o E Longitude)\",\n", + " \"mission_life\": \"12 Years\"\n", " },\n", " {\n", - " \"name\": \"INSAT-2B\",\n", - " \"id\": 1,\n", - " \"mission\": \"Multipurpose Communication, meteorology and Satellite based search and rescue\",\n", - " \"weight\": \"1906 kg with propellant 916 kg dry weight\",\n", - " \"onboard_power\": \"One KW approx.\",\n", - " \"communication\": \"C, extended C and S band\",\n", - " \"stabilization\": \"Three axis body stabilized with two Momentum Wheels & one Reaction Wheel, Magnetic torquers\",\n", - " \"propulsion\": \"Integrated bipropellant system ( MMH and N2 04) With sixteen 22 N thrusters and 440 N LAM.\",\n", - " \"payload\": \"Transponders: 12C-band (for FSS),6 ext. C-band (for FSS) 2S-band (for BSS),1Data relay transponder (for met.data), 1 transponder for research and rescue, Very High Resolution radiometer (VHRR) for meteorological observation with 2 km resolution in the visible and 8 km resolution in the IR band\",\n", - " \"launch_date\": \"July 23, 1993\",\n", - " \"launch_site\": \"French Guyana\",\n", - " \"launch_vehicle\": \"Ariane 4\",\n", - " \"orbit\": \"Geostationary 93.5o E\",\n", - " \"inclination\": \"0o\",\n", - " \"mission_life\": \"Seven years(nominal)\",\n", - " \"orbit_life\": \"Very Long\"\n", + " \"name\": \"\\n\\n INSAT-4CR\\n \\n\",\n", + " \"id\": 39,\n", + " \"mission\": \"Communication\",\n", + " \"weight\": \"2,130 kg (Mass at Lift \\u2013 off)\",\n", + " \"onboard_power\": \"3000 W\",\n", + " \"communication_payload\": \"12 Ku-band transponders employing 140 W Traveling Wave Tube Amplifiers (TWTA) Ku-band Beacon\",\n", + " \"launch_date\": \"September 2, 2007\",\n", + " \"launch_site\": \"SHAR, Sriharikota, India\",\n", + " \"launch_vehicle\": \"GSLV-F04\",\n", + " \"orbit\": \"Geosynchronous (74\\u00b0 E)\",\n", + " \"mission_life\": \"12 Years\"\n", " },\n", " {\n", - " \"name\": \"INSAT-2A\",\n", - " \"id\": 1,\n", - " \"mission\": \"Multipurpose Communication, meteorology and Satellite based search and rescue\",\n", - " \"weight\": \"1906 kg with propellant 916 kg dry weight\",\n", - " \"onboard_power\": \"One KW approx\",\n", - " \"communication\": \"C, extended C and S band\",\n", - " \"stabilization\": \"Three axis body stabilized with two Momentum Wheels & one Reaction Wheel, Magnetic torquers\",\n", - " \"propulsion\": \"Integrated bipropellant system (MMH and N2 04) With sixteen 22 N thrusters and 440 LAM.\",\n", - " \"payload\": \"Transponders: 12 C-band (for FSS),6 ext. C-band (for FSS) 2 S-band (for BSS),1Data relay transponder (for met.data), 1 transponder for research and rescue, Very High Resolution radiometer (VHRR) for\\u00a0meteorological observation with 2 km resolution in the visible and 8 km resolution in the IR band\",\n", - " \"launch_date\": \"July 10,1992\",\n", - " \"launch_site\": \"French Guyana\",\n", - " \"launch_vehicle\": \"Ariane 4\",\n", - " \"orbit\": \"Geostationary 74oE longitude\",\n", - " \"inclination\": \"0o\",\n", - " \"mission_life\": \"Seven years(nominal)\",\n", - " \"orbit_life\": \"Very Long\"\n", + " \"name\": \"\\n\\n CARTOSAT \\u2013\\n 2A\\n \\n\",\n", + " \"id\": 40,\n", + " \"mission\": \"Remote Sensing\",\n", + " \"weight\": \"690 Kg (Mass at lift off)\",\n", + " \"onboard_power\": \"900 Watts\",\n", + " \"stabilization\": \"3 \\u2013 axis body stabilised using high torque reaction wheels, magnetic torquers and hydrogen thrusters\",\n", + " \"payloads\": \"Panchromatic Camera\",\n", + " \"launch_date\": \"28 April 2008\",\n", + " \"launch_site\": \"SHAR Centre Sriharikota India\",\n", + " \"launch_vehicle\": \"PSLV- C9\",\n", + " \"orbit\": \"635 km, Polar Sun Synchronous\",\n", + " \"inclination\": \"97.94 deg\",\n", + " \"mission_life\": \"5 years\"\n", " },\n", " {\n", - " \"name\": \"SROSS-C\\n\",\n", - " \"id\": 1,\n", - " \"mission\": \"Experimental\",\n", - " \"weight\": \"106.1 kg\",\n", - " \"onboard_power\": \"45 Watts\",\n", - " \"communication\": \"S-band and VHF\",\n", - " \"stabilization\": \"Spin stabilized with a Magnetic Torquer and Magnetic Bias Control\",\n", - " \"payload\": \"Gamma Ray Burst (GRB) experiment & Retarding Potential Analyser (RPA) experiment\",\n", - " \"launch_date\": \"May 20,1992\",\n", - " \"launch_site\": \"SHAR Centre, Sriharikota, India\",\n", - " \"launch_vehicle\": \"Augmented Satellite Launch Vehicle (ASLV)\",\n", - " \"orbit\": \"267 x 391 km\",\n", - " \"mission_life\": \"Two months (Re-entered on July15,1992)\"\n", + " \"name\": \"\\n\\n IMS-1\\n \\n\",\n", + " \"id\": 41,\n", + " \"orbit\": \"Polar Sun Synchronous\",\n", + " \"altitude\": \"635 km\",\n", + " \"mission_life\": \"2 years\",\n", + " \"physical_dimensions\": \"0.604x0.980x1.129 m\",\n", + " \"mass\": \"83 kg\",\n", + " \"power\": \"Two deployable sun pointing solar panels generating 220 W power, 105 Ah Lithium ion battery\",\n", + " \"telemetry,_tracking_and_command\": \"S-band\",\n", + " \"attitude_and_orbit_control_system\": \"Star Sensor, Miniature Sun Sensors, Magnetometers Gyros, Miniature Micro Reaction Wheels, Magnetic Torquers, single 1 N Hydrazine Thruster\",\n", + " \"data_handling\": \"S-band\",\n", + " \"data_storage\": \"16 Gb Solid State Recorder\"\n", " },\n", " {\n", - " \"name\": \"IRS-1B\",\n", - " \"id\": 1,\n", - " \"mission\": \"Operational Remote Sensing\",\n", - " \"weight\": \"975 kg\",\n", - " \"onboard_power\": \"600 Watts\",\n", - " \"communication\": \"S-band, X-band and VHF (commanding only)\",\n", - " \"stabilization\": \"Three axis body stabilized (zero momentum) with 4 Reactions Wheels, Magnetic torquers\",\n", - " \"rcs\": \"Monopropellant Hydrazine based with sixteen 1 Newton thrusters\",\n", - " \"payload\": \"Three solid state Push Broom Cameras LlSS-1 (72.5 metre resolution), LlSS-2A and LlSS-2B (36.25 metre resolution)\",\n", - " \"launch_date\": \"August 29, 1991\",\n", - " \"launch_site\": \"Baikanur Cosmodrome Kazakhstan\",\n", - " \"launch_vehicle\": \"Vostok\",\n", - " \"orbit\": \"904 km Polar Sun Synchronous\",\n", - " \"inclination\": \"99.08o\",\n", - " \"repetivity\": \"22 days\",\n", - " \"local_time\": \"10.30 a.m. (descending node)\",\n", - " \"mission_completed_on\": \"December 20, 2003\"\n", + " \"name\": \"\\n\\n Chandrayaan-1\\n \\n\",\n", + " \"id\": 42,\n", + " \"mission\": \"Remote Sensing, Planetary Science\",\n", + " \"weight\": \"1380 kg (Mass at lift off)\",\n", + " \"onboard_power\": \"700 Watts\",\n", + " \"stabilization\": \"3 - axis stabilised using reaction wheel and attitude control thrusters, sun sensors, star sensors, fibre optic gyros and accelerometers for attitude determination.\",\n", + " \"launch_date\": \"22 October 2008\",\n", + " \"launch_site\": \"SDSC, SHAR, Sriharikota\",\n", + " \"launch_vehicle\": \"PSLV - C11\",\n", + " \"orbit\": \"100 km x 100 km : Lunar Orbit\",\n", + " \"mission_life\": \"2 years\"\n", " },\n", " {\n", - " \"name\": \"SROSS-2\",\n", - " \"id\": 1,\n", - " \"mission\": \"Experimental\",\n", - " \"weight\": \"150 kg\",\n", - " \"onboard_power\": \"90 Watts\",\n", - " \"communication\": \"S-band and VHF\",\n", - " \"stabilization\": \"Three axis body stabilized (biased momentum) with a Momentum Wheel and Magnetic Torquer\",\n", - " \"propulsion_system\": \"Monopropellant (Hydrazine based) Reaction Control System\",\n", - " \"payload\": \"Gamma Ray Burst (GRB) payload and Mono Payload Ocular Electro-Optic Stereo Scanner (MEOSS) built by DLR, Germany\",\n", - " \"launch_date\": \"July 13, 1988\",\n", - " \"launch_site\": \"SHAR Centre, Sriharikota, India\",\n", - " \"launch_vehicle\": \"Augmented Satellite Launch Vehicle (ASLV)\",\n", - " \"orbit\": \"Not realised\"\n", + " \"name\": \"\\n\\n RISAT-2\\n \\n\",\n", + " \"id\": 43,\n", + " \"altitude\": \"550 km\",\n", + " \"inclination\": \"41 deg\",\n", + " \"orbit_period\": \"90 minutes\",\n", + " \"mass\": \"300 kg\"\n", " },\n", " {\n", - " \"name\": \"IRS-1A\",\n", - " \"id\": 1,\n", - " \"mission\": \"Operational Remote Sensing\",\n", - " \"weight\": \"975 kg\",\n", - " \"onboard_power\": \"600 Watts\",\n", - " \"communication\": \"S-band, X-band and VHF(commanding only)\",\n", - " \"stabilization\": \"Three axis body stabilized (zero momentum) with 4 Reactions Wheels, Magnetic torquers\",\n", - " \"rcs\": \"Monopropellant Hydrazine based with sixteen 1 Newton thrusters\",\n", - " \"payload\": \"Three solid state Push Broom Cameras: LISS-1(72.5 metre resolution), LISS-2A and LISS-2B (36.25 metre resolution)\",\n", - " \"launch_date\": \"March 17, 1988\",\n", - " \"launch_site\": \"Baikanur Cosmodrome Kazakhstan\",\n", - " \"launch_vehicle\": \"Vostok\",\n", - " \"orbit\": \"904 km Polar Sun-synchronous\",\n", - " \"inclination\": \"99.08o\",\n", - " \"repetivity\": \"22 days (307 orbits)\",\n", - " \"local_time\": \"10.30 a.m. (descending node)\",\n", - " \"mission_completed_during\": \"July 1996\"\n", + " \"name\": \"\\n\\n Oceansat-2\\n \\n\",\n", + " \"id\": 44,\n", + " \"date\": \"Sept 23, 2009\",\n", + " \"launch_site\": \"SHAR, Sriharikota\",\n", + " \"launch_vehicle\": \"PSLV - C14\",\n", + " \"orbit\": \"Polar Sun Synchronous\",\n", + " \"altitude\": \"720 km\",\n", + " \"inclination\": \"98.28\\u00b0\",\n", + " \"period\": \"99.31 minutes\",\n", + " \"local_time_of_eq._crossing\": \"12 noon \\u00b1 10 minutes\",\n", + " \"repetitivity_cycle\": \"2 days\",\n", + " \"payloads\": \"OCM, SCAT and ROSA\",\n", + " \"mass_at_lift_off\": \"960 kg\",\n", + " \"power\": \"15 Sq.m Solar panels generating 1360W, Two 24 Ah Ni-Cd Batteries\",\n", + " \"mission_life\": \"5 years\"\n", " },\n", " {\n", - " \"name\": \"SROSS-1\\n\",\n", - " \"id\": 1,\n", - " \"mission\": \"Experimental\",\n", - " \"weight\": \"150 kg\",\n", - " \"onboard_power\": \"90 Watts\",\n", - " \"communication\": \"S-band and VHF\",\n", - " \"stabilization\": \"Three axis body stabilized (biased momentum) with a Momentum Wheel and Magnetic Torquer\",\n", - " \"propulsion_system\": \"Monopropellant (Hydrazine based) Reaction control system\",\n", - " \"payload\": \"Launch Vehicle Monitoring Platform(LVMP), Gamma Ray Burst (GRB) payload and Corner Cube Retro Reflector (CCRR) for laser tracking\",\n", - " \"launch_date\": \"March 24, 1987\",\n", - " \"launch_site\": \"SHAR Centre, Sriharikota, India\",\n", - " \"launch_vehicle\": \"Augmented Satellite Launch Vehicle (ASLV)\",\n", - " \"orbital_life\": \"Not realised\"\n", + " \"name\": \"\\n\\n CARTOSAT-2B\\n \\n\",\n", + " \"id\": 45,\n", + " \"mission\": \"Remote Sensing\",\n", + " \"weight\": \"694 kg (Mass at lift off)\",\n", + " \"onboard_orbit\": \"930 Watts\",\n", + " \"stabilization\": \"3 \\u2013 axis body stabilised based on inputs from star sensors and gyros using Reaction wheels, Magnetic Torquers and Hydrazine Thrusters\",\n", + " \"payloads\": \"Panchromatic Camera\",\n", + " \"launch_date\": \"July 12, 2010\",\n", + " \"launch_site\": \"SHAR Centre Sriharikota India\",\n", + " \"launch_vehicle\": \"PSLV- C15\",\n", + " \"orbit\": \"630 kms, Polar Sun Synchronous\",\n", + " \"inclination\": \"97.71\\u00ba\"\n", " },\n", " {\n", - " \"name\": \"Rohini Satellite RS-D2\",\n", - " \"id\": 1,\n", - " \"mission\": \"Experimental\",\n", - " \"weight\": \"41.5 kg\",\n", - " \"onboard_power\": \"16 Watts\",\n", - " \"communication\": \"VHF band\",\n", - " \"stabilization\": \"Spin stabilized\",\n", - " \"payload\": \"Smart sensor (remote sensing payload), L-band beacon\",\n", - " \"launch_date\": \"April 17, 1983\",\n", - " \"launch_site\": \"SHAR Centre, Sriharikota, India\",\n", - " \"launch_vehicle\": \"SLV-3\",\n", - " \"orbit\": \"371 x 861 km\",\n", - " \"inclination\": \"46o\",\n", - " \"mission_life\": \"17 months\",\n", - " \"orbital_life\": \"Seven years (Re-entered on April 19, 1990)\"\n", + " \"name\": \"\\n\\n RESOURCESAT-2\\n \\n\",\n", + " \"id\": 46,\n", + " \"mission\": \"Remote Sensing\",\n", + " \"orbit\": \"Circular Polar Sun Synchronous\",\n", + " \"orbit_altitude_at_injection\": \"822 km + 20 km (3 Sigma)\",\n", + " \"orbit_inclination\": \"98.731\\u00ba + 0.2\\u00ba\",\n", + " \"lift-off_mass\": \"1206 kg\",\n", + " \"orbit_period\": \"101.35 min\",\n", + " \"number_of_orbits_per_day\": \"14\",\n", + " \"local_time_of_equator_crossing\": \"10:30 am\",\n", + " \"repetivity\": \"24 days\",\n", + " \"attitude_and_orbit_control\": \"3-axis body stabilised using Reaction Wheels, Magnetic Torquers and Hydrazine Thrusters\",\n", + " \"power\": \"Solar Array generating 1250 W at End Of Life, two 24 AH Ni-Cd batteries\",\n", + " \"launch_date\": \"April 20, 2011\",\n", + " \"launch_site\": \"SHAR Centre Sriharikota India\",\n", + " \"launch_vehicle\": \"PSLV- C16\",\n", + " \"mission_life\": \"5 years\"\n", " },\n", " {\n", - " \"name\": \"Bhaskara-II\",\n", - " \"id\": 1,\n", - " \"mission\": \"Experimental Remote Sensing\",\n", - " \"weight\": \"444 kg\",\n", - " \"onboard_power\": \"47 Watts\",\n", - " \"communication\": \"VHF band\",\n", - " \"stabilization\": \"Spin stabilized (spin axis controlled)\",\n", - " \"payload\": \"TV cameras, three band Microwave Radiometer (SAMIR)\",\n", - " \"launch_date\": \"Nov 20, 1981\",\n", - " \"launch_site\": \"Volgograd Launch Station (presently in Russia)\",\n", - " \"launch_vehicle\": \"C-1 Intercosmos\",\n", - " \"orbit\": \"541 x 557 km\",\n", - " \"inclination\": \"50.7o\",\n", - " \"mission_life\": \"One year (nominal)\",\n", - " \"orbital_life\": \"About 10 years ( Re-entered in 1991 )\"\n", + " \"name\": \"\\n\\n Megha-Tropiques\\n \\n\",\n", + " \"id\": 47,\n", + " \"lift-off_mass\": \"1000 kg\",\n", + " \"orbit\": \"867 km with an inclination of 20 deg to the equator\",\n", + " \"thermal\": \"Passive system with IRS heritage\",\n", + " \"power\": \"1325 W (at End of Life) Two 24 AH NiCd batteries\",\n", + " \"ttc\": \"S-band\",\n", + " \"attitude_and_orbit_control\": \"3-axis stabilised with 4 Reaction Wheels, Gyros and Star sensors, Hydrazine based RCS\",\n", + " \"solid_state_recorder\": \"16 Gb\",\n", + " \"launch_date\": \"October 12, 2011\",\n", + " \"launch_site\": \"SDSC SHAR Centre, Sriharikota, India\",\n", + " \"launch_vehicle\": \"PSLV- C18\"\n", " },\n", " {\n", - " \"name\": \"APPLE\",\n", - " \"id\": 1,\n", - " \"mission\": \"Experimental geostationary communication\",\n", - " \"weight\": \"670 kg\",\n", - " \"onboard_power\": \"210 Watts\",\n", - " \"communication\": \"VHF and C-band\",\n", - " \"stabilization\": \"Three axis stabilized (biased momentum) with Momentum Wheels, Torquers & \\u00a0Hydrazine based Reaction control system\",\n", - " \"payload\": \"C - band transponders (Two)\",\n", - " \"launch_date\": \"June19,1981\",\n", - " \"launch_site\": \"Kourou (CSG), French Guyana\",\n", - " \"launch_vehicle\": \"Ariane -1(V-3)\",\n", - " \"orbit\": \"Geosynchronous (102 deg. E\\u00a0 longitude, over Indonesia)\",\n", - " \"inclination\": \"Near zero\",\n", - " \"mission_life\": \"Two years\"\n", + " \"name\": \"\\n\\n RISAT-1\\n \\n\",\n", + " \"id\": 48,\n", + " \"mass\": \"1858 kg\",\n", + " \"orbit\": \"Circular Polar Sun Synchronous\",\n", + " \"orbit_altitude\": \"536 km\",\n", + " \"orbit_inclination\": \"97.552 o\",\n", + " \"orbit_period\": \"95.49 min\",\n", + " \"number_of_orbits_per_day\": \"14\",\n", + " \"local_time_of_equator_crossing\": \"6:00 am / 6:00 pm\",\n", + " \"power\": \"Solar Array generating 2200 W and one 70 AH Ni-H2 battery\",\n", + " \"repetivity\": \"25 days\",\n", + " \"attitude_and_orbit_control\": \"3-axis body stabilised using Reaction Wheels, Magnetic Torquers and Hydrazine Thrusters\",\n", + " \"nominal_mission_life\": \"5 years\",\n", + " \"launch_date\": \"April 26, 2012\",\n", + " \"launch_site\": \"SDSC SHAR Centre, Sriharikota, India\",\n", + " \"launch_vehicle\": \"PSLV- C19\"\n", " },\n", " {\n", - " \"name\": \"Rohini Satellite RS-D1\",\n", - " \"id\": 1,\n", - " \"mission\": \"Experimental\",\n", - " \"weight\": \"38 kg\",\n", - " \"onboard_power\": \"16 Watts\",\n", - " \"communication\": \"VHF band\",\n", - " \"stabilization\": \"Spin stabilized\",\n", - " \"payload\": \"Landmark Tracker ( remote sensing payload)\",\n", - " \"launch_date\": \"May 31,1981\",\n", - " \"launch_site\": \"SHAR Centre, Sriharikota, India\",\n", - " \"launch_vehicle\": \"SLV-3\",\n", - " \"orbit\": \"186 x 418 km (achieved)\",\n", - " \"inclination\": \"46 deg\",\n", - " \"orbital_life\": \"Nine days\"\n", + " \"name\": \"\\n\\n SARAL\\n \\n\",\n", + " \"id\": 49,\n", + " \"lift-off_mass\": \"407 kg\",\n", + " \"orbit\": \"781 km polar Sun synchronous\",\n", + " \"sensors\": \"4 PI sun sensors, magnetometer, star sensors and miniaturised gyro based Inertial Reference Unit\",\n", + " \"orbit_inclination\": \"98.538 o\",\n", + " \"local_time_of_equator\": \"18:00 hours crossing\",\n", + " \"power\": \"Solar Array generating 906 W and 46.8 Ampere-hour Lithium-ion battery\",\n", + " \"onboard_data_storage\": \"32 Gb\",\n", + " \"attitude_and_orbit_control\": \"3-axis stabilisation with reaction wheels, Hydrazine Control System based thrusters\",\n", + " \"mission_life\": \"5 years\",\n", + " \"launch_date\": \"Feb 25, 2013\",\n", + " \"launch_site\": \"SDSC SHAR Centre, Sriharikota, India\",\n", + " \"launch_vehicle\": \"PSLV - C20\"\n", " },\n", " {\n", - " \"name\": \"Rohini Satellite RS-1\",\n", - " \"id\": 1,\n", - " \"mission\": \"Experimental\",\n", - " \"weight\": \"35 kg\",\n", - " \"onboard_power\": \"16 Watts\",\n", - " \"communication\": \"VHF band\",\n", - " \"stabilization\": \"Spin stabilized\",\n", - " \"payload\": \"Launch vehicle monitoring instruments\",\n", - " \"launch_date\": \"July 18,1980\",\n", - " \"launch_site\": \"SHAR Centre, Sriharikota, India\",\n", - " \"launch_vehicle\": \"SLV-3\",\n", - " \"orbit\": \"305 x 919 km\",\n", - " \"inclination\": \"44.7 deg.\",\n", - " \"mission_life\": \"1.2 years\",\n", - " \"orbital_life\": \"20 months\"\n", + " \"name\": \"\\n\\n IRNSS-1A\\n \\n\",\n", + " \"id\": 50,\n", + " \"lift-off_mass\": \"1425 kg\",\n", + " \"physical_dimensions\": \"1.58 metre x 1.50 metre x 1.50 metre\",\n", + " \"orbit\": \"Geosynchronous, at 55 deg East longitude with 29 deg inclination\",\n", + " \"power\": \"Two solar panels generating 1660 W, one lithium-ion battery of 90 Ampere-Hour capacity\",\n", + " \"propulsion\": \"440 Newton Liquid Apogee Motor, twelve 22 Newton Thrusters\",\n", + " \"control_system\": \"Zero momentum system, orientation input from Sun & star Sensors and Gyroscopes; Reaction Wheels, Magnetic Torquers and 22 Newton thrusters as actuators\",\n", + " \"mission_life\": \"10 years\",\n", + " \"launch_date\": \"Jul 01, 2013\",\n", + " \"launch_site\": \"SDSC SHAR Centre, Sriharikota, India\",\n", + " \"launch_vehicle\": \"PSLV - C22\"\n", " },\n", " {\n", - " \"name\": \"Rohini Technology Payload\\n (RTP)\",\n", - " \"id\": 1,\n", - " \"mission\": \"Experimental\",\n", - " \"weight\": \"35 kg\",\n", - " \"onboard_power\": \"3 Watts\",\n", - " \"communication\": \"VHF band\",\n", - " \"stabilization\": \"Spin stabilized (spin axis controlled)\",\n", - " \"payload\": \"Launch vehicle monitoring instruments\",\n", - " \"launch_date\": \"August 10,1979\",\n", - " \"launch_site\": \"SHAR Centre, Sriharikota, India\",\n", - " \"launch_vehicle\": \"SLV-3\",\n", - " \"orbit\": \"Not achieved\"\n", + " \"name\": \"\\n\\n INSAT-3D\\n \\n\",\n", + " \"id\": 51,\n", + " \"mission\": \"Meteorological and Search & Rescue Services\",\n", + " \"mass_at_lift-off\": \"2060 kg\",\n", + " \"power\": \"Solar panel generating 1164 W Two 18 Ah Ni-Cd batteries\",\n", + " \"physical_dimensions\": \"2.4m x 1.6m x 1.5m\",\n", + " \"propulsion\": \"440 Newton Liquid Apogee Motor (LAM) and twelve 22 Newton thrusters with Mono Methyl Hydrazine (MMH) as fuel and mixed Oxides of Nitrogen (MON-3) as oxidizer\",\n", + " \"stabilisation\": \"3-asix body stabilized in orbit using Sun Sensors, Star Sensors, gyroscopes, Momentum and Reaction Wheels, Magnetic Torquers and thrusters\",\n", + " \"antennae\": \"0.9m and 1.0m body mounted antennas\",\n", + " \"launch_date\": \"July 26, 2013\",\n", + " \"launch_site\": \"Kourou, French Guiana\",\n", + " \"launch_vehicle\": \"Ariane-5 VA-214\",\n", + " \"orbit\": \"Geostationary, 82 deg E Longitude\",\n", + " \"mission_life\": \"7 Years\"\n", " },\n", " {\n", - " \"name\": \"Bhaskara-I\",\n", - " \"id\": 1,\n", - " \"mission\": \"Experimental Remote Sensing\",\n", - " \"weight\": \"442 kg\",\n", - " \"onboard_power\": \"47 Watts\",\n", - " \"communication\": \"VHF band\",\n", - " \"stabilization\": \"Spin stabilized (spin axis controlled)\",\n", - " \"payload\": \"TVcameras, three band Microwave Radiometer (SAMIR)\",\n", - " \"launch_date\": \"Jun 07,1979\",\n", - " \"launch_site\": \"Volgograd Launch Station (presently in Russia)\",\n", - " \"launch_vehicle\": \"C-1Intercosmos\",\n", - " \"orbit\": \"519 x 541 km\",\n", - " \"inclination\": \"50.6 deg\",\n", - " \"mission_life\": \"One year (nominal)\",\n", - " \"orbital_life\": \"About 10 years ( Re-entered in 1989 )\"\n", + " \"name\": \"\\n\\n IRNSS-1B\\n \\n\",\n", + " \"id\": 52,\n", + " \"off_mass\": \"1432 kg\",\n", + " \"physical_dimensions\": \"1.58 metre x 1.50 metre x 1.50 metre\",\n", + " \"orbit\": \"Geosynchronous, at 55 deg East longitude with 29 deg inclination\",\n", + " \"power\": \"Two solar panels generating 1660 W, one lithium-ion battery of 90 Ampere-Hour capacity\",\n", + " \"propulsion\": \"440 Newton Liquid Apogee Motor, twelve 22 Newton Thrusters\",\n", + " \"control_system\": \"Zero momentum system, orientation input from Sun & star Sensors and Gyroscopes; Reaction Wheels, Magnetic Torquers and 22 Newton thrusters as actuators\",\n", + " \"mission_life\": \"10 years\",\n", + " \"launch_date\": \"Apr 04, 2014\",\n", + " \"launch_site\": \"SDSC SHAR Centre, Sriharikota, India\",\n", + " \"launch_vehicle\": \"PSLV - C24\"\n", " },\n", " {\n", - " \"name\": \"Aryabhata \",\n", - " \"id\": 1,\n", - " \"mission\": \"Scientific/ Experimental\",\n", - " \"weight\": \"360 kg\",\n", - " \"on_board_power\": \"46 Watts\",\n", - " \"communication\": \"VHF band\",\n", - " \"stabilization\": \"Spinstabilize\",\n", - " \"payload\": \"X-ray Astronomy Aeronomy & Solar Physics\",\n", - " \"launch_date\": \"April 19, 1975\",\n", - " \"launch_site\": \"Volgograd Launch Station (presently in Russia)\",\n", - " \"launch_vehicle\": \"C-1 Intercosmos\",\n", - " \"orbit\": \"563 x 619 km\",\n", - " \"inclination\": \"50.7 deg\",\n", - " \"mission_life\": \"6 months(nominal), Spacecraft mainframe active till March,1981\",\n", - " \"orbital_life\": \"Nearly seventeen years (Re-entered on February 10,1992)\"\n", + " \"name\": \"\\n\\n Cartosat-3\\n \\n\",\n", + " \"id\": 53,\n", + " \"mean________________________________________________________________altitude\": \"509 km\",\n", + " \"mean_inclination\": \"97.5\\u00b0\",\n", + " \"overall_mass\": \"1625 kg\",\n", + " \"power_generation\": \"2000W\",\n", + " \"mission_life\": \"5 years\"\n", + " },\n", + " {\n", + " \"name\": \"\\n\\n RISAT-2BR1\\n \\n\",\n", + " \"id\": 54,\n", + " \"lift-off_weight\": \"628 kg\",\n", + " \"altitude\": \"576 km\",\n", + " \"payload\": \"X-Band Radar\",\n", + " \"inclination\": \"37 deg\",\n", + " \"mission_life\": \"5 years\"\n", " }\n", "]\n" ] @@ -1022,7 +910,7 @@ " link = spacecraft[\"href\"]\n", " url = \"https://www.isro.gov.in/{craft}\".format(craft=link)\n", " response = requests.get(url)\n", - " soup = BeautifulSoup(response.text,'lxml')\n", + " soup = BeautifulSoup(response.text,'html.parser')\n", " tables = soup.find_all(\"table\", {\"class\":\"pContent table table-striped table-bordered\"})\n", " count = 0\n", " for table in tables:\n", @@ -1037,31 +925,37 @@ " data.append(dt)\n", "\n", "\n", - "data = data.reverse\n", + "data.reverse()\n", "for i in range(len(data)):\n", " data[i][\"id\"] = i+1\n", "\n", "json_data = json.dumps(data,indent=2)\n", - "print(json_data)\n", - "\n", - "\n", - "\n", - "\n" + "print(json_data)\n" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ - "\n" + "\n", + "# save json data to file\n", + "with open(\"isro_spacecrafts_scraper_output.json\",\"w\") as f:\n", + " f.write(json_data)" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "venv-codex", "language": "python", "name": "python3" }, @@ -1075,7 +969,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.2" + "version": "3.11.0" }, "orig_nbformat": 4 }, diff --git a/package.json b/package.json index 07d57cb..542625b 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,16 @@ "repository": "isro.vercel.app", "author": "isro", "license": "MIT", + "scripts": { + "test": "jest --testPathPattern=tests/", + "validate": "node scripts/validate_schemas.js" + }, + "jest": { + "testEnvironment": "node" + }, "dependencies": {}, - "devDependencies": {} + "devDependencies": { + "ajv": "^8.17.1", + "jest": "^29.7.0" + } } \ No newline at end of file diff --git a/schemas/centres.schema.json b/schemas/centres.schema.json new file mode 100644 index 0000000..6255821 --- /dev/null +++ b/schemas/centres.schema.json @@ -0,0 +1,23 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Centres", + "type": "object", + "required": ["centres"], + "additionalProperties": false, + "properties": { + "centres": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "name"], + "additionalProperties": false, + "properties": { + "id": { "type": "integer", "minimum": 1 }, + "name": { "type": "string", "minLength": 1 }, + "place": { "type": ["string", "null"] }, + "state": { "type": ["string", "null"] } + } + } + } + } +} diff --git a/schemas/customer_satellites.schema.json b/schemas/customer_satellites.schema.json new file mode 100644 index 0000000..2aa2975 --- /dev/null +++ b/schemas/customer_satellites.schema.json @@ -0,0 +1,24 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Customer Satellites", + "type": "object", + "required": ["customer_satellites"], + "additionalProperties": false, + "properties": { + "customer_satellites": { + "type": "array", + "items": { + "type": "object", + "required": ["id"], + "additionalProperties": false, + "properties": { + "id": { "type": "integer", "minimum": 1 }, + "country": { "type": ["string", "null"] }, + "launch_date": { "type": ["string", "null"], "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, + "mass_kg": { "type": ["number", "null"], "minimum": 0 }, + "launcher": { "type": ["string", "null"] } + } + } + } + } +} diff --git a/schemas/launchers.schema.json b/schemas/launchers.schema.json new file mode 100644 index 0000000..0dace0a --- /dev/null +++ b/schemas/launchers.schema.json @@ -0,0 +1,24 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Launchers", + "type": "object", + "required": ["launchers"], + "additionalProperties": false, + "properties": { + "launchers": { + "type": "array", + "items": { + "type": "object", + "required": ["id"], + "additionalProperties": false, + "properties": { + "id": { "type": "integer", "minimum": 1 }, + "vehicle_family": { + "type": ["string", "null"], + "enum": ["SLV", "ASLV", "PSLV", "GSLV", "GSLV Mk III", "LVM-3", "RLV", "Scramjet-TD", null] + } + } + } + } + } +} diff --git a/schemas/spacecraft_missions.schema.json b/schemas/spacecraft_missions.schema.json new file mode 100644 index 0000000..d6681fb --- /dev/null +++ b/schemas/spacecraft_missions.schema.json @@ -0,0 +1,36 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Spacecraft Missions", + "type": "object", + "required": ["spacecraft_missions"], + "additionalProperties": false, + "properties": { + "spacecraft_missions": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "name", "status"], + "additionalProperties": false, + "properties": { + "id": { "type": "integer", "minimum": 1 }, + "name": { "type": "string", "minLength": 1 }, + "mission_type": { "type": ["string", "null"] }, + "launch_date": { "type": ["string", "null"], "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, + "launch_site": { "type": ["string", "null"] }, + "launch_vehicle": { "type": ["string", "null"] }, + "orbit": { "type": ["string", "null"] }, + "orbit_type": { "type": ["string", "null"], "enum": ["LEO", "SSO", "GEO", "Lunar", "Interplanetary", "Failed", null] }, + "altitude_km": { "type": ["number", "null"], "minimum": 0 }, + "inclination_deg": { "type": ["number", "null"], "minimum": 0, "maximum": 180 }, + "mass_kg": { "type": ["number", "null"], "minimum": 0 }, + "power_watts": { "type": ["number", "null"], "minimum": 0 }, + "mission_life": { "type": ["string", "null"] }, + "status": { "type": "string", "enum": ["active", "decommissioned", "failed", "unknown"] }, + "payloads": { "type": ["string", "null"] }, + "stabilization": { "type": ["string", "null"] }, + "propulsion": { "type": ["string", "null"] } + } + } + } + } +} diff --git a/schemas/spacecrafts.schema.json b/schemas/spacecrafts.schema.json new file mode 100644 index 0000000..8161252 --- /dev/null +++ b/schemas/spacecrafts.schema.json @@ -0,0 +1,27 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Spacecrafts", + "type": "object", + "required": ["spacecrafts"], + "additionalProperties": false, + "properties": { + "spacecrafts": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "name"], + "additionalProperties": false, + "properties": { + "id": { "type": "integer", "minimum": 1 }, + "name": { "type": "string", "minLength": 1 }, + "launch_date": { "type": ["string", "null"], "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, + "launch_vehicle": { "type": ["string", "null"] }, + "mission_type": { "type": ["string", "null"] }, + "orbit_type": { "type": ["string", "null"], "enum": ["LEO", "SSO", "GEO", "Lunar", "Interplanetary", "Failed", null] }, + "mass_kg": { "type": ["number", "null"], "minimum": 0 }, + "status": { "type": ["string", "null"], "enum": ["active", "decommissioned", "failed", "unknown", null] } + } + } + } + } +} diff --git a/scripts/normalize_data.py b/scripts/normalize_data.py new file mode 100644 index 0000000..db5b7af --- /dev/null +++ b/scripts/normalize_data.py @@ -0,0 +1,797 @@ +#!/usr/bin/env python3 +""" +ISRO API Data Normalization Pipeline +===================================== +Cleans, normalizes, and enriches all JSON data files for the ISRO API. + +Handles: +- spacecraft_missions.json: 9+ field name variants for mass, 5+ for power, + 15+ date formats, trailing newlines, duplicate entries, inconsistent schemas +- spacecrafts.json: enriches bare id+name with data from missions +- launchers.json: enriches bare id with vehicle family classification +- customer_satellites.json: normalizes country names, dates, mass types +- centres.json: fixes inconsistent field casing + +Run: python scripts/normalize_data.py +""" + +import json +import re +import sys +from pathlib import Path +from datetime import datetime + +# --------------------------------------------------------------------------- +# Paths +# --------------------------------------------------------------------------- +ROOT = Path(__file__).resolve().parent.parent +DATA_DIR = ROOT / "data" + +# --------------------------------------------------------------------------- +# Date parsing +# --------------------------------------------------------------------------- +DATE_FORMATS = [ + "%Y-%m-%d", # ISO 8601 (idempotent re-runs) + "%B %d, %Y", # April 19, 1975 + "%b %d, %Y", # Jun 07, 1979 / Jul 01, 2013 + "%B %d,%Y", # June19,1981 (after space insertion) + "%b %d,%Y", # Jun 07,1979 + "%d %B %Y", # 22 October 2008 + "%d %b %Y", # 22 Oct 2008 + "%d-%m-%Y", # 26-05-1999 + "%B %Y", # fallback for month+year only +] + +# Insert space between month name and day if missing: "June19,1981" -> "June 19,1981" +_DATE_FIX_NOSPACE = re.compile(r'([a-zA-Z])(\d)') +# Remove ordinal suffixes: "22nd" -> "22", "3rd" -> "3" +_DATE_FIX_ORDINAL = re.compile(r'(\d+)(st|nd|rd|th)\b') + + +def parse_date(raw): + """Parse a date string in any of ISRO's many formats into ISO 8601 (YYYY-MM-DD).""" + if not raw or not isinstance(raw, str): + return None + s = raw.strip() + if not s: + return None + # Fix missing space between month name and digit + s = _DATE_FIX_NOSPACE.sub(r'\1 \2', s) + # Remove ordinal suffixes + s = _DATE_FIX_ORDINAL.sub(r'\1', s) + # Normalize non-standard abbreviations: "Sept" -> "Sep" + s = re.sub(r'\bSept\b', 'Sep', s) + # Normalize multiple spaces + s = re.sub(r'\s+', ' ', s).strip() + + for fmt in DATE_FORMATS: + try: + return datetime.strptime(s, fmt).strftime("%Y-%m-%d") + except ValueError: + continue + # Last resort: try to find a year + m = re.search(r'\b((?:19|20)\d{2})\b', s) + if m: + return m.group(1) # Return just the year + return raw.strip() # Return cleaned original if nothing works + + +# --------------------------------------------------------------------------- +# Numeric extraction helpers +# --------------------------------------------------------------------------- +def extract_first_number(s): + """Extract the first numeric value from a string like '1380 kg (Mass at lift off)'.""" + if s is None: + return None + if isinstance(s, (int, float)): + return float(s) + s = str(s).strip() + if not s: + return None + # Remove commas in numbers: "2,650" -> "2650" + s_clean = s.replace(',', '') + m = re.search(r'[\d.]+', s_clean) + if m: + try: + return float(m.group()) + except ValueError: + return None + return None + + +def extract_mass_kg(entry): + """Extract lift-off mass in kg from any of the 9+ field name variants.""" + mass_fields = [ + 'mass_kg', # our normalized field (shouldn't exist yet, but just in case) + 'lift-off_weight', 'lift-off_mass', 'mass_at_lift-off', 'mass_at_lift_off', + 'off_mass', 'overall_mass', 'spacecraft_mass', 'weight', 'mass', + ] + for field in mass_fields: + val = entry.get(field) + if val is not None: + num = extract_first_number(val) + if num is not None and num > 0: + return num + return None + + +def extract_power_watts(entry): + """Extract power in watts from various field names and formats. + + Handles tricky cases like '15 Sq.m Solar Array generating 1360W' where the + first number is the panel area, not the wattage. + """ + power_fields = [ + 'power_watts', # normalized field name (for idempotent re-runs) + 'power', 'onboard_power', 'on_board_power', 'electrical_power', + 'onboard_orbit', # known typo for onboard_power + 'power_generation', + ] + for field in power_fields: + val = entry.get(field) + if val is not None: + # Already a number (idempotent re-run) + if isinstance(val, (int, float)): + return float(val) + s = str(val).strip() + # "One KW approx" -> 1000 + if re.match(r'one\s+kw', s, re.IGNORECASE): + return 1000.0 + + # Look for explicit wattage near "W" or "Watts" or "watt" first. + # This avoids extracting solar panel area (e.g. "15 Sq.m") instead + # of the actual power number (e.g. "generating 1360W"). + watt_match = re.search( + r'([\d,]+(?:\.\d+)?)\s*(?:watts?|w)\b', s, re.IGNORECASE + ) + if watt_match: + num_str = watt_match.group(1).replace(',', '') + try: + return float(num_str) + except ValueError: + pass + + # Check if it's in kW + kw_match = re.search( + r'([\d,]+(?:\.\d+)?)\s*kw\b', s, re.IGNORECASE + ) + if kw_match: + num_str = kw_match.group(1).replace(',', '') + try: + return float(num_str) * 1000 + except ValueError: + pass + + # Fallback: extract first number (for simple cases like "3100") + num = extract_first_number(s) + if num is not None and num > 0: + return num + return None + + +def extract_inclination_deg(entry): + """Extract inclination as a float from various formats.""" + inc_fields = ['inclination_deg', # normalized (idempotent) + 'inclination', 'mean_inclination', 'orbit_inclination'] + for field in inc_fields: + val = entry.get(field) + if val is not None: + num = extract_first_number(str(val)) + if num is not None: + return num + return None + + +def extract_altitude_km(entry): + """Extract altitude in km.""" + alt_fields = ['altitude_km', # normalized field name (idempotent) + 'altitude', 'mean_altitude', 'orbit_altitude', 'orbit_height', + 'orbit_altitude_at_injection'] + # Handle mangled field name from fresh scraper output + for key in list(entry.keys()): + if 'altitude' in key.lower() and key not in alt_fields and '_' * 5 in key: + alt_fields.append(key) + for field in alt_fields: + val = entry.get(field) + if val is not None: + num = extract_first_number(str(val)) + if num is not None: + return num + return None + + +# --------------------------------------------------------------------------- +# Mission-specific extractors +# --------------------------------------------------------------------------- +def extract_field(entry, field_names): + """Return the first non-empty value from a list of possible field names.""" + for f in field_names: + val = entry.get(f) + if val is not None: + s = str(val).strip().replace('\n', ' ') + s = re.sub(r'\s+', ' ', s) + if s: + return s + return None + + +def clean_name(name): + """Clean a spacecraft/mission name: strip whitespace, newlines, normalize dashes.""" + if not name: + return name + s = name.strip().replace('\n', ' ') + s = re.sub(r'\s+', ' ', s) + # Normalize various dash types to standard hyphen + s = s.replace('\u2013', '-').replace('\u2014', '-') # en-dash, em-dash + # Fix "CARTOSAT - 2A" -> "CARTOSAT-2A" (remove spaces around hyphens between word and number) + s = re.sub(r'\s*-\s*', '-', s) + return s + + +def extract_mission_type(entry): + """Extract mission type/purpose, avoiding mis-stored mission_life values.""" + # Check normalized field first (idempotent re-run) + val = entry.get('mission_type') or entry.get('mission') + if val is None: + return None + s = str(val).strip() + # These are mission_life values incorrectly stored in 'mission' + if re.match(r'^[\d>~]+\s*(years?|months?|days?)', s, re.IGNORECASE): + return None + if s.lower() in ('very long',): + return None + return s + + +def extract_mission_life(entry): + """Extract mission life from various field names, including mis-stored 'mission' field.""" + # First check dedicated mission_life fields + life_fields = ['mission_life', 'nominal_mission_life', 'life'] + for f in life_fields: + val = entry.get(f) + if val is not None: + s = str(val).strip() + if s: + return normalize_mission_life(s) + + # Check if 'mission' field actually contains mission life + val = entry.get('mission') + if val is not None: + s = str(val).strip() + if re.match(r'^[\d>~]+\s*(years?|months?|days?)', s, re.IGNORECASE): + return normalize_mission_life(s) + if s.lower() in ('very long',): + return s + + return None + + +def normalize_mission_life(s): + """Normalize mission life strings to consistent format.""" + s = s.strip() + # Remove parenthetical details like "(nominal)" or "(Re-entered on ...)" + # but keep the core info + core = re.split(r'\s*\(', s)[0].strip() + if not core: + core = s + # "Seven years" -> "7 years", etc. + word_to_num = { + 'one': '1', 'two': '2', 'three': '3', 'four': '4', 'five': '5', + 'six': '6', 'seven': '7', 'eight': '8', 'nine': '9', 'ten': '10', + 'twelve': '12', 'fifteen': '15', 'seventeen': '17', 'twenty': '20', + } + lower = core.lower() + for word, num in word_to_num.items(): + if lower.startswith(word): + core = num + core[len(word):] + break + # Normalize "Years" -> "years", "Months" -> "months" + core = re.sub(r'\b(Years?|Months?|Days?)\b', lambda m: m.group().lower(), core) + # "More Than 12 years" -> ">12 years" + core = re.sub(r'^more\s+than\s+', '>', core, flags=re.IGNORECASE) + # "About 8 years" -> "~8 years" + core = re.sub(r'^about\s+', '~', core, flags=re.IGNORECASE) + return core + + +def classify_orbit_type(entry): + """Classify orbit type from orbit description.""" + # Preserve existing classification on re-runs (idempotent) + existing = entry.get('orbit_type') + if existing and existing in ('LEO', 'SSO', 'GEO', 'GTO', 'Lunar', 'Interplanetary', 'Polar', 'Failed'): + return existing + + orbit = str(entry.get('orbit', '')).lower() + name = str(entry.get('name', '')).lower() + + if 'not realised' in orbit or 'not achieved' in orbit: + return "Failed" + if 'lunar' in orbit or 'chandrayaan' in name or 'moon' in orbit: + return "Lunar" + if 'mars' in name or 'mars' in orbit: + return "Interplanetary" + if 'geostationary' in orbit or 'geosynchronous' in orbit or 'geo stationary' in orbit: + return "GEO" + if 'sun synchronous' in orbit or 'sun-synchronous' in orbit or 'polar sun' in orbit: + return "SSO" + if 'polar' in orbit: + return "Polar" + # Check altitude for LEO classification + alt = extract_altitude_km(entry) + if alt and alt < 2000: + return "LEO" + return None + + +def extract_stabilization(entry): + """Extract stabilization info from various misspelled field names.""" + fields = ['stabilization', 'stabilisation', 'satbilisation', + 'attitude_and_orbit_control', 'attitude_and_orbit_control_system_(aocs)', + 'attitude_orbit_control', 'attitude_and_orbit_control_system', + 'aocs', 'control_system'] + return extract_field(entry, fields) + + +def extract_propulsion(entry): + """Extract propulsion info.""" + fields = ['propulsion', 'propulsion_system', 'rcs'] + return extract_field(entry, fields) + + +# --------------------------------------------------------------------------- +# Status inference +# --------------------------------------------------------------------------- +def infer_status(entry): + """Infer whether a mission is active, decommissioned, or failed.""" + # Preserve already-inferred status on re-runs (idempotent) + existing = entry.get('status') + if existing and existing in ('active', 'decommissioned', 'failed'): + return existing + + orbit = str(entry.get('orbit', '')).lower() + if 'not realised' in orbit or 'not achieved' in orbit: + return "failed" + + # Check for mission_completed_on or mission_completed_during fields + for f in ['mission_completed_on', 'mission_completed_during']: + if entry.get(f): + return "decommissioned" + + # Check mission_life and orbital_life for re-entry info + for f in ['mission_life', 'orbital_life', 'orbit_life']: + val = str(entry.get(f, '')).lower() + if 're-entered' in val or 're-entry' in val: + return "decommissioned" + + # Estimate from launch date and mission life + launch_str = extract_field(entry, ['launch_date', 'date']) + if launch_str: + date_iso = parse_date(launch_str) + if date_iso and len(date_iso) == 10: + try: + launch_dt = datetime.strptime(date_iso, "%Y-%m-%d") + life_str = extract_mission_life(entry) + if life_str: + years_match = re.search(r'(\d+)\s*years?', str(life_str), re.IGNORECASE) + months_match = re.search(r'(\d+)\s*months?', str(life_str), re.IGNORECASE) + total_years = 0 + if years_match: + total_years = int(years_match.group(1)) + elif months_match: + total_years = int(months_match.group(1)) / 12 + if total_years > 0: + from datetime import timedelta + end_dt = launch_dt + timedelta(days=total_years * 365.25) + if end_dt < datetime(2026, 1, 1): + return "decommissioned" + else: + return "active" + # Very old missions without explicit life info + if launch_dt.year < 2000: + return "decommissioned" + except (ValueError, TypeError): + pass + + return "unknown" + + +# --------------------------------------------------------------------------- +# Normalize spacecraft_missions.json +# --------------------------------------------------------------------------- +DUPLICATE_MISSION_IDS = { + # TES appears twice (id 28 "PSLV-C3 / TES" and id 29 "The Technology Experiment Satellite (TES)") + # Keep id 29 which has the proper name; drop id 28 which is launcher/spacecraft hybrid name + 28, +} + +# Names to exclude (normalized lowercase) -- catches duplicates across data sources +DUPLICATE_MISSION_NAMES = { + "pslv-c3 / tes", + "pslv-c3/tes", +} + + +SCRAPER_OUTPUT = ROOT / "isro_scrape" / "isro_spacecrafts_scraper_output.json" + + +def _normalize_entry(entry): + """Normalize a single mission entry into the canonical schema.""" + name = clean_name(entry.get('name', '')) + launch_date = parse_date(extract_field(entry, ['launch_date', 'date'])) + mission_type = extract_mission_type(entry) + orbit_type = classify_orbit_type(entry) + status = infer_status(entry) + + return { + "id": entry.get('id'), + "name": name, + "mission_type": mission_type, + "launch_date": launch_date, + "launch_site": extract_field(entry, ['launch_site']), + "launch_vehicle": extract_field(entry, ['launch_vehicle']), + "orbit": extract_field(entry, ['orbit']), + "orbit_type": orbit_type, + "altitude_km": extract_altitude_km(entry), + "inclination_deg": extract_inclination_deg(entry), + "mass_kg": extract_mass_kg(entry), + "power_watts": extract_power_watts(entry), + "mission_life": extract_mission_life(entry), + "status": status, + "payloads": extract_field(entry, ['payloads', 'payload', 'communication_payloads']), + "stabilization": extract_stabilization(entry), + "propulsion": extract_propulsion(entry), + } + + +def _merge_records(old, new): + """Merge two normalized records, preferring non-null values from `new`.""" + merged = dict(old) + for key, val in new.items(): + if val is not None: + merged[key] = val + return merged + + +def normalize_missions(): + """Normalize spacecraft_missions.json into a consistent schema. + + If a fresh scraper output exists at isro_scrape/isro_spacecrafts_scraper_output.json, + merges it with the existing data -- fresh scraper data takes priority for non-null + fields, but existing entries not in the scraper output are preserved. + """ + with open(DATA_DIR / "spacecraft_missions.json", "r", encoding="utf-8") as f: + raw = json.load(f) + + # Raw file is a plain array (not wrapped in object) + if isinstance(raw, list): + entries = raw + else: + entries = raw.get("spacecraft_missions", raw) + + # Build lookup by cleaned name from existing data + by_name = {} + for entry in entries: + eid = entry.get('id') + if eid in DUPLICATE_MISSION_IDS: + continue + record = _normalize_entry(entry) + if record['name']: + key = record['name'].lower() + if key in DUPLICATE_MISSION_NAMES: + continue + by_name[key] = record + + # Merge with fresh scraper output if available + if SCRAPER_OUTPUT.exists(): + print(f" Merging with fresh scraper output: {SCRAPER_OUTPUT.name}") + with open(SCRAPER_OUTPUT, "r", encoding="utf-8") as f: + scraper_data = json.load(f) + merged_count = 0 + for entry in scraper_data: + record = _normalize_entry(entry) + if record['name']: + key = record['name'].lower() + if key in DUPLICATE_MISSION_NAMES: + continue + if key in by_name: + by_name[key] = _merge_records(by_name[key], record) + else: + by_name[key] = record + merged_count += 1 + print(f" Merged {merged_count} records from scraper output") + + normalized = list(by_name.values()) + + # Re-assign sequential IDs (oldest first, by launch date) + def sort_key(r): + d = r.get('launch_date') or '9999' + return d + normalized.sort(key=sort_key) + for i, record in enumerate(normalized, start=1): + record['id'] = i + + return {"spacecraft_missions": normalized} + + +# --------------------------------------------------------------------------- +# Normalize & enrich spacecrafts.json +# --------------------------------------------------------------------------- +def build_missions_lookup(missions_data): + """Build a lookup dict from cleaned mission name -> mission record.""" + lookup = {} + for m in missions_data["spacecraft_missions"]: + name = m["name"] + if name: + # Store under exact cleaned name + lookup[name.lower()] = m + # Also store under simplified name (remove series suffixes etc.) + simple = re.sub(r'\s*series\s*satellite\b', '', name, flags=re.IGNORECASE).strip() + if simple.lower() != name.lower(): + lookup[simple.lower()] = m + return lookup + + +def normalize_spacecrafts(missions_data): + """Enrich spacecrafts.json with data from missions.""" + with open(DATA_DIR / "spacecrafts.json", "r", encoding="utf-8") as f: + raw = json.load(f) + + spacecrafts = raw.get("spacecrafts", raw) + lookup = build_missions_lookup(missions_data) + + enriched = [] + for sc in spacecrafts: + name = clean_name(sc.get('name', '')) + name_lower = name.lower() if name else '' + + # Try to find matching mission + mission = lookup.get(name_lower) + + # Try alternative lookups if exact match fails + if not mission and name_lower: + # Try without trailing numbers for series satellites + for key, val in lookup.items(): + if name_lower in key or key in name_lower: + mission = val + break + + record = { + "id": sc["id"], + "name": name, + } + + if mission: + record["launch_date"] = mission.get("launch_date") + record["launch_vehicle"] = mission.get("launch_vehicle") + record["mission_type"] = mission.get("mission_type") + record["orbit_type"] = mission.get("orbit_type") + record["mass_kg"] = mission.get("mass_kg") + record["status"] = mission.get("status") + else: + record["launch_date"] = None + record["launch_vehicle"] = None + record["mission_type"] = None + record["orbit_type"] = None + record["mass_kg"] = None + record["status"] = None + + enriched.append(record) + + return {"spacecrafts": enriched} + + +# --------------------------------------------------------------------------- +# Normalize & enrich launchers.json +# --------------------------------------------------------------------------- +LAUNCHER_FAMILIES = { + 'SLV': 'SLV', + 'ASLV': 'ASLV', + 'PSLV': 'PSLV', + 'GSLV Mk III': 'GSLV Mk III', + 'GSLV-Mk III': 'GSLV Mk III', + 'LVM': 'LVM-3', + 'GSLV': 'GSLV', + 'RLV': 'RLV', + 'Scramjet': 'Scramjet-TD', +} + + +def classify_launcher_family(launcher_id): + """Classify a launcher into its vehicle family.""" + lid = str(launcher_id).strip() + # Check longest prefixes first to avoid GSLV matching before GSLV Mk III + for prefix in sorted(LAUNCHER_FAMILIES.keys(), key=len, reverse=True): + if lid.startswith(prefix): + return LAUNCHER_FAMILIES[prefix] + return "Unknown" + + +def normalize_launchers(customer_sats_data): + """Enrich launchers.json with vehicle family and customer satellite stats.""" + with open(DATA_DIR / "launchers.json", "r", encoding="utf-8") as f: + raw = json.load(f) + + launchers = raw.get("launchers", raw) + + # Build a map of launcher -> customer satellites launched + cust_by_launcher = {} + for sat in customer_sats_data.get("customer_satellites", []): + lid = sat.get("launcher", "") + if lid not in cust_by_launcher: + cust_by_launcher[lid] = [] + cust_by_launcher[lid].append(sat.get("id", "")) + + enriched = [] + for launcher in launchers: + lid = launcher["id"] + family = classify_launcher_family(lid) + cust_sats = cust_by_launcher.get(lid, []) + + record = { + "id": lid, + "vehicle_family": family, + } + if cust_sats: + record["customer_satellites_launched"] = cust_sats + + enriched.append(record) + + return {"launchers": enriched} + + +# --------------------------------------------------------------------------- +# Normalize customer_satellites.json +# --------------------------------------------------------------------------- +COUNTRY_NORMALIZE = { + "REPUBLIC OF KOREA": "South Korea", + "GERMANY": "Germany", + "BELGIUM": "Belgium", + "INDONESIA": "Indonesia", + "ARGENTINA": "Argentina", + "ITALY": "Italy", + "ISRAEL": "Israel", + "CANADA": "Canada", + "JAPAN": "Japan", + "THE NETHERLANDS": "Netherlands", + "DENMARK": "Denmark", + "TURKEY": "Turkey", + "SWITZERLAND": "Switzerland", + "ALGERIA": "Algeria", + "NORWAY": "Norway", + "SINGAPORE": "Singapore", + "LUXEMBOURG": "Luxembourg", + "FRANCE": "France", + "UNITED KINGDOM": "United Kingdom", + "UK": "United Kingdom", + "USA": "United States", + "BRAZIL": "Brazil", + "Germany": "Germany", +} + + +def normalize_customer_satellites(): + """Clean customer_satellites.json: dates, mass, country names.""" + with open(DATA_DIR / "customer_satellites.json", "r", encoding="utf-8") as f: + raw = json.load(f) + + satellites = raw.get("customer_satellites", raw) + cleaned = [] + + for sat in satellites: + country_raw = sat.get("country", "").strip() + country = COUNTRY_NORMALIZE.get(country_raw, country_raw.title()) + + # Support both original 'mass' field and normalized 'mass_kg' (idempotent) + mass_raw = sat.get("mass_kg", sat.get("mass", "")) + if isinstance(mass_raw, (int, float)): + mass_kg = float(mass_raw) if mass_raw else None + else: + mass_kg = extract_first_number(mass_raw) if mass_raw else None + + launch_date = parse_date(sat.get("launch_date", "")) + + record = { + "id": sat["id"], + "country": country, + "launch_date": launch_date, + "mass_kg": mass_kg, + "launcher": sat.get("launcher", ""), + } + cleaned.append(record) + + return {"customer_satellites": cleaned} + + +# --------------------------------------------------------------------------- +# Normalize centres.json +# --------------------------------------------------------------------------- +def normalize_centres(): + """Fix field casing in centres.json.""" + with open(DATA_DIR / "centres.json", "r", encoding="utf-8") as f: + raw = json.load(f) + + centres = raw.get("centres", raw) + cleaned = [] + + for centre in centres: + record = { + "id": centre["id"], + "name": centre["name"], + "place": centre.get("Place", centre.get("place", "")), + "state": centre.get("State", centre.get("state", "")), + } + cleaned.append(record) + + return {"centres": cleaned} + + +# --------------------------------------------------------------------------- +# Main +# --------------------------------------------------------------------------- +def write_json(data, filename): + """Write data to a JSON file with consistent formatting.""" + path = DATA_DIR / filename + with open(path, "w", encoding="utf-8") as f: + json.dump(data, f, indent=2, ensure_ascii=False) + count = len(list(data.values())[0]) if data else 0 + print(f" {filename}: {count} records written") + + +def main(): + print("ISRO API Data Normalization Pipeline") + print("=" * 50) + + print("\n[1/5] Normalizing spacecraft_missions.json...") + missions = normalize_missions() + write_json(missions, "spacecraft_missions.json") + + print("\n[2/5] Normalizing & enriching spacecrafts.json...") + spacecrafts = normalize_spacecrafts(missions) + write_json(spacecrafts, "spacecrafts.json") + + print("\n[3/5] Normalizing customer_satellites.json...") + cust_sats = normalize_customer_satellites() + write_json(cust_sats, "customer_satellites.json") + + print("\n[4/5] Normalizing & enriching launchers.json...") + launchers = normalize_launchers(cust_sats) + write_json(launchers, "launchers.json") + + print("\n[5/5] Normalizing centres.json...") + centres = normalize_centres() + write_json(centres, "centres.json") + + # Print summary stats + print("\n" + "=" * 50) + print("SUMMARY") + print("=" * 50) + m = missions["spacecraft_missions"] + print(f" Missions: {len(m)} records") + print(f" - With launch_date: {sum(1 for r in m if r['launch_date'])}") + print(f" - With mass_kg: {sum(1 for r in m if r['mass_kg'])}") + print(f" - With power_watts: {sum(1 for r in m if r['power_watts'])}") + print(f" - With orbit_type: {sum(1 for r in m if r['orbit_type'])}") + print(f" - Status active: {sum(1 for r in m if r['status'] == 'active')}") + print(f" - Status decommissioned: {sum(1 for r in m if r['status'] == 'decommissioned')}") + print(f" - Status failed: {sum(1 for r in m if r['status'] == 'failed')}") + + sc = spacecrafts["spacecrafts"] + enriched = sum(1 for r in sc if r.get('launch_date')) + print(f"\n Spacecrafts: {len(sc)} records ({enriched} enriched from missions)") + + cs = cust_sats["customer_satellites"] + countries = set(r['country'] for r in cs) + print(f"\n Customer Satellites: {len(cs)} records from {len(countries)} countries") + + la = launchers["launchers"] + families = set(r['vehicle_family'] for r in la) + print(f"\n Launchers: {len(la)} records across {len(families)} families: {sorted(families)}") + + ce = centres["centres"] + print(f"\n Centres: {len(ce)} records") + + print("\nDone! All files written to data/") + + +if __name__ == "__main__": + main() diff --git a/scripts/validate_schemas.js b/scripts/validate_schemas.js new file mode 100644 index 0000000..54aeb18 --- /dev/null +++ b/scripts/validate_schemas.js @@ -0,0 +1,42 @@ +#!/usr/bin/env node +/** + * Validates all data files against their JSON Schemas. + * Run: node scripts/validate_schemas.js + * Exit code 0 = all valid, 1 = validation errors found. + */ + +const Ajv = require("ajv"); +const path = require("path"); +const fs = require("fs"); + +const ajv = new Ajv({ allErrors: true }); + +const FILES = [ + { data: "data/spacecrafts.json", schema: "schemas/spacecrafts.schema.json" }, + { data: "data/launchers.json", schema: "schemas/launchers.schema.json" }, + { data: "data/customer_satellites.json", schema: "schemas/customer_satellites.schema.json" }, + { data: "data/centres.json", schema: "schemas/centres.schema.json" }, + { data: "data/spacecraft_missions.json", schema: "schemas/spacecraft_missions.schema.json" }, +]; + +const root = path.resolve(__dirname, ".."); +let allValid = true; + +for (const { data: dataFile, schema: schemaFile } of FILES) { + const data = JSON.parse(fs.readFileSync(path.join(root, dataFile), "utf8")); + const schema = JSON.parse(fs.readFileSync(path.join(root, schemaFile), "utf8")); + const validate = ajv.compile(schema); + const valid = validate(data); + + if (valid) { + console.log(`✓ ${dataFile}`); + } else { + console.error(`✗ ${dataFile}`); + for (const err of validate.errors) { + console.error(` ${err.instancePath || "(root)"} ${err.message}`); + } + allValid = false; + } +} + +process.exit(allValid ? 0 : 1); diff --git a/tests/api/centres.test.js b/tests/api/centres.test.js new file mode 100644 index 0000000..ac000c6 --- /dev/null +++ b/tests/api/centres.test.js @@ -0,0 +1,41 @@ +const handler = require("../../api/centres"); +const { mockReq, mockRes } = require("../helpers/mock"); + +describe("GET /api/centres", () => { + test("returns 200 with application/json header", async () => { + const res = mockRes(); + await handler(mockReq(), res); + expect(res._status).toBe(200); + expect(res._headers["Content-Type"]).toBe("application/json"); + }); + + test("response has centres wrapper key with 44 records", async () => { + const res = mockRes(); + await handler(mockReq(), res); + expect(res._body).toHaveProperty("centres"); + expect(res._body.centres).toHaveLength(44); + }); + + test("each record has consistent lowercase field names", async () => { + const res = mockRes(); + await handler(mockReq(), res); + for (const r of res._body.centres) { + expect(r).not.toHaveProperty("Place"); + expect(r).not.toHaveProperty("State"); + expect(r).toHaveProperty("id"); + expect(r).toHaveProperty("name"); + } + }); + + test("filters by state (case-insensitive)", async () => { + const res1 = mockRes(); + await handler(mockReq({ state: "Karnataka" }), res1); + const res2 = mockRes(); + await handler(mockReq({ state: "karnataka" }), res2); + expect(res1._body.centres.length).toBeGreaterThan(0); + expect(res1._body.centres).toEqual(res2._body.centres); + for (const r of res1._body.centres) { + expect(r.state.toLowerCase()).toBe("karnataka"); + } + }); +}); diff --git a/tests/api/customer_satellites.test.js b/tests/api/customer_satellites.test.js new file mode 100644 index 0000000..c0ab7de --- /dev/null +++ b/tests/api/customer_satellites.test.js @@ -0,0 +1,58 @@ +const handler = require("../../api/customer_satellites"); +const { mockReq, mockRes } = require("../helpers/mock"); + +const ISO_DATE = /^\d{4}-\d{2}-\d{2}$/; + +describe("GET /api/customer_satellites", () => { + test("returns 200 with application/json header", async () => { + const res = mockRes(); + await handler(mockReq(), res); + expect(res._status).toBe(200); + expect(res._headers["Content-Type"]).toBe("application/json"); + }); + + test("response has customer_satellites wrapper key with 75 records", async () => { + const res = mockRes(); + await handler(mockReq(), res); + expect(res._body).toHaveProperty("customer_satellites"); + expect(res._body.customer_satellites).toHaveLength(75); + }); + + test("all non-null launch_dates are ISO 8601 format", async () => { + const res = mockRes(); + await handler(mockReq(), res); + for (const r of res._body.customer_satellites) { + if (r.launch_date !== null) { + expect(r.launch_date).toMatch(ISO_DATE); + } + } + }); + + test("all non-null mass_kg values are positive numbers", async () => { + const res = mockRes(); + await handler(mockReq(), res); + for (const r of res._body.customer_satellites) { + if (r.mass_kg !== null) { + expect(typeof r.mass_kg).toBe("number"); + expect(r.mass_kg).toBeGreaterThan(0); + } + } + }); + + test("filters by country", async () => { + const res = mockRes(); + await handler(mockReq({ country: "Germany" }), res); + expect(res._body.customer_satellites.length).toBeGreaterThan(0); + for (const r of res._body.customer_satellites) { + expect(r.country.toLowerCase()).toBe("germany"); + } + }); + + test("country filter is case-insensitive", async () => { + const res1 = mockRes(); + await handler(mockReq({ country: "germany" }), res1); + const res2 = mockRes(); + await handler(mockReq({ country: "GERMANY" }), res2); + expect(res1._body.customer_satellites).toEqual(res2._body.customer_satellites); + }); +}); diff --git a/tests/api/launchers.test.js b/tests/api/launchers.test.js new file mode 100644 index 0000000..17ddb1f --- /dev/null +++ b/tests/api/launchers.test.js @@ -0,0 +1,47 @@ +const handler = require("../../api/launchers"); +const { mockReq, mockRes } = require("../helpers/mock"); + +describe("GET /api/launchers", () => { + test("returns 200 with application/json header", async () => { + const res = mockRes(); + await handler(mockReq(), res); + expect(res._status).toBe(200); + expect(res._headers["Content-Type"]).toBe("application/json"); + }); + + test("response has launchers wrapper key with array of 81 records", async () => { + const res = mockRes(); + await handler(mockReq(), res); + expect(res._body).toHaveProperty("launchers"); + expect(res._body.launchers).toHaveLength(81); + }); + + test("each record has an integer id", async () => { + const res = mockRes(); + await handler(mockReq(), res); + for (const record of res._body.launchers) { + expect(Number.isInteger(record.id)).toBe(true); + } + }); + + test("filters by vehicle_family (case-insensitive)", async () => { + const res1 = mockRes(); + await handler(mockReq({ vehicle_family: "PSLV" }), res1); + const res2 = mockRes(); + await handler(mockReq({ vehicle_family: "pslv" }), res2); + expect(res1._body.launchers.length).toBeGreaterThan(0); + expect(res1._body.launchers).toEqual(res2._body.launchers); + for (const r of res1._body.launchers) { + expect(r.vehicle_family).toBe("PSLV"); + } + }); + + test("known vehicle families are present in data", async () => { + const res = mockRes(); + await handler(mockReq(), res); + const families = new Set(res._body.launchers.map((r) => r.vehicle_family)); + for (const f of ["PSLV", "GSLV", "SLV", "ASLV"]) { + expect(families.has(f)).toBe(true); + } + }); +}); diff --git a/tests/api/spacecraft_missions-id.test.js b/tests/api/spacecraft_missions-id.test.js new file mode 100644 index 0000000..2741778 --- /dev/null +++ b/tests/api/spacecraft_missions-id.test.js @@ -0,0 +1,53 @@ +const handler = require("../../api/spacecraft_missions/[id]"); +const { mockReq, mockRes } = require("../helpers/mock"); + +describe("GET /api/spacecraft_missions/:id", () => { + test("returns the correct record for a valid ID", async () => { + const res = mockRes(); + await handler(mockReq({ id: "1" }), res); + expect(res._status).toBe(200); + expect(res._body.id).toBe(1); + expect(typeof res._body.name).toBe("string"); + }); + + test("returns 200 with application/json header", async () => { + const res = mockRes(); + await handler(mockReq({ id: "1" }), res); + expect(res._headers["Content-Type"]).toBe("application/json"); + }); + + test("returns 404 for non-existent ID", async () => { + const res = mockRes(); + await handler(mockReq({ id: "99999" }), res); + expect(res._status).toBe(404); + expect(res._body).toHaveProperty("error"); + }); + + test("returns 400 for non-integer ID", async () => { + const res = mockRes(); + await handler(mockReq({ id: "abc" }), res); + expect(res._status).toBe(400); + expect(res._body).toHaveProperty("error"); + }); + + test("record includes _links.self and _links.spacecraft", async () => { + const res = mockRes(); + await handler(mockReq({ id: "1" }), res); + expect(res._body._links).toHaveProperty("self", "/api/spacecraft_missions/1"); + expect(res._body._links).toHaveProperty("spacecraft"); + expect(res._body._links.spacecraft).toMatch(/^\/api\/spacecrafts\/\d+$/); + }); + + test("record has the full 17-field normalized schema", async () => { + const res = mockRes(); + await handler(mockReq({ id: "1" }), res); + const EXPECTED_FIELDS = [ + "id", "name", "mission_type", "launch_date", "launch_site", "launch_vehicle", + "orbit", "orbit_type", "altitude_km", "inclination_deg", "mass_kg", "power_watts", + "mission_life", "status", "payloads", "stabilization", "propulsion", + ]; + for (const field of EXPECTED_FIELDS) { + expect(res._body).toHaveProperty(field); + } + }); +}); diff --git a/tests/api/spacecraft_missions.test.js b/tests/api/spacecraft_missions.test.js new file mode 100644 index 0000000..38d3fcf --- /dev/null +++ b/tests/api/spacecraft_missions.test.js @@ -0,0 +1,99 @@ +const handler = require("../../api/spacecraft_missions"); +const { mockReq, mockRes } = require("../helpers/mock"); + +const ISO_DATE = /^\d{4}-\d{2}-\d{2}$/; +const VALID_STATUSES = new Set(["active", "decommissioned", "failed", "unknown"]); +const VALID_ORBIT_TYPES = new Set(["LEO", "SSO", "GEO", "Lunar", "Interplanetary", "Failed"]); + +describe("GET /api/spacecraft_missions", () => { + test("returns 200 with application/json header", async () => { + const res = mockRes(); + await handler(mockReq(), res); + expect(res._status).toBe(200); + expect(res._headers["Content-Type"]).toBe("application/json"); + }); + + test("response has spacecraft_missions wrapper key with 64 records", async () => { + const res = mockRes(); + await handler(mockReq(), res); + expect(res._body).toHaveProperty("spacecraft_missions"); + expect(res._body.spacecraft_missions).toHaveLength(64); + }); + + test("all records have valid status values", async () => { + const res = mockRes(); + await handler(mockReq(), res); + for (const r of res._body.spacecraft_missions) { + expect(VALID_STATUSES.has(r.status)).toBe(true); + } + }); + + test("all non-null orbit_type values are from known set", async () => { + const res = mockRes(); + await handler(mockReq(), res); + for (const r of res._body.spacecraft_missions) { + if (r.orbit_type !== null) { + expect(VALID_ORBIT_TYPES.has(r.orbit_type)).toBe(true); + } + } + }); + + test("all non-null launch_dates are ISO 8601 format", async () => { + const res = mockRes(); + await handler(mockReq(), res); + for (const r of res._body.spacecraft_missions) { + if (r.launch_date !== null) { + expect(r.launch_date).toMatch(ISO_DATE); + } + } + }); + + test("all non-null mass_kg values are positive numbers", async () => { + const res = mockRes(); + await handler(mockReq(), res); + for (const r of res._body.spacecraft_missions) { + if (r.mass_kg !== null) { + expect(typeof r.mass_kg).toBe("number"); + expect(r.mass_kg).toBeGreaterThan(0); + } + } + }); + + test("all non-null power_watts values are positive numbers", async () => { + const res = mockRes(); + await handler(mockReq(), res); + for (const r of res._body.spacecraft_missions) { + if (r.power_watts !== null) { + expect(typeof r.power_watts).toBe("number"); + expect(r.power_watts).toBeGreaterThan(0); + } + } + }); + + test("filters by status", async () => { + const res = mockRes(); + await handler(mockReq({ status: "active" }), res); + expect(res._body.spacecraft_missions.length).toBeGreaterThan(0); + for (const r of res._body.spacecraft_missions) { + expect(r.status).toBe("active"); + } + }); + + test("filters by orbit_type", async () => { + const res = mockRes(); + await handler(mockReq({ orbit_type: "SSO" }), res); + expect(res._body.spacecraft_missions.length).toBeGreaterThan(0); + for (const r of res._body.spacecraft_missions) { + expect(r.orbit_type).toBe("SSO"); + } + }); + + test("combined filters return intersection", async () => { + const res = mockRes(); + await handler(mockReq({ orbit_type: "GEO", status: "decommissioned" }), res); + for (const r of res._body.spacecraft_missions) { + expect(r.orbit_type).toBe("GEO"); + expect(r.status).toBe("decommissioned"); + } + }); +}); diff --git a/tests/api/spacecrafts-id.test.js b/tests/api/spacecrafts-id.test.js new file mode 100644 index 0000000..73b0f6c --- /dev/null +++ b/tests/api/spacecrafts-id.test.js @@ -0,0 +1,46 @@ +const handler = require("../../api/spacecrafts/[id]"); +const { mockReq, mockRes } = require("../helpers/mock"); + +describe("GET /api/spacecrafts/:id", () => { + test("returns the correct record for a valid ID", async () => { + const res = mockRes(); + await handler(mockReq({ id: "1" }), res); + expect(res._status).toBe(200); + expect(res._body.id).toBe(1); + expect(res._body.name).toBe("Aryabhata"); + }); + + test("returns 200 with application/json header", async () => { + const res = mockRes(); + await handler(mockReq({ id: "1" }), res); + expect(res._headers["Content-Type"]).toBe("application/json"); + }); + + test("returns 404 for non-existent ID", async () => { + const res = mockRes(); + await handler(mockReq({ id: "99999" }), res); + expect(res._status).toBe(404); + expect(res._body).toHaveProperty("error"); + }); + + test("returns 400 for non-integer ID", async () => { + const res = mockRes(); + await handler(mockReq({ id: "abc" }), res); + expect(res._status).toBe(400); + expect(res._body).toHaveProperty("error"); + }); + + test("record includes _links.self", async () => { + const res = mockRes(); + await handler(mockReq({ id: "1" }), res); + expect(res._body._links).toHaveProperty("self", "/api/spacecrafts/1"); + }); + + test("record includes _links.mission when a matching mission exists", async () => { + const res = mockRes(); + await handler(mockReq({ id: "1" }), res); + // Aryabhata has a mission record + expect(res._body._links).toHaveProperty("mission"); + expect(res._body._links.mission).toMatch(/^\/api\/spacecraft_missions\/\d+$/); + }); +}); diff --git a/tests/api/spacecrafts.test.js b/tests/api/spacecrafts.test.js new file mode 100644 index 0000000..091ce00 --- /dev/null +++ b/tests/api/spacecrafts.test.js @@ -0,0 +1,85 @@ +const handler = require("../../api/spacecrafts"); +const { mockReq, mockRes } = require("../helpers/mock"); + +describe("GET /api/spacecrafts", () => { + test("returns 200 with application/json header", async () => { + const req = mockReq(); + const res = mockRes(); + await handler(req, res); + expect(res._status).toBe(200); + expect(res._headers["Content-Type"]).toBe("application/json"); + }); + + test("response has spacecrafts wrapper key with array", async () => { + const req = mockReq(); + const res = mockRes(); + await handler(req, res); + expect(res._body).toHaveProperty("spacecrafts"); + expect(Array.isArray(res._body.spacecrafts)).toBe(true); + }); + + test("returns all 113 spacecrafts when no filters", async () => { + const req = mockReq(); + const res = mockRes(); + await handler(req, res); + expect(res._body.spacecrafts).toHaveLength(113); + }); + + test("each record has required id and name fields", async () => { + const req = mockReq(); + const res = mockRes(); + await handler(req, res); + for (const record of res._body.spacecrafts) { + expect(typeof record.id).toBe("number"); + expect(typeof record.name).toBe("string"); + expect(record.name.length).toBeGreaterThan(0); + } + }); + + test("filters by status (case-insensitive)", async () => { + const res1 = mockRes(); + await handler(mockReq({ status: "active" }), res1); + const res2 = mockRes(); + await handler(mockReq({ status: "ACTIVE" }), res2); + expect(res1._body.spacecrafts.length).toBeGreaterThan(0); + expect(res1._body.spacecrafts).toEqual(res2._body.spacecrafts); + for (const r of res1._body.spacecrafts) { + expect(r.status).toBe("active"); + } + }); + + test("filters by orbit_type", async () => { + const res = mockRes(); + await handler(mockReq({ orbit_type: "GEO" }), res); + expect(res._body.spacecrafts.length).toBeGreaterThan(0); + for (const r of res._body.spacecrafts) { + expect(r.orbit_type).toBe("GEO"); + } + }); + + test("multiple filters narrow results (AND logic)", async () => { + const resAll = mockRes(); + await handler(mockReq({ orbit_type: "GEO" }), resAll); + + const resBoth = mockRes(); + await handler(mockReq({ orbit_type: "GEO", status: "decommissioned" }), resBoth); + + expect(resBoth._body.spacecrafts.length).toBeLessThanOrEqual(resAll._body.spacecrafts.length); + for (const r of resBoth._body.spacecrafts) { + expect(r.orbit_type).toBe("GEO"); + expect(r.status).toBe("decommissioned"); + } + }); + + test("unknown filter param is ignored, returns full collection", async () => { + const res = mockRes(); + await handler(mockReq({ not_a_field: "foo" }), res); + expect(res._body.spacecrafts).toHaveLength(113); + }); + + test("filter that matches nothing returns empty array", async () => { + const res = mockRes(); + await handler(mockReq({ status: "this_does_not_exist" }), res); + expect(res._body.spacecrafts).toHaveLength(0); + }); +}); diff --git a/tests/api/stats.test.js b/tests/api/stats.test.js new file mode 100644 index 0000000..40b6923 --- /dev/null +++ b/tests/api/stats.test.js @@ -0,0 +1,75 @@ +const handler = require("../../api/stats"); +const { mockReq, mockRes } = require("../helpers/mock"); + +describe("GET /api/stats", () => { + let body; + + beforeAll(async () => { + const res = mockRes(); + await handler(mockReq(), res); + body = res._body; + }); + + test("returns 200 with application/json header", async () => { + const res = mockRes(); + await handler(mockReq(), res); + expect(res._status).toBe(200); + expect(res._headers["Content-Type"]).toBe("application/json"); + }); + + test("response has all top-level sections", () => { + expect(body).toHaveProperty("totals"); + expect(body).toHaveProperty("spacecraft_missions"); + expect(body).toHaveProperty("spacecrafts"); + expect(body).toHaveProperty("customer_satellites"); + expect(body).toHaveProperty("launchers"); + }); + + test("totals match actual collection sizes", () => { + expect(body.totals.spacecrafts).toBe(113); + expect(body.totals.launchers).toBe(81); + expect(body.totals.customer_satellites).toBe(75); + expect(body.totals.centres).toBe(44); + expect(body.totals.spacecraft_missions).toBe(64); + }); + + test("mission status counts sum to total missions", () => { + const sum = Object.values(body.spacecraft_missions.by_status).reduce((a, b) => a + b, 0); + expect(sum).toBe(body.totals.spacecraft_missions); + }); + + test("mission orbit_type counts sum to total missions", () => { + const sum = Object.values(body.spacecraft_missions.by_orbit_type).reduce((a, b) => a + b, 0); + expect(sum).toBe(body.totals.spacecraft_missions); + }); + + test("mission type counts sum to total missions", () => { + const sum = Object.values(body.spacecraft_missions.by_mission_type).reduce((a, b) => a + b, 0); + expect(sum).toBe(body.totals.spacecraft_missions); + }); + + test("spacecraft status counts sum to total spacecrafts", () => { + const sum = Object.values(body.spacecrafts.by_status).reduce((a, b) => a + b, 0); + expect(sum).toBe(body.totals.spacecrafts); + }); + + test("customer satellite country counts sum to total satellites", () => { + const sum = Object.values(body.customer_satellites.by_country).reduce((a, b) => a + b, 0); + expect(sum).toBe(body.totals.customer_satellites); + }); + + test("total_mass_kg is a positive number", () => { + expect(typeof body.customer_satellites.total_mass_kg).toBe("number"); + expect(body.customer_satellites.total_mass_kg).toBeGreaterThan(0); + }); + + test("launcher vehicle_family counts sum to total launchers", () => { + const sum = Object.values(body.launchers.by_vehicle_family).reduce((a, b) => a + b, 0); + expect(sum).toBe(body.totals.launchers); + }); + + test("known statuses present in mission breakdown", () => { + const statuses = Object.keys(body.spacecraft_missions.by_status); + expect(statuses).toEqual(expect.arrayContaining(["active", "decommissioned", "failed"])); + }); +}); diff --git a/tests/data/integrity.test.js b/tests/data/integrity.test.js new file mode 100644 index 0000000..a82b1fa --- /dev/null +++ b/tests/data/integrity.test.js @@ -0,0 +1,189 @@ +/** + * Data integrity tests — verify that the JSON data files meet + * the quality standards established by the normalization pipeline. + * These tests act as a regression guard against scraper regressions + * or manual edits that corrupt the schema. + */ + +const spacecraftsData = require("../../data/spacecrafts.json"); +const launchersData = require("../../data/launchers.json"); +const customerSatellitesData = require("../../data/customer_satellites.json"); +const centresData = require("../../data/centres.json"); +const missionsData = require("../../data/spacecraft_missions.json"); + +const ISO_DATE = /^\d{4}-\d{2}-\d{2}$/; +const VALID_STATUSES = ["active", "decommissioned", "failed", "unknown"]; +const VALID_ORBIT_TYPES = ["LEO", "SSO", "GEO", "Lunar", "Interplanetary", "Failed"]; +const VALID_VEHICLE_FAMILIES = ["SLV", "ASLV", "PSLV", "GSLV", "GSLV Mk III", "LVM-3", "RLV", "Scramjet-TD"]; + +describe("data/spacecrafts.json", () => { + const records = spacecraftsData.spacecrafts; + + test("has 113 records", () => expect(records).toHaveLength(113)); + + test("all IDs are unique positive integers", () => { + const ids = records.map((r) => r.id); + expect(new Set(ids).size).toBe(records.length); + for (const id of ids) expect(Number.isInteger(id) && id > 0).toBe(true); + }); + + test("all names are non-empty strings", () => { + for (const r of records) { + expect(typeof r.name).toBe("string"); + expect(r.name.trim().length).toBeGreaterThan(0); + } + }); + + test("no trailing whitespace in names", () => { + for (const r of records) { + expect(r.name).toBe(r.name.trim()); + } + }); + + test("non-null launch_dates are ISO 8601", () => { + for (const r of records) { + if (r.launch_date !== null) expect(r.launch_date).toMatch(ISO_DATE); + } + }); + + test("non-null mass_kg values are positive numbers", () => { + for (const r of records) { + if (r.mass_kg !== null) { + expect(typeof r.mass_kg).toBe("number"); + expect(r.mass_kg).toBeGreaterThan(0); + } + } + }); + + test("non-null status values are from known enum", () => { + for (const r of records) { + if (r.status !== null) expect(VALID_STATUSES).toContain(r.status); + } + }); + + test("non-null orbit_type values are from known enum", () => { + for (const r of records) { + if (r.orbit_type !== null) expect(VALID_ORBIT_TYPES).toContain(r.orbit_type); + } + }); +}); + +describe("data/spacecraft_missions.json", () => { + const records = missionsData.spacecraft_missions; + + test("has 64 records", () => expect(records).toHaveLength(64)); + + test("all IDs are unique positive integers", () => { + const ids = records.map((r) => r.id); + expect(new Set(ids).size).toBe(records.length); + for (const id of ids) expect(Number.isInteger(id) && id > 0).toBe(true); + }); + + test("all records have a status field from known enum", () => { + for (const r of records) { + expect(VALID_STATUSES).toContain(r.status); + } + }); + + test("non-null launch_dates are ISO 8601", () => { + for (const r of records) { + if (r.launch_date !== null) expect(r.launch_date).toMatch(ISO_DATE); + } + }); + + test("non-null orbit_type values are from known enum", () => { + for (const r of records) { + if (r.orbit_type !== null) expect(VALID_ORBIT_TYPES).toContain(r.orbit_type); + } + }); + + test("non-null mass_kg values are positive numbers", () => { + for (const r of records) { + if (r.mass_kg !== null) { + expect(typeof r.mass_kg).toBe("number"); + expect(r.mass_kg).toBeGreaterThan(0); + } + } + }); + + test("non-null power_watts values are positive numbers", () => { + for (const r of records) { + if (r.power_watts !== null) { + expect(typeof r.power_watts).toBe("number"); + expect(r.power_watts).toBeGreaterThan(0); + } + } + }); + + test("no record has values in wrong fields (mass field not a spacecraft name)", () => { + for (const r of records) { + if (r.mass_kg !== null) { + expect(typeof r.mass_kg).toBe("number"); + } + } + }); +}); + +describe("data/customer_satellites.json", () => { + const records = customerSatellitesData.customer_satellites; + + test("has 75 records", () => expect(records).toHaveLength(75)); + + test("all IDs are unique positive integers", () => { + const ids = records.map((r) => r.id); + expect(new Set(ids).size).toBe(records.length); + }); + + test("non-null launch_dates are ISO 8601", () => { + for (const r of records) { + if (r.launch_date !== null) expect(r.launch_date).toMatch(ISO_DATE); + } + }); + + test("non-null mass_kg values are positive numbers", () => { + for (const r of records) { + if (r.mass_kg !== null) { + expect(typeof r.mass_kg).toBe("number"); + expect(r.mass_kg).toBeGreaterThan(0); + } + } + }); + + test("country names are title case (not all-caps)", () => { + for (const r of records) { + if (r.country !== null) { + expect(r.country).toBe(r.country.charAt(0).toUpperCase() + r.country.slice(1)); + expect(r.country).not.toBe(r.country.toUpperCase()); + } + } + }); +}); + +describe("data/launchers.json", () => { + const records = launchersData.launchers; + + test("has 81 records", () => expect(records).toHaveLength(81)); + + test("non-null vehicle_family values are from known enum", () => { + for (const r of records) { + if (r.vehicle_family !== null) { + expect(VALID_VEHICLE_FAMILIES).toContain(r.vehicle_family); + } + } + }); +}); + +describe("data/centres.json", () => { + const records = centresData.centres; + + test("has 44 records", () => expect(records).toHaveLength(44)); + + test("all records use lowercase field names (not Place/State)", () => { + for (const r of records) { + expect(r).not.toHaveProperty("Place"); + expect(r).not.toHaveProperty("State"); + expect(r).toHaveProperty("place"); + expect(r).toHaveProperty("state"); + } + }); +}); diff --git a/tests/helpers/mock.js b/tests/helpers/mock.js new file mode 100644 index 0000000..2376413 --- /dev/null +++ b/tests/helpers/mock.js @@ -0,0 +1,31 @@ +/** + * Minimal req/res mocks for testing Vercel serverless handlers directly. + * No HTTP server needed — handlers are just async functions. + */ + +function mockReq(query = {}) { + return { query }; +} + +function mockRes() { + const res = { + _status: 200, + _body: null, + _headers: {}, + status(code) { + this._status = code; + return this; + }, + send(body) { + this._body = body; + return this; + }, + setHeader(key, val) { + this._headers[key] = val; + return this; + }, + }; + return res; +} + +module.exports = { mockReq, mockRes };