sistema:estaciones_meteo

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
sistema:estaciones_meteo [2016/09/29 13:30]
jan [Cambios a realizar a partir del imagen de rasbian existente y en el servidor GeOrellana]
sistema:estaciones_meteo [2019/02/04 15:06] (actual)
Francisco Aguilar [Documentación técnica]
Línea 51: Línea 51:
 El GADPO tiene dos estaciones de este tipo. El GADPO tiene dos estaciones de este tipo.
  
-Resetear el data logger borrando toda la información con weewx usando el comando ''​wee_device --set-interval=600''​ y luego ''​wee_device --set-interval=60''​+Resetear el data logger borrando toda la información con weewx, ubicandose en el directorio /​home/​weewx/​bin ​usando el comando ''​./wee_device --set-interval=600''​ y luego ''​./wee_device --set-interval=60''​
  
 A parte de resetear el data logger sería necesario borrar la base de datos sqlite de weewx y reiniciar weewx. A parte de resetear el data logger sería necesario borrar la base de datos sqlite de weewx y reiniciar weewx.
Línea 80: Línea 80:
  
 ==== Cambios a realizar a partir del imagen de rasbian existente y en el servidor GeOrellana==== ==== Cambios a realizar a partir del imagen de rasbian existente y en el servidor GeOrellana====
 +
 +<code bash>
 +# crear el clon con debian
 +sudo dd bs=4M if=/​dev/​mmcblk0 of=calmituyacu.img
 +# pasar el clone a una tarjeta SD
 +sudo dd bs=4M if=calmituyacu.img of=/​dev/​mmcblk0
 +</​code>​
  
   * Actualizar sistema ''​sudo apt-get update'',​ ''​sudo apt-get upgrade'' ​   * Actualizar sistema ''​sudo apt-get update'',​ ''​sudo apt-get upgrade'' ​
Línea 95: Línea 102:
     * nombre de la tabla de destino (medidas_calmituyacu)     * nombre de la tabla de destino (medidas_calmituyacu)
   * PostGIS: Crear tabla de medidas de la estación, por ejemplo usando psql con usuario postgres. Owner es weather, gadpo tiene permisos lectura<​code sql>   * PostGIS: Crear tabla de medidas de la estación, por ejemplo usando psql con usuario postgres. Owner es weather, gadpo tiene permisos lectura<​code sql>
-CREATE TABLE meteo.medidas_calmituyacu;​ 
 ALTER TABLE meteo.medidads_calmituyacu OWNER weather; ALTER TABLE meteo.medidads_calmituyacu OWNER weather;
 GRANT SELECT ON meteo.medidas_calmituyacu TO gadpo; GRANT SELECT ON meteo.medidas_calmituyacu TO gadpo;
 +</​code>​
  
   * Resetear datos   * Resetear datos
-    * parar servicio weewx ''/​etc/​init.d/​weewx stop'+    * parar servicio weewx ''/​etc/​init.d/​weewx stop''
     * Borrar base de datos /​home/​weewx/​archive/​weewx.sdb     * Borrar base de datos /​home/​weewx/​archive/​weewx.sdb
     * Resetear datos en consola (vea abajo)     * Resetear datos en consola (vea abajo)
  
-  * iniciar cronjob (descomentarlo) +  * iniciar cronjob ​del stetl / sospilot ​(descomentarlo) ​DESPUES DE HABER CALIBRADA LA ESTACIÓN Y AVERIGUADO SI LA TABLA DE MEDIDAS EN POSTGIS ESTÁ VACÍA Y SIN MEDIDAS ERRONEAS. 
-</​code>​+
  
 ==== Descripción rápida de la instalación ==== ==== Descripción rápida de la instalación ====
Línea 210: Línea 217:
 git clone https://​github.com/​Geonovum/​sospilot.git git clone https://​github.com/​Geonovum/​sospilot.git
 cd sospilot cd sospilot
 +</​code>​
 +Optimizar el uso de la swap
 +Para ello editar el archivo sysctl.conf y añadir al final del archivo lo siguiente vm.swappiness=10
 +<code bash>
 +sudo gedit /​etc/​sysctl.conf
 +vm.swappiness=10
 </​code>​ </​code>​
 ===== Integración en GeOrellana y el uso de estandares abiertos ===== ===== Integración en GeOrellana y el uso de estandares abiertos =====
