base de données tracking des oiseaux marins de...

31
Base de données Tracking des oiseaux marins de l’océan Indien tropical Atelier de travail sur les bases de données et bases de connaissances environnementales à La Réunion

Upload: others

Post on 05-Jul-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical

Base de données  Tracking des oiseaux marins de l’océan Indien tropical

Atelier de travail sur les bases de données et bases de connaissances environnementales à La Réunion

Page 2: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical

Campagnes en mer Dates, trajectoires, Espèces, nombres, comportements, …

Télémétrie Espèce, colonie, type de plateforme, dates, coordonnées, SST, Comportements,…

Colonies de reproduction Ile, Espèce, coordonnées, dénombrements, …

Environnement marin Bathymetrie, SST, Chla, SHA, stratistiques de pêche,…

Iles Nom, coordonnées, altitude, surface, substrat, statut de conservation, invasion biologique, …

Démographie Capture – marquage – recapture Succès reproducteur Croissance

Bases du données « Oiseaux marins » du laboratoire ECOMAR

Page 3: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical

Programme régional de suivi télémétrique des oiseaux marins pour identifier les

secteurs océaniques à protéger dans l’océan Indien

Page 4: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical

Petrels Puffin Frégates Paille en queue Fous

Page 5: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical

Exemples

Paille en queue à brins rouges Pétrel de Barau

Page 6: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical
Page 7: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical

Wintering period

Breeding period

Red-tailed tropicbird: annual distribution as revealed by GLS data

December

January

February June

August

July

Page 8: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical

(modified from Pinet et al. submitted)

Third case: Barau’s petrel Tracked with Argos transmitters and GLS

Page 9: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical

Wintering period

Breeding period

Postbreeding migration

Prebreeding migration

November

January

July

June

Barau’s petrel: seasonal variations

Page 10: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical

Core foraging areas of all tracked species (kernel 50%, h=1)

First overview of the seabird hotspots in the tropical Indian Ocean

Wedgetailed shearwater (from Cousin)

Wedgetailed shearwater (from Aride)

Great frigatebird (from Aldabra)

Great frigatebird (from Europa)

Red-tailed tropicbird (from Europa)

Barau’s Petrel (from Réunion)

Red-footed and masked boobies

Wedgetailed shearwater (from Cousin)

Wedgetailed shearwater (from Aride)

Great frigatebird (from Aldabra)

Great frigatebird (from Europa)

Red-tailed tropicbird (from Europa)

Barau’s Petrel (from Réunion)

Red-footed and masked boobies

Page 11: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical

Organisation des données de tracking

Page 12: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical

LAN •  PSQL •  ODBC

•  R •  …

•  Apache + PHP

Internet •  Client Web •  …

Shapefiles

shp2pgsql

POSTGRES +

POSTGIS •  QGIS •  GRASS • …

•  Mapsserver •  GeoServer • …

Page 13: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical

POSTGRESQL

•  systèmedegestiondebasededonnéesrelationnelleetobjet(SGBDRO)

•  pratiquementconformeauxnormesANSISQL89,SQL92(SQL2),SQL99(SQL3)etSQL:2003

•  fonctionnesurdiversesplates‐formesmatériellesetsousdifférentssystèmesd'exploitation

•  Licence BSD

Page 14: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical

Caractéristiques (1/2) •  Transactions ▫  BEGIN ; ▫  UPDATE salaires SET montant = montant * 1.10 WHERE

trig<>’jpa’ ; UPDATE salaires SET montant = montant * 2 WHERE trig=’jpa’ ; ▫  COMMIT

•  Vues (Fondées sur une requête) ▫  Interface cohérente vers les données, même si les tables évoluent ▫  Pas de vues matérialisées à ce jour dans PostgreSQL

•  Schémas (espaces de noms dans une base de données ) ▫  grouper les objets d’une base de données ▫  séparer les utilisateurs entre eux ▫  contrôler plus efficacement les accès aux données ▫  d’éviter les conflits de noms dans les grosses bases de données

Page 15: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical

Caractéristiques (2/2) •  Triggers ▫ Exécutés avant (BEFORE) ou après (AFTER) un

INSERT, un UPDATE ou un DELETE ▫ Soit pour l’ensemble de la requête (FOR STATEMENT) ▫ Soit pour chaque ligne impactée (FOR EACH ROW) ▫ Peuvent être écrits dans n’importe lequel des langages

de procédure supportés par PostgreSQL (C, PL/PgSQL, PL/Perl, etc. )

•  Héritages ▫ Sur les tables ▫ Sur la structure ▫ Sur l’administration

Page 16: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical

POSTGIS

•  Module spatial pour PostgreSQL •  Conforme aux spécifications de l’OpenGIS

Consortium • Compatible avec Mapserver / GeoServer •  PostGIS permet le traitement d'objets spatiaux

