예제 #1
0
 /**
  * @param null|int $fileId The database ID for the time-series to load TwlData Points for.
  *
  * @throws InvalidOperationException If database credentials have not been set.
  */
 public final function loadTwlTimeSeries($fileId = NULL)
 {
     if (is_null(self::$databaseCredentials)) {
         throw new InvalidOperationException('Database credentials must be set at the class level to allow this action to take place.');
     }
     TwlFile::setDatabaseCredentials(self::$databaseCredentials);
     TwlTimeSeries::setDatabaseCredentials(self::$databaseCredentials);
     if (is_null($fileId)) {
         $fileData = TwlFile::getLatestFileData($this->getSiteName());
         $fileId = (int) $fileData['file_id'];
     }
     $timeSeriesId = (int) TwlTimeSeries::findClosestTimeSeries($this->position);
     $this->timeSeries = TwlTimeSeries::loadTimeSeries($fileId, $timeSeriesId);
 }
예제 #2
0
    FROM
        twl_files
    WHERE
        site_id = :selectedSiteId
        ORDER BY dateTime DESC
    LIMIT 25
MYSQL;
$availableFilesParams['selectedSiteId'] = $siteId;
$availableFilesResult = DatabaseHelper::query($DBH, $availableFilesQuery, $availableFilesParams);
$availableFiles = $availableFilesResult->fetchAll(PDO::FETCH_ASSOC);
if (empty($availableFiles)) {
    exit;
}
$fileId = filter_input(INPUT_GET, 'selectedFileId', FILTER_VALIDATE_INT);
if (empty($fileId)) {
    $latestFileData = TwlFile::getLatestFileData($siteName);
    $fileId = $latestFileData['file_id'];
} else {
    $fileData = TwlFile::getDateTimeFromId($fileId);
    if (empty($fileData)) {
        exit;
    }
}
$duneQuery = <<<MYSQL
    SELECT
        dune_id AS dId,
        latitude AS la,
        longitude AS lo,
        toe,
        crest
    FROM