Línea 236: Línea 249:
 === La tabla de las estaciones meteorológicas === === La tabla de las estaciones meteorológicas ===
  
-<WRAP center round important 60%> +La tabla de las estaciones meteorológicas con unos atributos mínimas (si necesario se ampliará en un futuro).
-Estandarizar esta tabla+
-</​WRAP>​ +
 <code sql> <code sql>
--- +CREATE TABLE meteo.estacion_meteo 
--- Name: stations; Type: TABLE; Schema: meteo; Owner: gadpo; Tablespace:​ +
--- +  gid serial ​NOT NULL, 
-CREATE TABLE meteo.stations ​+  ​geom ​geometry(MultiPoint,32718), 
-    gid integer ​NOT NULL UNIQUE PRIMARY KEY+  fcode character varying(5) DEFAULT '​JC000'::​character varying, 
-    ​point ​geometry (Point,4326), +  nam character varying(80)
-    ​wmo ​character varying, +  ​rem ​character varying(5)
-    ​station_code integer+  eme character varying(50)
-    ​name ​character varying, +  msl numeric
-    ​obs_pres integer+  fis date
-    ​obs_wind integer+  efu character varying(10)
-    ​obs_temp integer+  txt date
-    ​obs_hum integer+  web character varying(20)
-    ​obs_prec integer+  ​CONSTRAINT estacion_meteo_pkey PRIMARY KEY (gid) 
-    ​obs_rad integer+) 
-    ​obs_vis integer, +WITH ( 
-    ​obs_clouds integer, +  ​OIDS=FALSE
-    ​obs_presmeteo integer, +
-    obs_snowdepth integer, +
-    obs_soiltemp integer, +
-    lon double precision,​ +
-    lat double precision, +
-    ​height double precision+
 ); );
 +ALTER TABLE meteo.estacion_meteo
 +  OWNER TO gadpo;
 +GRANT ALL ON TABLE meteo.estacion_meteo TO gadpo;
 +GRANT SELECT ON TABLE meteo.estacion_meteo TO weather;
 +
 +-- Index: meteo.sidx_estacion_meteo_geom
 +
 +-- DROP INDEX meteo.sidx_estacion_meteo_geom;​
 +
 +CREATE INDEX sidx_estacion_meteo_geom
 +  ON meteo.estacion_meteo
 +  USING gist
 +  (geom);
 +
  
-CREATE INDEX stations_point_idx ON meteo.stations USING gist (point); 
 </​code>​ </​code>​
  
Línea 330: Línea 347:
   outtempbatterystatus real,   outtempbatterystatus real,
   intempbatterystatus real,   intempbatterystatus real,
