Files
test/getonerain.py
2025-11-27 22:25:36 +00:00

64 lines
1.5 KiB
Python

import time
import requests
import json
import geojson
from shapely.geometry import Polygon, LineString, Point
from shapely import wkt
import psycopg2
import psycopg2.extensions
from psycopg2.extras import Json
conn = psycopg2.connect(host='localhost', database='nws', user='nws', password='nws')
cursor = conn.cursor()
#Bounding box of CWA
url = 'https://wvdhsem.onerain.com/export/map/geojson/?method=sites&view=fb358463-0d34-42b9-b86e-32aee53d3fd2'
potato = ''
features = []
alldata = []
S = requests.Session()
response = json.loads(requests.get(url).text)
alltings = []
for p in response['features']:
if p['properties']['system'] != 'USGS':
if p['properties']['status'] == 1:
sitetype = 'unknown'
siteid = p['properties']['site_id']
sitename = p['properties']['name']
lon = p['geometry']['coordinates'][0]
lat = p['geometry']['coordinates'][1]
if "MET" in sitename:
sitetype = 'MET'
if "Rain" in sitename:
sitetype = 'Rain'
tings = [siteid, sitename, lat, lon, sitetype]
sql = 'INSERT INTO onerainsites (siteid, sitename, lat, lon, sitetype) VALUES (%s,%s,%s,%s,%s) ON CONFLICT DO NOTHING'
cursor.execute(sql,tings)
conn.commit()
print(alltings)
cursor.close()
conn.close()
def del_none(d):
for key, value in list(d.items()):
if value is None:
del d[key]
elif isinstance(value, dict):
del_none(value)
return d # For convenience