nasaで遊んでみよう 昨日の昼頃の衛星写真

$date = "2018-03-11";
$date_url = str_replace("-", "/", $date);

$BASE_URL = "https://api.nasa.gov/EPIC/api/natural/date/".$date."?api_key=".$API_KEY."";

$obj = json_decode(file_get_contents($BASE_URL), true);

if($obj != null){
$img = $obj[2]["image"];
$img_URL = "https://epic.gsfc.nasa.gov/archive/natural/".$date_url."/jpg/".$img.".jpg";
echo "<img src=\"".$img_URL."\" width=\"350\" ><br>";
$target = $obj[2]["date"];
echo "※". date("Y-m-d H:i:s", strtotime($target . '+9hour'));
}

あれ、よく考えたら、天気予報作ろうとしてるのに、昨日の昼の雲の写真載せても全く意味がないのでは。。。しまった。

というか、衛星写真系のサービスって大量にあるんですね。。。
https://api.meteomatics.com/Overview.html

nasaで遊んでみよう 3/8~3/11までの衛星写真

<?php

// EPIC
$API_KEY = "";
$date = array(
	"2018-03-06","2018-03-07","2018-03-08","2018-03-09","2018-03-10","2018-03-11"
);

foreach($date as $value){
	$date_url = str_replace("-", "/", $value);
	$BASE_URL = "https://api.nasa.gov/EPIC/api/natural/date/".$value."?api_key=".$API_KEY."";
	$obj = json_decode(file_get_contents($BASE_URL), true);
	$img = $obj&#91;2&#93;&#91;"image"&#93;;
	$img_URL = "https://epic.gsfc.nasa.gov/archive/natural/".$date_url."/jpg/".$img.".jpg";
	echo "<img src=\"".$img_URL."\" width=\"200\" >";
}

foreach($date as $value){
	$BASE_URL = "https://api.nasa.gov/EPIC/api/natural/date/".$value."?api_key=".$API_KEY."";
	$obj = json_decode(file_get_contents($BASE_URL), true);
	echo $obj[2]["date"] . "<br>";
}
?>

毎日$obj[2][“image”]でとると、5日に1回くらいの頻度でインド洋・アフリカ大陸の衛星写真になってしまいます。

データを増やしてます。

$date = array(
	"2018-03-01","2018-03-02","2018-03-03","2018-03-04","2018-03-05","2018-03-06","2018-03-07","2018-03-08","2018-03-09","2018-03-10","2018-03-11"
);

foreach($date as $value){
	$date_url = str_replace("-", "/", $value);
	$BASE_URL = "https://api.nasa.gov/EPIC/api/natural/date/".$value."?api_key=".$API_KEY."";
	$obj = json_decode(file_get_contents($BASE_URL), true);
	if($obj != null){
		$img = $obj[2]["image"];
		$img_URL = "https://epic.gsfc.nasa.gov/archive/natural/".$date_url."/jpg/".$img.".jpg";
		echo "<img src=\"".$img_URL."\" width=\"200\" >";
	}
}

大体インドネシアあたりが中心です。

そして、肝心のdiscovrですが、「地球から太陽方向に約150万km離れた太陽-地球ラグランジュ点L1をリサジュー軌道を描きながら周回する。」とのこと。

そのリサジュー軌道とは、物体が推進力なしで三体のラグランジュ点の回りを周回することのできる擬軌道。二体の秤動点の周りのリアプノフ軌道が、二体のなす平面に完全に含まれるのに対し、リサジュー軌道はそれに垂直な平面に含まれる成分を持ち、リサジュー図形を描く。

リサジュー図形

ラグランジュ点
天体力学における円制限三体問題の5つの平衡解

円制限三体問題
三体問題とは、重力ポテンシャルの下、相互作用する三質点系の運動の問題。天体力学では万有引力により相互作用する天体の運行をモデル化した問題

推進力なしで回ってるから、毎日の写真の経度がずれるって認識でOKかな?

Nasaで遊んでみよう EPICの写真を取得

DSCOVR’s Earth Polychromatic Imaging Camera (EPIC)

nasaの画像のURLがyyyyy/mm/ddとなっているため、str_replaceで置換します。

<?php

// EPIC
$API_KEY = "hogehoge";
$date = "2018-03-10"; // YYYY-MM-DD
$date_url = str_replace("-", "/", $date);

$BASE_URL = "https://api.nasa.gov/EPIC/api/natural/date/".$date."?api_key=".$API_KEY."";


$obj = json_decode(file_get_contents($BASE_URL), true);


foreach($obj as $value){
	$img = $value&#91;"image"&#93;;
	$img_URL = "https://epic.gsfc.nasa.gov/archive/natural/".$date_url."/jpg/".$img.".jpg";
	echo "<img src=\"".$img_URL."\" width=\"200\" >";
}

foreach($obj as $value){
	 echo $value["date"]. "<br>";
}
?>

dataを見ると、だいたい108分3秒(6483秒)に1回ごと、写真を取っているようですね。
60*60*24 / 6483 = 13.32なので、毎日、経度の位置がずれます。

2018-03-11 00:31:45
2018-03-11 04:07:50
2018-03-11 05:55:53
2018-03-11 07:43:56
2018-03-11 09:31:58
2018-03-11 11:20:01
2018-03-11 13:08:04
2018-03-11 14:56:07
2018-03-11 16:44:10
2018-03-11 18:32:13
2018-03-11 20:20:16

2018-03-10 00:50:26
2018-03-10 02:38:29
2018-03-10 04:26:33
2018-03-10 06:14:35
2018-03-10 08:02:38
2018-03-10 09:50:41
2018-03-10 11:38:44
2018-03-10 13:26:47
2018-03-10 15:14:50
2018-03-10 17:02:53
2018-03-10 18:50:56
2018-03-10 20:38:59
2018-03-10 22:27:02

2018-03-09 00:59:48
2018-03-09 02:47:51
2018-03-09 04:35:54
2018-03-09 06:23:56
2018-03-09 08:11:59
2018-03-09 10:00:02
2018-03-09 11:48:05
2018-03-09 13:36:08
2018-03-09 15:24:11
2018-03-09 17:12:14

Nasaで遊んでみよう Asteroids

Jet Propulsion Laboratory: JPLとは、Nasaのジェット推進研究所@カリフォルニア州パサデナ
Orbital Elements は軌道要素 

<?php

// Asteroids
$API_KEY = "";
$start_date = "2018-03-01"; // YYYY-MM-DD
$end_date = "2018-03-05"; // YYYY-MM-DD
$BASE_URL = "https://api.nasa.gov/neo/rest/v1/feed?start_date=".$start_date."&end_date=".$end_date."&api_key=".$API_KEY."";


$obj = json_decode(file_get_contents($BASE_URL), true);

print_r("<pre>");
var_dump($obj);
print_r("</pre>");
?>

全部数値化できるんですね。なるほど。

Nasaで遊んでみよう Astronomy Pic

<?php

// APOD
$API_KEY = "";
$Date = ""; // YYYY-MM-DD
$BASE_URL = "https://api.nasa.gov/planetary/apod?api_key=".$API_KEY."";

$obj = json_decode(file_get_contents($BASE_URL), true);

// print_r("<pre>");
// var_dump($obj);
// print_r("</pre>");

$img = $obj['hdurl'];
echo "<img src=\"".$img."\" width=\"200\" >";
?>

これは理解を超えてます。over head