3.2.0 • Published 5 years ago

node-bowshock v3.2.0

Weekly downloads
24
License
MIT
Repository
github
Last release
5 years ago

Screenshot

GitHub issues Build Status Coverage Status An npm Package for Node.js based on https://github.com/emirozer/bowshock bowshock is an all-in-one wrapper for NASA API's. Here is a list of currently supported API's :

Install

npm install node-bowshock

Do I need an API Key ?

YesNo
Earth
Apod
Donki
Rover
NeoWs
EPIC
EVA
EONET
ExoPlanet
Helio
GeneLab
ImgVidLib
Patents
Skymorph
SSC
SSD/CNEOS
Trek WMTS
Techport

Get your NASA API KEY from : https://data.nasa.gov/developer/external/planetary/#apply-for-an-api-key

Setting up the API Key


.env

NASA_API_KEY=########################
LOGGER=true

All functions return a promise. I might switch to observables

Apod
let bowshock = require("node-bowshock")
//with specific date and tags - For apod all args are optional
bowshock.apod("2017-03-11").then(apod => {
});
Donki
let bowshock = require("node-bowshock");
let object = {
  startDate: "2017-09-10",
  endDate: "2017-10-10"
};
bowshock.donki.CME(object);
bowshock.donki.CMEA(object);
bowshock.donki.FLR(object);
bowshock.donki.GST(object);
bowshock.donki.HSS(object);
bowshock.donki.IPS(object);
bowshock.donki.MPC(object);
bowshock.donki.notifications(object);
bowshock.donki.RBE(object);
bowshock.donki.SEP(object);
bowshock.donki.WSASim(object);
EPIC
let bowshock = require("node-bowshock");

bowshock.epic.natural();
bowshock.epic.naturalAll();
bowshock.epic.naturalDate("2018-5-15");
bowshock.epic.naturalAvailable();
bowshock.epic.enhanced();
bowshock.epic.enhancedAll();
bowshock.epic.enhancedDate("2018-5-15");
bowshock.epic.enhancedAvailable();
ExoPlanet
let bowshock = require("node-bowshock");

bowshock.exoPlanet.getSingleKOI("K00007.01");
bowshock.exoPlanet.allConfirmedPlanetsAndCols();
bowshock.exoPlanet.confirmedPlanetsInKeplerField();
bowshock.exoPlanet.starsKnownToHostExoPlanets();
bowshock.exoPlanet.confirmedPlanetsThatTransitHostStars();
bowshock.exoPlanet.currentNonConfirmedPlanetCandidates();
bowshock.exoPlanet.k2TargetsFromCapaign9();
bowshock.exoPlanet.confirmedPlanetsInMissionStarList();
bowshock.exoPlanet.allMicrolensingPlanetsWithTimeSeries();
bowshock.exoPlanet.allPlanetaryCandidatesSmallerThan2ReWithEquilibriumTemperaturesBetween180and303K();
GeneLab
let bowshock = require("node-bowshock");

bowshock.geneLab.search({ type: "cgene", term: "a" });
Image and Video Library
let bowshock = require("node-bowshock");

let obj = {
  q: "space"
  //   center: '',
  //   description: '',
  //   description_508: '',
  //   keywords: 'space',
  //   location: '',
  //   media_type: '',
  //   nasa_id: '',
  //   photographer: '',
  //   secondary_creator: '',
  //   title: '',
  //   year_start: '',
  //   year_end: ''
};
bowshock.nasaImgVideo.search(obj);

bowshock.nasaImgVideo.getAsset("Space-to-Ground_171_170407");
bowshock.nasaImgVideo.getMetadata("Space-to-Ground_171_170407");
bowshock.nasaImgVideo.getCaptions("Space-to-Ground_171_170407");
SSC
let bowshock = require("node-bowshock");

bowshock.satelliteSituationCenter.getObservatories();

bowshock.satelliteSituationCenter.getWADL();

bowshock.satelliteSituationCenter.getSpaseObservatories();

bowshock.satelliteSituationCenter.getGroundStations();

bowshock.satelliteSituationCenter.getLocations();

bowshock.satelliteSituationCenter.getGraphs();
bowshock.satelliteSituationCenter.getConjunctions();
Mars Rovers
let bowshock = require("node-bowshock");

bowshock.mars.curiosity("2015-06-03");
bowshock.mars.opportunity("2015-06-03");
bowshock.mars.spirit("2015-06-03");
bowshock.mars.manifest("curiosity");
bowshock.mars.insight({perPage: 50});
NeoWs
let bowshock = require("node-bowshock");

