Geographic Information Technological Aid Network

  • Home
  • Calendrier des salles informatiques
  • Données
  • Logiciels
  • Équipement

1.1 La base de données RACE est accessible depuis le réseau Internet en étant sur le réseau ULiège via le VPN


Voici 3 grands types d’utilisation de requêtes pour une exploitation sous forme de tableaux, de cartes ou de graphiques.

1.1.1 Requêtes depuis pgAdmin pour une utilisation sous forme de tableau
1.1.2 Requêtes sous forme de « view » pour une utilisation dans QGIS
1.1.3 Requêtes pour préparer des graphiques dans « R »


1.1.1 Requêtes depuis pgAdmin

Extraction des données du mât météo (INSJD) entre deux dates

SELECT
  data.daytime,
  data.dataparam_codeparam,
  data.datavalue,
  station.codesta
FROM
  public.station,
  public.timeseries,
  public.data
WHERE
  station.codesta = timeseries.tssta_codesta AND
  timeseries.codeds = data.dasa_codeds AND
  data.daytime >= '2011-10-08 00:00:00'  AND
  data.daytime <= '2011-10-20 00:00:00'  AND
  station.codesta =  'INSJD'
ORDER BY
  data.daytime ASC,
  data.dataparam_codeparam ASC;

 

 

Moyennes journalières des données du mât météo (INSJD) entre deux dates sous forme de tableau en utilisant des "views" prédéfinies

SELECT
  date_part('YEAR',view_matmeteo_windspeed.daytime) as year,
  date_part('month',view_matmeteo_windspeed.daytime) as month,
  date_part('DAY',view_matmeteo_windspeed.daytime) as day,  
  count(view_matmeteo_windspeed.daytime),
  round(cast(avg(view_matmeteo_windspeed.windspeed)as numeric),3) as windspeed,  
  round(cast(avg(view_matmeteo_windgust.windgust)as numeric),3) as windgust,
  round(cast(mod(CAST(degrees(atan2((sum(sin(radians(view_matmeteo_winddir.winddir)))),(sum(cos(radians(view_matmeteo_winddir.winddir))))))+360 AS NUMERIC),360.0)as numeric),3) as winddir,
  round(cast(avg(view_matmeteo_airtemp.airtemp)as numeric),3) as airtemp,
  round(cast(avg(view_matmeteo_relhum.relhum)as numeric),3) as relhum,
  round(cast(avg(view_matmeteo_atmpress.atmpress)as numeric),3) as atmpress,
  round(cast(avg(view_matmeteo_solrad.solrad)as numeric),3) as solrad
FROM
  public.view_matmeteo_windspeed,
  public.view_matmeteo_windgust,
  public.view_matmeteo_winddir,
  public.view_matmeteo_airtemp,
  public.view_matmeteo_relhum,
  public.view_matmeteo_atmpress,
  public.view_matmeteo_solrad
WHERE
  view_matmeteo_windspeed.daytime = view_matmeteo_windgust.daytime AND
  view_matmeteo_windgust.daytime = view_matmeteo_winddir.daytime AND
  view_matmeteo_winddir.daytime = view_matmeteo_airtemp.daytime AND
  view_matmeteo_relhum.daytime = view_matmeteo_windspeed.daytime AND
  view_matmeteo_relhum.daytime = view_matmeteo_atmpress.daytime AND
  view_matmeteo_atmpress.daytime = view_matmeteo_solrad.daytime AND
  view_matmeteo_windspeed.daytime > '2013-04-30 23:59:59' AND
  view_matmeteo_windspeed.daytime < '2014-06-30 23:59:59'
GROUP by year, month, day
ORDER by year, month,day ;

 

 

Moyennes journalières et autres mesures statistiques des données de courants pour une timeserie

select     
    date_part('year',daytime) as my_year, date_part('month',daytime) as my_month, date_part('day',daytime) as my_day,
    tssta_codesta, depth,
    max(speed) as max_speed,min(speed) as min_speed, round(cast(avg(speed)as numeric),3) as avg_speed,
    count(speed) as Nb_valeurs_speed, max(direction) as max_direction,min(direction) as min_direction,
    round(cast(mod(CAST(degrees(atan2((sum(sin(radians(direction)))),

    (sum(cos(radians(direction))))))+360 AS NUMERIC),360.0)as numeric),3) as avg_direction, count(direction) as Nb_valeurs_direction

from
(SELECT
  data_an.daytime,
  timeseries.tssta_codesta,
  timeseries.depth,
  data_an.datavalue as speed,
  cast(NULL as real) as direction
FROM
  public.data_an,
  public.timeseries
WHERE
  timeseries.codeds = data_an.dasa_codeds AND
  timeseries.tssta_codesta = 'AN004' AND
  data_an.dataparam_codeparam = 'waterspeed'
UNION SELECT
  data_an.daytime,
  timeseries.tssta_codesta,
  timeseries.depth,
  cast(NULL as real) as speed,
  data_an.datavalue as direction
FROM
  public.data_an,
  public.timeseries
WHERE
  timeseries.codeds = data_an.dasa_codeds AND
  timeseries.tssta_codesta = 'AN004' AND
  data_an.dataparam_codeparam = 'waterdir') tabletempo
