baseURL = $baseURL; } public function isAlive() { return $this->call(__FUNCTION__, array()); } public function getObsDataTree() { return $this->call(__FUNCTION__, array()); } public function getTimeTablesList($userID = "", $password = "") { $params = array('parameters' => array()); if ($userID != "" && $password != "") { $params['parameters'] = array( "userID" => $userID, "password"=> $password ); } return $this->call(__FUNCTION__, $params); } public function getTimeTable($ttID, $userID = "", $password = "") { $params = array('parameters' => array()); if ($userID != "" && $password != "") { $params['parameters'] = array( "userID" => $userID, "password"=> $password ); } $params['parameters']['ttID'] = $ttID; return $this->call(__FUNCTION__, $params); } public function getParameterList($userID, $password = "") { $params = array('parameters' => array( "userID" => $userID )); if ($password != "") $params['parameters']["password"] = $password; return $this->call(__FUNCTION__, $params); } public function getParameter($startTime, $stopTime, $parameterID, $sampling = 0, $userID = "", $password = "", $outputFormat = WSOutputFileFormat::NETCDF, $timeFormat = WSOutputTimeFormat::ISO, $gzip = 0) { $params = array('parameters' => array( "startTime" => $startTime, "stopTime" => $stopTime, "parameterID" => $parameterID, "outputFormat" => $outputFormat, "timeFormat" => $timeFormat, "gzip" => $gzip )); if ($sampling > 0) $params["parameters"]["sampling"] = $sampling; if ($userID != "" && $password != "") { $params["parameters"]["userID"] = $userID; $params["parameters"]["password"] = $password; } return $this->call(__FUNCTION__, $params); } public function getDataset($startTime, $stopTime, $datasetID, $sampling = 0, $userID = "", $password = "", $outputFormat = WSOutputFileFormat::NETCDF, $timeFormat = WSOutputTimeFormat::ISO, $gzip = 0) { $params = array('parameters' => array( "startTime" => $startTime, "stopTime" => $stopTime, "datasetID" => $datasetID, "outputFormat" => $outputFormat, "timeFormat" => $timeFormat, "gzip" => $gzip )); if ($sampling > 0) $params["parameters"]["sampling"] = $sampling; if ($userID != "" && $password != "") { $params["parameters"]["userID"] = $userID; $params["parameters"]["password"] = $password; } return $this->call(__FUNCTION__, $params); } public function getOrbites($startTime, $stopTime, $spacecraft, $coordinateSystem, $units = WSOrbitUnit::KM, $sampling = 0, $userID = "", $password = "", $outputFormat = WSOutputFileFormat::NETCDF, $timeFormat = WSOutputTimeFormat::ISO, $gzip = 0) { $params = array('parameters' => array( "startTime" => $startTime, "stopTime" => $stopTime, "spacecraft" => $spacecraft, "coordinateSystem" => $coordinateSystem, "units" => $units, "outputFormat" => $outputFormat, "timeFormat" => $timeFormat, "gzip" => $gzip )); if ($sampling > 0) $params["parameters"]["sampling"] = $sampling; if ($userID != "" && $password != "") { $params["parameters"]["userID"] = $userID; $params["parameters"]["password"] = $password; } return $this->call(__FUNCTION__, $params); } public function getPlot($startTime, $stopTime, $missionID, $userID = "", $password = "") { $params = array('parameters' => array( "startTime" => $startTime, "stopTime" => $stopTime, "missionID" => $missionID )); if ($userID != "" && $password != "") { $params["parameters"]["userID"] = $userID; $params["parameters"]["password"] = $password; } return $this->call(__FUNCTION__, $params); } public function getResultPlot($plotDirectoryURL) { $params = array('parameters' => array( "plotDirectoryURL" => $plotDirectoryURL )); return $this->call(__FUNCTION__, $params); } private function call($function, $params) { $functionURL = $this->baseURL."/".$function.".php"; if (isset($params['parameters'])) { $isFirstParam = true; foreach ($params['parameters'] as $paramName => $paramValue) { if ($isFirstParam) $functionURL .= "?"; else $functionURL .= "&"; $functionURL .= $paramName."=".$paramValue; } } return file_get_contents($functionURL); } } ?>