bowshock.neows.today(true);

bowshock.neows.stats();

bowshock.neows.feed("2015-06-03");

//Lookup a specific Asteroid based on its NASA JPL small body (SPK-ID) ID
bowshock.neows.lookup(3542519);

bowshock.neows.browse();
EVA
let bowshock = require("node-bowshock");

bowshock.eva();
EONET
let bowshock = require("node-bowshock");

bowshock.eonet.events({
  source: "InciWeb, EO",
  status: "open",
  limit: 5,
  days: 20
});

bowshock.eonet.categories({
  id: 8,
  source: "InciWeb, EO",
  status: "open",
  limit: 5,
  days: 20
});

bowshock.eonet.layers(8);
Asterank
let bowshock = require("node-bowshock");

//all args mandatory
bowshock.asterank({
  query: { e: { $lt: 0.1 }, i: { $lt: 4 }, a: { $lt: 1.5 } },
  limit: 10
});
Earth
let bowshock = require("node-bowshock");

//imagery endpoint lon & lat mandatory, rest optional
bowshock.earth.imagery({ lon: 100.75, lat: 1.5, date: "2014-02-04" });

//assets endpoint lon & lat & begin mandatory, end optional
bowshock.earth.assets({ lon: 100.75, lat: 1.5, begin: "2014-02-01" });
HelioViewer
let bowshock = require("node-bowshock");

//args are mandatory
bowshock.helioviewer.getjp2image({ date: "2014-01-01T23:59:59", sourceId: 14 });

//args are mandatory
bowshock.helioviewer.getjp2header(7654321);

//startTime, endTime and sourceId are required
bowshock.helioviewer.getJPX({
  startTime: "2014-01-01T00:00:00",
  endTime: "2014-01-01T00:45:00",
  sourceId: 14
  //linked: true,
  //cadence: 12
});

//startTime, endTime and sourceId are required
bowshock.helioviewer.getJPXClosestToMidPoint({
  startTimes: [1306886400, 1306887000, 1306887600],
  endTimes: [1306886700, 1306887300, 1306887900],
  sourceId: 14
  //linked: true
});

//startTime, endTime, layers, events, eventsLabels, and imageScale are required
bowshock.helioviewer.queueMovie({
  startTime: "2010-03-01T12:12:12",
  endTime: "2010-03-04T12:12:12",
  layers: "[3,1,100],[4,1,100]",
  events: "[AR,HMI_HARP;,SPoCA,1],[CH,all,1]",
  eventsLabels: false,
  imageScale: 21.04,
  format: "mp4",
  frameRate: 15,
  maxFrames: 300,
  scale: true,
  scaleType: "earth",
  scaleX: -1000,
  scaleY: -500,
  movieLength: 4.3333,
  watermark: true,
  width: 1920,
  height: 1200,
  x0: 0,
  y0: 0,
  x1: -5000,
  y1: -5000,
  x2: 5000,
  y2: 5000
  //callback: "Wrap the response object in a function call of your choosing."
});

bowshock.helioviewer.reQueueMovie("VXvX5");

// id and format required
bowshock.helioviewer.getMovieStatus({
  id: "VXvX5",
  format: "mp4",
  verbose: true
  //callback: "callback",
  //token: "4673d6db4e2a3365ab361267f2a9a112"
});

// id and format are required - saves movie to root directory
bowshock.helioviewer.downloadMovie({
  id: "VXvX5",
  format: "mp4",
  hq: true
});

//id, format, and height are required --opens movie in default web browser
bowshock.helioviewer.playMovie({
  id: "VXvX5",
  format: "mp4",
  height: 820
  //hq: true,
  //width: 846
});

//date, imageScale, layers, eventLabels, and height are required
bowshock.helioviewer.takeScreenshot({
  date: "2014-01-01T23:59:59",
  imageScale: 2.4204409,
  layers: "[SDO,AIA,AIA,335,1,100]",
  eventLabels: false,
  height: 1200,
  //events: "[AR,HMI_HARP;SPoCA,1],[CH,all,1]"
  //scale: false,
  //scaleType: "earth",
  //scaleX: -1000,
  //scaleY: -500,
  //width: 1920,
  //x0: 1,
  //y0: 1,
  x1: -5000,
  y1: -5000,
  x2: 5000,
  y2: 5000,
  display: true,
  watermark: false
});

bowshock.helioviewer.downloadScreenshot(3240748);

//date and sourceId are required
bowshock.helioviewer.getClosestImage({
  date: "2014-01-01T23:59:59",
  sourceId: 14
  //callback: "callback"
});