GROUP BY
  my_year, my_month, my_day, tssta_codesta, depth
ORDER BY
  my_year, my_month, my_day;

 

1.1.2 Requêtes sous forme de « view » pour une utilisation dans QGIS

Nombre de mesures de vitesse du courant par station
 

CREATE OR REPLACE VIEW public.s012915_viewmaster_number_measures_waterspeed_data_an_by_statio AS
 SELECT timeseries.tssta_codesta, data_an.dataparam_codeparam,
    count(data_an.datavalue) AS count, timeseries.the_geom
   FROM data_an, timeseries
  WHERE timeseries.codeds = data_an.dasa_codeds AND data_an.dataparam_codeparam::text = 'waterspeed'::text
  GROUP BY timeseries.tssta_codesta, data_an.dataparam_codeparam, timeseries.the_geom
  ORDER BY timeseries.tssta_codesta;
ALTER TABLE public.s012915_viewmaster_number_measures_waterspeed_data_an_by_statio
  OWNER TO master;

 

 

 

1.1.3 Requêtes pour préparer des graphiques dans « R »

Certains "packages" dont «openair», « RPostgreSQL »,  «DBI» doivent installés puis chargés pour se connecter à la BD RACE et pour faire ces graphiques.

Rose des vents pour la station (INSJD) entre deux dates

select daytime as date, speed as ws, direction as wd
    from (
    select daytime, tssta_codesta,  max(speed) as speed, max(direction) as direction
    from (
        SELECT data.daytime, timeseries.tssta_codesta, data.datavalue as speed, NULL as direction FROM public.data, public.timeseries
            WHERE timeseries.codeds = data.dasa_codeds AND  timeseries.tssta_codesta = 'INSJD' AND data.dataparam_codeparam = 'windspeed'
        UNION SELECT data.daytime, timeseries.tssta_codesta, NULL as speed, data.datavalue as direction
        FROM public.data, public.timeseries
            WHERE timeseries.codeds = data.dasa_codeds AND timeseries.tssta_codesta = 'INSJD' AND data.dataparam_codeparam = 'winddir')
    tabletempo GROUP BY daytime, tssta_codesta ORDER BY daytime)
tabletempo2 where daytime BETWEEN '2014-02-01 00:00:00' AND  '2014-03-01 00:00:00';

##Établir une connexion (sous VPN)
## Il est nécessaire d'avoir un identifiant et un login ULg pour l'établir
library(RPostgreSQL)
## loads the PostgreSQL driver
drv <- dbDriver("PostgreSQL")
## Open a connection
con <- dbConnect(drv, user= "master", password="xxxxxx", dbname="race_db_v2", host="139.165.57.180", port="5432" )
Sys.setenv(TZ = "UTC")

## loads openair library
library("openair")

##Importation dans R

datarose <- dbGetQuery(con, "select daytime as date, speed as ws, direction as wd from (select daytime, tssta_codesta,  max(speed) as speed, max(direction) as direction from (SELECT data.daytime, timeseries.tssta_codesta, data.datavalue as speed, NULL as direction FROM public.data, public.timeseries WHERE timeseries.codeds = data.dasa_codeds AND  timeseries.tssta_codesta = 'INSJD' AND data.dataparam_codeparam = 'windspeed' UNION SELECT data.daytime, timeseries.tssta_codesta, NULL as speed, data.datavalue as direction FROM public.data, public.timeseries WHERE timeseries.codeds = data.dasa_codeds AND timeseries.tssta_codesta = 'INSJD' AND data.dataparam_codeparam = 'winddir') tabletempo GROUP BY daytime, tssta_codesta ORDER BY daytime) tabletempo2 where daytime BETWEEN '2014-02-01 00:00:00' AND  '2014-03-01 00:00:00'")

windRose(datarose, type="season", angle=22.5, paddle= FALSE) 

 


 

Menu

  • Données de STARESO
    • Localisation
    • Exemples de requetes SQL
    • Graphiques
    • Vidéos explicatives
    • Graphiques-Zoom
  • Données de la Région wallonne
  • Données de l'IGN Belgique
  • Données de l'IGN France
  • Données du SPF Economie (INS)
  • Données de l'Atlas national de Belgique
  • Données de l'UE
  • Données pour exercices

Nouvelles

    24|09|2023
    Renouvellement des licences ESRI au 18/10/2023 et procédure d’acquisition de licence ArcGIS Pro

    gitan@uliege.be

    [Plus]


    3|08|2022
    Coupure du serveur de licence ArcGIS Desktop ce mardi 09/08 à partir de 07h00

    [Plus]


    29|06|2022
    Présentation des Esri Days 2020 et 2021

    [Plus]



Plus de nouvelles

© Copyright 2004-2025 - ULg - Plateforme GITAN - MB - Admin