dans les serveurs PostgreSQL, autorisant le stockage en base de données pour les SIG

Page 17: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical

Les Objets SIG •  Exemples de représentation en WKT d'objets spatiaux ▫  POINT(0 0) ▫  LINESTRING(0 0,1 1,1 2) ▫  POLYGON((0 0,4 0,4 4,0 4,0 0),(1 1, 2 1, 2 2, 1 2,1 1)) ▫ MULTIPOINT(0 0,1 2) ▫ MULTILINESTRING((0 0,1 1,1 2),(2 3,3 2,5 4)) ▫ MULTIPOLYGON(((0 0,4 0,4 4,0 4,0 0),(1 1,2 1,2 2,1 2,1 1)),

((-1 -1,-1 -2,-2 -2,-2 -1,-1 -1))) ▫  GEOMETRYCOLLECTION(POINT(2 3),LINESTRING((2

3,3 4))) •  les objets géographiques inclue un identifiant du système

de références spatiales ("spatial referencing system identifier", SRID).

Page 18: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical

• ST_Intersects(A, B)

• ST_Contains(A, B) • ST_Within(B, A)

Page 19: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical

• ST_Touches(A, B)

• ST_Crosses(A, B)

Page 20: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical

• ST_DWithin(A, B, D) D

ST_Intersects() = TRUE

ST_Intersection() =

Page 21: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical

Architecture de la base Seabird_tracking

carto Public

Requêtes croisées

Page 22: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical

CREATE TRIGGER donnees_update BEFORE INSERT ON tracking FOR EACH ROW EXECUTE PROCEDURE format_postgis();

•  Automatisation du formatage POSTGIS

CREATE VIEW seabird_postgis AS SELECT tracking.id_track AS id, tracking.lon, tracking.lat, tracking.date, site.island, site.colony, meta_data.tag_type, bird.band, bird.sex, species.name AS "species name", tracking.geom FROM tracking JOIN meta_data ON meta_data.id_meta_data = tracking.id_meta_data JOIN bird ON bird.id_bird = meta_data.id_bird JOIN species ON species.id_species = bird.id_species JOIN site ON meta_data.id_site = site.id_site;

•  Synthèse de l’information pour utilisation avec les SIG

Architecture de la base

Page 23: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical

Exemples d’utilisation

•  SIG ▫ Quantum QGIS --> connexion directe au serveur

POSTGRES/POSTGIS ▫ Uniquement les tables portant des informations

géographiques --> utilité des vues ▫ Visualisation rapide/Possibilité d’éditer des clauses

WHERE dans la table affichée •  R ▫ Utilisation du package RODBC (implémentation ODBC

sur R) ▫ Edition des requêtes SQL (accès à toute la base de

données) ▫ Stockage des résultats de la requête

Page 24: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical

QGIS

Page 25: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical

QGIS

Page 26: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical

Utilisation dans R -- Exemple de Script •  require(RODBC) # database connectivity •  require(maps) # map package

•  ### ouverture de la connection avec la base de donnée ##### •  channel <- odbcConnect("seabird", uid= »xxxx", pwd= »xxxxxx", case="postgresql")

•  ######## la requêtes ######### •  land=c("SELECT tracking.date,tracking.time,tracking.lat,tracking.lon FROM

tracking , carto.lowres WHERE ST_ Within(tracking.geom,lowres.the_geom);")

•  ## exécution de la requête, stockage des résultats et fermeture de la connexion ## •  data=sqlQuery(channel, land) •  odbcCloseAll()

•  #### visualisation des resultats #### •  plot(data$lon,data$lat,asp=1,pch=19) •  map(add=T)

Page 27: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical

Utilisation dans R

Page 28: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical
Page 29: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical

Interface

•  Psql(console)•  Java:pilotesJDBC/JDO,•  PHP:phpPgAdmin(interfacewebd'administration)•  pgAdmin(application)•  Python:Psycopgzsql/PyGRes(pilotesPython),PoPy/Zope‐DA(pilotesZope)

• MicrosoftWindows:despilotesADO,.NET,OLEetODBCexistent

Page 30: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical

A && B = TRUE A && B = FALSE

A && B = TRUE _ST_Intersects(A && B) = FALSE

Page 31: Base de données Tracking des oiseaux marins de …espe.univ-reunion.fr/fileadmin/Fichiers/OSU/formation...Base de données Tracking des oiseaux marins de l’océan Indien tropical

-- Function: format_postgis()

-- DROP FUNCTION format_postgis();

CREATE OR REPLACE FUNCTION format_postgis() RETURNS "trigger" AS $BODY$ DECLARE BEGIN NEW.the_geom = setSRID(MakePoint(NEW.lon,NEW.lat),4326);

RETURN NEW; END; $BODY$ LANGUAGE 'plpgsql' VOLATILE; ALTER FUNCTION format_postgis() OWNER TO gael;