// all args are optional
bowshock.helioviewer.getDataSources({
  verbose: true,
  enable: "[Yohkoh,STEREO_A,STEREO_B]"
  //callback: "callback
});

//all args are required
bowshock.helioviewer.getTile({
  id: 36275490,
  x: -1,
  y: -1,
  imageScale: 2.42044088
});

bowshock.helioviewer.shortenURL(
  "date%3D2014-02-25T15%3A18%3A07.000Z%26imageScale%3D2.4204409%26centerX%3D-410.06307838566283%26centerY%3D-244.6662219973343%26imageLayers%3D%255BSDO%2CAIA%2CAIA%2C304%2C1%2C100%255D%26eventLayers%3D%26eventLabels%3Dtrue"
);

bowshock.helioviewer.getNewsFeed();

bowshock.helioviewer.checkYouTubeAuth();

bowshock.helioviewer.getYouTubeAuth({
  id: "F3Dh5",
  title: "Test",
  description:
    "This movie was produced by Helioviewer.org. See the original at http://helioviewer.org/?movieId=F3Dh5 or download a high-quality version from http://api.helioviewer.org/v2/downloadMovie/?id=F3Dh5&format=mp4&hq=true",
  tags: "test",
  share: true
});

bowshock.helioviewer.uploadMovieToYouTube({
  id: "F3Dh5",
  share: true
});

helioviewer.getUserVideos();
Patents
let bowshock = require("node-bowshock");

//only query is mandatory, rest is optional
bowshock.patents({ query: "temperature", concept_tags: true, limit: 5 });
Skymorph
let bowshock = require("node-bowshock");

// mandatory obj id
bowshock.skymorph.search_target_obj("J99TS7A");

//argument is a key that can be found in search_target_obj data
bowshock.skymorph.search_image(
  "|001204124410|51882.530787037|129.062741402712|4.64001695570385|128.337645|4.0726|20.70|-4.28|-11.08|n.a.|n.a.|n.a.|71.9154214757038|547.287989060186|y|"
);
SSD/CNEOS
let bowshock = require("node-bowshock");

//all args are optional
bowshock.ssd.cad({
  date_min: "2014-03-11",
  date_max: "2016-03-11"
  //dist_min: 0.05,
  //dist_max: 0.1,
  //h_min: 22,
  //h_max: 17.75,
  //v_inf_min: 5,
  //v_inf_max: 20,
  //v_rel_min: 11.2,
  //v_rel_max: 19,
  //class: "ATE",
  //pha: false,
  //nea: false,
  //comet: false,
  //neo: true,
  //kind: "a",
  //spk: 2000433,
  //des: 433,
  //body: "Earth",
  //sort: "date",
  //limit: 5,
  //fullname: true
});
//all args are optional
bowshock.ssd.fireballs({
  date_min: "2016-12-01",
  date_max: "2017-01-01",
  //energy_min: .3,
  //energy_max: 10,
  //impact_e_min: .08,
  //impact_e_max: 10,
  //vel_min: 18.5,
  //vel_max: 20,
  //alt_min: 1,
  //alt_max: 22,
  //req_loc: false,
  req_alt: false,
  req_vel: false,
  req_vel_comp: false,
  vel_comp: false,
  sort: "date",
  limit: 5
});

bowshock.ssd.nhats({
  dv: 12,
  dur: 450,
  stay: 8,
  launch: "2015-2020",
  //h: 16,
  //occ: 3,
  //spk:2000433,
  //des: "141P",
  plot: true
});

bowshock.ssd.sentry({
  spk: 2029075
  //des: 29075,
  //h_max: 50,
  //ps_min: 10,
  //ip_min: 1e-3,
  //days: 6,
  //all: false,
  //removed: false
});
Trek WMTS
let bowshock = require("node-bowshock");

bowshock.trek.mars("curiosity_ctx_mosaic");

bowshock.trek.vesta("global_LAMO");
Techport
let bowshock = require("node-bowshock");

bowshock.techport(4795);

Contributors

BTW What is "bowshock"?

Screenshot

3.2.0

5 years ago

3.1.0

5 years ago

3.0.6

5 years ago

3.0.5

5 years ago

3.0.4

5 years ago

3.0.3

5 years ago

3.0.2

5 years ago

3.0.1

5 years ago

3.0.0

5 years ago

2.99.0

6 years ago

2.98.0

6 years ago

2.97.0

6 years ago

2.96.0

6 years ago

2.95.0

6 years ago

2.94.0

6 years ago

2.93.0

6 years ago

2.92.0

6 years ago

2.91.0

6 years ago

2.90.0

