initial
This commit is contained in:
110
searchapi.php
Normal file
110
searchapi.php
Normal file
@@ -0,0 +1,110 @@
|
||||
<?php
|
||||
// Connecting, selecting database
|
||||
$dbconn = pg_connect("host=localhost dbname=nws user=nws password=nws")
|
||||
or die('Could not connect: ' . pg_last_error());
|
||||
|
||||
//no gets, curent point outage info
|
||||
if(empty($_GET)) {
|
||||
$result = pg_query_params($dbconn,
|
||||
"SELECT json_build_object('type', 'FeatureCollection','features', json_agg(json_build_object('type','Feature', 'geometry', ST_AsGeoJSON(realgeom)::json,'properties',json_build_object('time',startguess,'county',county,'state',state,'outage',outagen,'lastchange',lastchange,'cause',cause))order by startguess asc)) FROM power WHERE cwa = $1 and active = true",
|
||||
array('RLX')) or die('Query failed: ' . pg_last_error());
|
||||
$resultArray = pg_fetch_all($result);
|
||||
echo($resultArray[0]['json_build_object']);
|
||||
}
|
||||
//county current
|
||||
if($_GET['county']) {
|
||||
$result = pg_query_params($dbconn,
|
||||
"SELECT distinct on (county,state) update as time, county, state, outages as outage,served FROM countyoutages where cwa = $1 order by county,state,update desc",
|
||||
array('RLX')) or die('Query failed: ' . pg_last_error());
|
||||
|
||||
while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
|
||||
$array[] = $line;
|
||||
}
|
||||
echo json_encode($array);
|
||||
}
|
||||
|
||||
//county archive
|
||||
if($_GET['countyarchive']) {
|
||||
|
||||
if($_GET['start']) {
|
||||
$starttime = pg_escape_string($_GET['start']);
|
||||
if($_GET['end']) {
|
||||
$endtime = pg_escape_string($_GET['end']);
|
||||
|
||||
|
||||
|
||||
$result = pg_query_params($dbconn,
|
||||
"SELECT county,state, update as time, county, state, outages as outage,served FROM countyoutages where cwa = $1 and update > $2 and update < $3 order by update asc",
|
||||
array('RLX',$starttime,$endtime)) or die('Query failed: ' . pg_last_error());
|
||||
|
||||
while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
|
||||
$array[] = $line;
|
||||
}
|
||||
echo json_encode($array);
|
||||
}}}
|
||||
|
||||
|
||||
//Archive point data
|
||||
if($_GET['archivepoint']) {
|
||||
if($_GET['start']) {
|
||||
$starttime = pg_escape_string($_GET['start']);
|
||||
if($_GET['end']) {
|
||||
$endtime = pg_escape_string($_GET['end']);
|
||||
$result = pg_query_params($dbconn,
|
||||
"SELECT json_build_object('type', 'FeatureCollection','features', json_agg(json_build_object('type','Feature', 'geometry', ST_AsGeoJSON(realgeom)::json,'properties',json_build_object('time',startguess,'county',county,'state',state,'outage',outagen,'lastchange',lastchange,'cause',cause))order by startguess asc)) FROM power WHERE cwa = $1 and startguess > $2 and lastchange < $3"
|
||||
,array('RLX',$starttime,$endtime)) or die('Query failed: ' . pg_last_error());
|
||||
|
||||
$resultArray = pg_fetch_all($result);
|
||||
echo($resultArray[0]['json_build_object']);
|
||||
|
||||
|
||||
}}}
|
||||
|
||||
|
||||
|
||||
//if($_GET['svr']=='current') {
|
||||
//$result = pg_query_params($dbconn,
|
||||
//"SELECT json_build_object('type', 'FeatureCollection','features', json_agg(json_build_object('type','Feature', 'geometry', ST_AsGeoJSON(nwspoly)::json,'properties',json_build_object('issue',issue,'end',endtime,'vtec',vtec,'type',warntype)))) FROM svr where issue < now() and endtime > now()"
|
||||
//,array('2023-01-01 01:00','2023-02-12 10:00')) or die('Query failed: ' . pg_last_error());
|
||||
//$resultArray = pg_fetch_all($result);
|
||||
//echo($resultArray[0]['json_build_object']);
|
||||
//}
|
||||
|
||||
if($_GET['svr']=='current') {
|
||||
$result = pg_query($dbconn,
|
||||
"SELECT json_build_object('type', 'FeatureCollection','features', json_agg(json_build_object('type','Feature', 'geometry', ST_AsGeoJSON(nwspoly)::json,'properties',json_build_object('issue',issue,'end',endtime,'vtec',vtec,'type',warntype)))) FROM svr where issue < now() and endtime > now()") or die('Query failed: ' . pg_last_error());
|
||||
$resultArray = pg_fetch_all($result);
|
||||
echo($resultArray[0]['json_build_object']);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if($_GET['svr'] == 'archive') {
|
||||
if($_GET['start']) {
|
||||
$starttime = pg_escape_string($_GET['start']);
|
||||
if($_GET['end']) {
|
||||
$endtime = pg_escape_string($_GET['end']);
|
||||
|
||||
|
||||
$result = pg_query_params($dbconn,
|
||||
"SELECT json_build_object('type', 'FeatureCollection','features', json_agg(json_build_object('type','Feature', 'geometry', ST_AsGeoJSON(nwspoly)::json,'properties',json_build_object('issue',issue,'end',endtime,'vtec',vtec,'type',warntype)))) FROM svr where issue > $1 and endtime < $2"
|
||||
,array($starttime,$endtime)) or die('Query failed: ' . pg_last_error());
|
||||
$resultArray = pg_fetch_all($result);
|
||||
echo($resultArray[0]['json_build_object']);
|
||||
}
|
||||
}
|
||||
|
||||
if(!isset($_GET['start']) && !isset($_GET['end'])) {
|
||||
$result = pg_query($dbconn,
|
||||
"SELECT json_build_object('type', 'FeatureCollection','features', json_agg(json_build_object('type','Feature', 'geometry', ST_AsGeoJSON(nwspoly)::json,'properties',json_build_object('issue',issue,'end',endtime,'vtec',vtec,'type',warntype)))) FROM svr where issue < now() - interval '24 hours' and endtime > now() - interval '24 hours'") or die('Query failed: ' . pg_last_error());
|
||||
$resultArray = pg_fetch_all($result);
|
||||
echo($resultArray[0]['json_build_object']);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
pg_free_result($result);
|
||||
pg_close($dbconn);
|
||||
?>
|
||||
Reference in New Issue
Block a user