-  CONSTRAINT ​measurements_pkey ​PRIMARY KEY (datetime)+  CONSTRAINT ​medidas_calmituyacu_pkey ​PRIMARY KEY (datetime)
 ) )
 WITH ( WITH (
Línea 340: Línea 357:
 </​code>​ </​code>​
  
-<WRAP center round todo 60%> +Y la vista de las medidas ​de una estación estandarizada según ​el catálogo de objetos geográficos ​del ecuador:
-PENDIENTE crear vista estandarizada de la tabla de las estaciones al catálogo nacional ​de objetos geográficos! +
-</​WRAP>​ +
- +
-=== Las vistas de las observaciones === +
- +
-Las vistas estandarizadas con las observaciones se encuentran en el esquema clima, también la vista con la última observación. +
- +
-<WRAP center round todo 60%> +
-PENDIENTE crear una vista a partir del esquema de la tabla de las medidas al catálogo ​nacional ​de objetos geográficos.  +
- +
-Descarga de tablas resumenes de las estaciones. +
-</​WRAP>​+
 <code sql> <code sql>
--- VIEWS +CREATE VIEW meteo.m_calmituyacu SELECT 
- +    ​'​JA000'::​character varying(5) AS fcode
--- SELECT to_timestamp(datetime),​ "​datetime","​pressure","​outtemp"​ FROM "​meteo"​."​measurements"​ +    ​m.rem
-CREATE VIEW meteo.v_observations AS +    ​m.rain AS pcp
-  ​SELECT +    round(((outtemp-32.0)*5.0/​9.0)::​numeric) as tse, 
-    ​meas.datetime+    m.outhumidity as hre
-    ​meas.station_code+    round(windDir::numeric) as dvi
-    ​stations.name as station_name,​ +    round((windSpeed*1.61)/​3.6::​numeric) as fvi
-    to_timestamp(datetime) as time+    (to_timestamp(m.datetime) AT TIME ZONE '​UTC-5'​)::time AS hor
-    round(((outtemp-32.0)*5.0/​9.0)::​numeric) as outtemp_c+    (to_timestamp(m.datetimeAT TIME ZONE 'UTC-5')::date AS fec
-    round((windSpeed*1.61)/​3.6::numeric) as windspeed_mps+    ​'​Gobierno Descentralizado de la Provincia de Orellana'​::character varying(50AS ist,  
-    round((windGust*1.61)/​3.6::​numeric) as windgust_mps+    ​'​Automática'​::character varying(10AS tie
-    ​round(windDir::numeric) as winddir_deg+    ​m.barometer*33.8638866667 AS barometro,​ 
-    ​round(((windchill-32.0)*5.0/9.0)::numeric) as windchill_c+    s.geom ​as geom 
-    ​meas.rainRate,​ +    FROM meteo.medidas_jekannyty ​as m 
-    round((pressure*33.8638815)::numericas pressure_mbar+  INNER JOIN meteo.estacion_meteo ​AS s 
-    ​round(outhumidity::numericas outhumidity_perc+      ON m.rem s.rem ORDER BY datetime DESC;
-    ​stations.point as point +
-  FROM meteo.measurements ​as meas +
-  INNER JOIN meteo.stations ​AS stations +
-      ON meas.station_code ​stations.station_code ​ORDER BY datetime DESC;+
 </​code>​ </​code>​
- 
-<WRAP center round todo 60%> 
-PENDIENTE crear vista de la tabla de las últimas medidas según el catálogo nacional de objetos geográficos! 
- 
-SERÍA UNIR LAS TABLAS DE LAS ESTACIONES a meteo_meassurements para luego group by y tener la medida más reciente a mano. 
-</​WRAP>​ 
- 
-<code sql> 
--- Laatste Metingen per Station 
-CREATE VIEW weather.v_last_observations AS 
-  SELECT DISTINCT ON (station_code) station_code,​ 
-    station_name,​ 
-    datetime, 
-    time, 
-    outtemp_c, 
-    windspeed_mps,​ 
-    windgust_mps,​ 
-    winddir_deg,​ 
-    windchill_c,​ 
-    rainRate, 
-    pressure_mbar,​ 
-    outhumidity_perc,​ 
-    point 
-  FROM meteo.v_observations;​ 
-</​code>​ 
- 
  
 ==== Configurar stetl ==== ==== Configurar stetl ====
Línea 420: Línea 395:
 . ../​options-calmituyacu.sh . ../​options-calmituyacu.sh
  
-export ​options="​host=geo.gporellana.gob.ec port=5432 weewx_db=$WEEWX_DB user=$PGUSER password=$PGPASSWORD database=georellana ​schema=meteo table=medidas_calmituyacu"​+export ​pg_options="​host=geo.gporellana.gob.ec port=5432 weewx_db=$WEEWX_DB user=$PGUSER password=$PGPASSWORD database=gadpo schema=meteo table=medidas_calmituyacu"​
 </​code>​ </​code>​
  
Línea 442: Línea 417:
 query = SELECT * from archive WHERE dateTime > %d ORDER BY dateTime LIMIT 1000 query = SELECT * from archive WHERE dateTime > %d ORDER BY dateTime LIMIT 1000
  
-table = medidas_calmituyacu+table = {table}
 </​code>​ </​code>​