6 years ago

2.89.0

6 years ago

2.88.0

6 years ago

2.87.0

6 years ago

2.86.0

6 years ago

2.85.0

6 years ago

2.84.0

6 years ago

2.83.0

6 years ago

2.82.0

6 years ago

2.81.0

6 years ago

2.80.0

6 years ago

2.79.0

6 years ago

2.78.0

6 years ago

2.77.0

6 years ago

2.76.0

6 years ago

2.75.0

6 years ago

2.74.0

6 years ago

2.73.0

6 years ago

2.72.0

6 years ago

2.71.0

6 years ago

2.70.0

6 years ago

2.69.0

6 years ago

2.68.0

6 years ago

2.67.0

6 years ago

2.66.0

6 years ago

2.65.0

6 years ago

2.64.0

6 years ago

2.63.0

6 years ago

2.62.0

6 years ago

2.61.0

6 years ago

2.60.0

6 years ago

2.59.0

6 years ago

2.58.0

6 years ago

2.57.0

6 years ago

2.56.0

6 years ago

2.55.0

6 years ago

2.54.0

6 years ago

2.53.0

6 years ago

2.52.0

6 years ago

2.51.0

6 years ago

2.50.0

6 years ago

2.49.0

6 years ago

2.48.0

6 years ago

2.47.0

6 years ago

2.46.0

6 years ago

2.45.0

6 years ago

2.44.0

6 years ago

2.43.0

6 years ago

2.42.0

6 years ago

2.41.0

6 years ago

2.40.0

6 years ago

2.39.0

6 years ago

2.38.0

6 years ago

2.37.0

6 years ago

2.36.0

6 years ago

2.35.0

6 years ago

2.34.0

6 years ago

2.33.0

6 years ago

2.32.0

6 years ago

2.31.0

6 years ago

2.29.0

6 years ago

2.28.0

6 years ago

2.27.0

6 years ago

2.26.0

6 years ago

2.25.0

6 years ago

2.24.0

6 years ago

2.23.0

6 years ago

2.22.0

6 years ago

2.21.0

6 years ago

2.20.0

6 years ago

2.19.0

6 years ago

2.18.0

6 years ago

2.17.0

6 years ago

2.16.0

6 years ago

2.15.0

6 years ago

2.14.0

6 years ago

2.13.0

6 years ago

2.12.0

6 years ago

2.11.0

6 years ago

2.10.0

6 years ago

2.9.0

6 years ago

2.8.0

6 years ago

2.7.0

6 years ago

2.6.0

6 years ago

2.5.0

6 years ago

2.4.0

6 years ago

2.3.0

6 years ago

2.2.0

6 years ago

2.0.2

7 years ago

2.0.1

7 years ago

2.0.0

7 years ago

1.4.5

7 years ago

1.4.4

7 years ago

1.4.3

7 years ago

1.4.2

7 years ago

1.4.1

7 years ago

1.4.0

7 years ago

1.3.9

7 years ago

1.3.8

7 years ago

1.3.7

7 years ago

1.3.6

7 years ago

1.3.5

7 years ago

1.3.4

7 years ago

1.3.2

7 years ago

1.3.1

7 years ago

1.3.0

7 years ago

1.2.5

7 years ago

1.2.4

7 years ago

1.2.3

7 years ago

1.2.2

7 years ago

1.2.1

7 years ago

1.2.0

7 years ago

1.1.8

7 years ago

1.1.7

7 years ago

1.1.6

7 years ago

1.1.5

7 years ago

1.1.4

7 years ago

1.1.3

7 years ago

1.1.2

7 years ago

1.1.1

7 years ago

1.1.0

7 years ago

1.0.19

7 years ago

1.0.18

7 years ago

1.0.17

7 years ago

1.0.16

7 years ago

1.0.15

7 years ago

1.0.14

7 years ago

1.0.13

7 years ago

1.0.12

7 years ago

1.0.11

7 years ago

1.0.10

7 years ago

1.0.9

7 years ago

1.0.8

7 years ago

1.0.7

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.4-npm

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

0.0.99

7 years ago

0.0.98

7 years ago

0.0.97

7 years ago

0.0.96

7 years ago

0.0.95

7 years ago

0.0.94

7 years ago

0.0.93

7 years ago

0.0.92

7 years ago

0.0.91

7 years ago

0.0.9

7 years ago

0.0.8

7 years ago

0.0.7

7 years ago

0.0.6

7 years ago

0.0.5

7 years ago

0.0.4

7 years ago

1.0.0

7 years ago

0.0.3

7 years ago

0.0.23

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago