Nicolas Ribot - Licence GNU FDL - Version 1.0

Slides:



Advertisements
Présentations similaires
Bases de Données Avancées: Bases de Données Relationnelles
Advertisements

Créer une base de données MySQL
Créer une base de données MySQL Et création de tables, enregistrements, interaction avec PHP.
Vocabulaire pour la passage du modèle conceptuel des données au modèle relationnel des données. MCDMRD EntitéTable PropriétésChamps, attribut IdentifiantClé
Les requêtes Manière de dialoguer avec une base de donnée pour :
Initiation aux bases de données et à la programmation événementielle
LE LANGAGE SQL : LDD La création de tables L’ordre CREATE CREATE TABLE nom_de_table (Nom_colonne Type_colonne, Nom_colonne Type_colonne,
Licence GNU FDL - Version 1.5
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
Enregistrement d’un document
PostGIS – Nouvelles fonctionnalités
L’utilisation des bases de données
PostGIS – Création d'une base spatiale
Gestion des annulations
Gérer les tablespaces et les fichiers de données
Initiation aux bases de données et à la programmation événementielle
Administration de bases de données spatiales avec SavGIS
L’utilisation des bases de données
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Procédures stockées CPI-SQLServer.
PostGIS – Fonctions spatiales de base
Introduction au WebMapping
PostGIS – Chargement de données
Fonctionnalités avancées
Nicolas Ribot - Licence GNU FDL - Version 1.0
PostGIS – Spécifications OGC et ISO
PostGIS: Index, Opérateurs et Fonctions
Création de bases de données
Les concepts et les méthodes des bases de données
Management of Information Technology - e-business
1 CSI 2532 Lab3 6 Février 2012 Programmation avancée SQL.
Christine Bonnet SOURCES : « Samples » dOracle, « Oracle 8 » R. Chapuis PRO*C – C ++
OPTIMISATION DE BASE DE DONNEES ORACLE
SIMON-VERMOT Christophe. ET2
Feuilles de styles CSS Syntaxe d'application d'un style à une balise HTML : Les différents types de style : Pourquoi utiliser un style ? Possibilité étendue.
LE LANGAGE DE REQUETES SQL2
Fichiers de données Fichiers de contrôles Fichiers de journalisations Fichiers de paramètres d’initialisation.
PHP & My SQL.
SQL partie 3. SQL est un langage de définition de données SQL est un langage de définition de données (LDD), c'est-à-dire qu'il permet de créer des tables.
Chap 4.5 : SQL (LDD) LDD : Langage de définition de données Réfs : Manuel p105.
Créer son site web Chapitre II. Les caractères spéciaux Les navigateurs ne reconnaissent pas les caractères spéciaux. Heureusement chaque caractère possède.
PHP 5° PARTIE : LES COOKIES
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Transac SQL Intégrité des données.
Objectifs A la fin de ce chapitre, vous pourrez : présenter l'utilisation d'opérations de chargement de données par chemin direct décrire l'utilisation.
Créer des packages.
Lancement de Microsoft Word
PostGIS – Modèle géométrique, Spécifications OGC et ISO
05/02/98WEB ESNIG Modèle logique de données Oracle Designer/2000 & Oracle Web Server.
PostgreSQL – Présentation
DEFINITION DES DONNEES : schéma conceptuel. Schéma conceptuel instructiondescription CREATE TABLEcréation d'une relation ALTER TABLEmodification de la.
Programmation Création d’une mire 1 afficher une image
Structure de stockage et relations
Les Contraintes.
XML fortement adopté en tant que format indépendant d’échange de données. Utilisation de XML pour la modélisation de données structurées et non structurées.
Magellium - 24 rue Hermès – BP12113, Ramonville Saint-Agne 
21/04/2015© Robert Godin. Tous droits réservés.1 6Gestion des contraintes d’intégrité en SQL n Contrainte d'intégrité statique – respectée pour chacun.
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Module 1 : Vue d'ensemble de Microsoft SQL Server
Le Langage de Définition de Données LDD
Les vues Une vue: c’est une relation virtuelle. Définie par:
Cours Access TuanLoc NGUYEN. Contact Nguyen TuanLoc Tél: Web:
Les bases de données Séance 8 Jointures.
Le langage SQL.
Initiation aux bases de données et à la programmation événementielle
1 Initiation aux bases de données et à la programmation événementielle Cours N°8 : Gestion de la cohérence avec des zones de liste déroulantes. Souheib.
Nicolas Ribot Introduction aux triggers Nicolas Ribot - Licence GNU FDL - Version 1.1.
Cours n°2 Implémentation et exploitation
Les bases de données Séance 4 Construction du Modèle Physique (la BDD)
Présentation Excel Microsoft Excel est le tableur de la suite bureautique propriétaire « Office System ». Développé pour les plateformes Windows et Macintosh.
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
Transcription de la présentation:

Nicolas Ribot - Licence GNU FDL - Version 1.0 Rasters Nicolas Ribot - Licence GNU FDL - Version 1.0

Plan Présentation Chargement Fonctions Exemples/TP

Rasters: Présentation Un seul type: RASTER = matrice de valeurs en 2D Une table RASTER = une couverture Une ligne RASTER = une tuile ou un raster Represente une image, des valeurs physiques (altitude par ex), des données scientifiques… Stockage interne (WKB) ou externe (image) Pas de pyramides (nouvelle table pour cela) Nouveau: Type: RASTER (cf.GEOMETRY/GEOGRAPHY) fonctions tables de catalogue outils de chargement (basés sur GDAL) Un seul type, a la difference d’Oracle par exemple (SDO_GeoRaster, SDO_Raster) (from http://trac.osgeo.org/postgis/wiki/WKTRaster/Documentation01)

Rasters: Présentation Conversion entre geometry et raster ST_DumpToPolygons(raster) => geometry set Fonctions gérant les deux types: ST_Intersection(raster|geometry, raster|geometry, "raster"|"geometry") => raster/geometry Opérateurs « intelligents »: raster|geometry && raster|geometry => boolean ST_Intersects(raster|geometry, raster|geometry) Un seul type, a la difference d’Oracle par exemple (SDO_GeoRaster, SDO_Raster) (from http://trac.osgeo.org/postgis/wiki/WKTRaster/Documentation01)

Rasters: Chargement dans PostGIS raster2pgsql ( shp2pgsql) Aide: raster2pgsql -? ou raster2pgsql Formats supportés: raster2pgsql -G (ceux de GDAL) Paramètres importants: c|a|d|p: create, append, drop, prépare (comme shp2pgsql) C: création des contraintes I: création index spatial s: srid b: band t: taille des tuiles (tiles) R: stockage externe: seuls les métadonnées et le chemin sont stockés l: création des overviews N: valeur nodata • Toutes les options ici: http://postgis.org/documentation/manual-2.0/using_raster.xml.html

Rasters: Chargement dans PostGIS Chargement d’une couverture raster du monde Données: tp/raster/TrueMarble.8km.5400x2700.tif Table monde_raster Commande: raster2pgsql -M -I -C -Y -s 4326 -t 100x100 -l 2,4,8 TrueMarble.8km.5400x2700.tif monde_raster | psql Les tables suivantes sont crées: monde_raster, o_2_monde_raster, o_4_monde_raster, o_8_monde_raster Enregistrement dans le catalogue: select * from raster_colums; • « | » = pipe, opérateur permettant d’enchainer des commandes: ici; le produit de raster2pgsql est directement envoyé dans psql, qui prend l’utilisateur par défaut et se connecte a une base ayant le même nom que l’utilisateur.

Rasters: Contraintes \d monde_raster Indexes: "monde_raster_pkey" PRIMARY KEY, btree (rid) "monde_raster_rast_gist" gist (st_convexhull(rast)) Check constraints: "enforce_height_rast" CHECK (st_height(rast) = 100) "enforce_max_extent_rast" CHECK (st_coveredby(st_convexhull(rast), '0…0'::geometry)) "enforce_nodata_values_rast" CHECK (_raster_constraint_nodata_values(rast)::numeric(16,10)[] = '{NULL,NULL,NULL}'::numeric(16,10)[]) "enforce_num_bands_rast" CHECK (st_numbands(rast) = 3) "enforce_out_db_rast" CHECK (_raster_constraint_out_db(rast) = '{f,f,f}'::boolean[]) "enforce_pixel_types_rast" CHECK (_raster_constraint_pixel_types(rast) = '{8BUI,8BUI,8BUI}'::text[]) "enforce_same_alignment_rast" CHECK (st_samealignment(rast, '01…00'::raster)) "enforce_scalex_rast" CHECK (st_scalex(rast)::numeric(16,10) = 0.0666666666666667::numeric(16,10)) "enforce_scaley_rast" CHECK (st_scaley(rast)::numeric(16,10) = (- 0.0666666666666667)::numeric(16,10)) "enforce_srid_rast" CHECK (st_srid(rast) = 4326) "enforce_width_rast" CHECK (st_width(rast) = 100) • Nombreuses contraintes sur les rasters, qui sont optionnelles lors du chargement des rasters (option « -C » de la ligne de commande

Rasters: Catalogue r_table_catalog: non usité: nom de la base par défaut r_table_schema: le schéma contenant la table raster r_table_name: le nom de la table raster r_raster_column : colonne contenant le raster (plusieurs colonnes de type RASTER possibles) Srid: le SRID scale_x : facteur X entre pixel et coordonnées terrain scale_y: facteur X entre pixel et coordonnées terrain blocksize_x: largeur d’un bloc en pixel blocksize_y : hauteur d’un bloc en pixel • « | » = pipe, opérateur permettant d’enchainer des commandes: ici; le produit de raster2pgsql est directement envoyé dans psql, qui prend l’utilisateur par défaut et se connecte a une base ayant le même nom que l’utilisateur.

Rasters: Catalogue same_alignment: vrai si toutes les tuiles ont le même alignement (TODO) regular_blocking: information indicative: pas de recouvrement, alignement identique, taille des pixel, srid. num_bands: nombre de bandes AddRasterConstraints : tableau des types de pixel pour chaque bande AddRasterConstraints : tableau des valeurs de NODATA pour chaque bande extent: l’extension spatiale de la table. (en cas d’ajout de données dans la table, utiliser DropRasterConstraints puis AddRasterConstraints !). Cela permet la visu des données • « | » = pipe, opérateur permettant d’enchainer des commandes: ici; le produit de raster2pgsql est directement envoyé dans psql, qui prend l’utilisateur par défaut et se connecte a une base ayant le même nom que l’utilisateur.

Rasters: overviews Version dégradée du raster pour affichage à des résolutions moins grandes Créé automatiquement lors du chargement (option –l) Enregistrés dans un catalogue: raster_overviews: o_table_catalog : catalogue de la table (= nom de la BD) o_table_schema: schéma de la table o_table_name: nom de la table overview o_raster_column: nom de la colonne r_*: les informations relatives à la table source overview_factor: le facteur de réduction, en puissance de 2 Overview_factor: divise la résolution initiale du raster par 2overview_factor. Ex: une image de 5000x5000 pixels stockée sous forme de tuiles 125x125 pixels sera composée de: (5000*5000)/(125*125) records = 1600 records Un Overview_factor de 2 => 400 records Un Overview_factor de 4 => 200 records Si les pixels ne sont pas divisibles par la taille de la tuile, des tuiles incomplètes sont générées.

Rasters: Fonctions http://postgis.org/documentation/manual-2.0/RT_reference.html Gestion (AddRasterConstraint, dropRasterConstraint…) Constructeurs (st_AddBand,st_asRaster, st_makeEmptyRaster…) Accesseurs (st_height, st_numBands, st_rotation) Accesseurs par bande (st_bandMetaData, st_bandPixelType, …) Accesseurs par pixel (st_pixelAsPolygon, st_value, …) Editeurs (st_setRotation, st_setSRID, st_resample, st_snapToGrid, …) Editeurs de bandes (ST_SetBandNoDataValue, ST_SetBandIsNoData) Analyse et stats (st_count, st_histogram, st_quantile, …) Sorties (st_asBinary, st_asGDALRaster, st_asTIFF, …) Processing (st_clip, st_hillShade, st_slope, st_mapAlgebraExpr, …)

Rasters: Fonctions geomval ST_SkewX ST_Resample ST_Intersection histogram ST_SkewY ST_Rescale ST_MapAlgebraExpr raster ST_SRID ST_Reskew reclassarg ST_UpperLeftX ST_SnapToGrid ST_MapAlgebraFct summarystats ST_UpperLeftY ST_Transform AddRasterConstraints ST_Width ST_SetBandNoDataValue ST_MapAlgebraFctNgb DropRasterConstraints ST_World2RasterCoordX ST_SetBandIsNoData ST_Polygon PostGIS_Raster_Lib_Build_Date ST_World2RasterCoordY ST_Count ST_Reclass PostGIS_Raster_Lib_Version ST_IsEmpty ST_Histogram ST_Union ST_GDALDrivers ST_BandMetaData ST_Quantile ST_Min4ma ST_AddBand ST_BandNoDataValue ST_SummaryStats ST_Max4ma ST_AsRaster ST_BandIsNoData ST_ValueCount ST_Sum4ma ST_Band ST_BandPath ST_AsBinary ST_Mean4ma ST_MakeEmptyRaster ST_BandPixelType ST_AsGDALRaster ST_Range4ma ST_GeoReference ST_HasNoBand ST_AsJPEG ST_Distinct4ma ST_Height ST_PixelAsPolygon ST_AsPNG ST_StdDev4ma ST_MetaData ST_PixelAsPolygons ST_AsTIFF && ST_NumBands ST_Value Box3D &< ST_PixelHeight ST_SetValue ST_Clip &> ST_PixelWidth ST_SetGeoReference ST_ConvexHull ST_Intersects ST_ScaleX ST_SetRotation ST_DumpAsPolygons ST_SameAlignment ST_ScaleY ST_SetScale ST_Envelope ST_Raster2WorldCoordX ST_SetSkew ST_HillShade ST_Raster2WorldCoordY ST_SetSRID ST_Aspect ST_Rotation ST_SetUpperLeft ST_Slope

Exemples TP R1: introduction aux rasters chargement d’une image dans PostGIS vérification des données (contraintes, catalogue) Affichage dans QGis TP R2: extraction et sortie locale extraction spatiale d’une partie du raster reconstruction d’un raster complet (3 bandes) écriture d’une partie du raster en PNG sur le disque TP R3: croisements spatiaux: profil altimétrique à partir d’un MNT (également TP webmapping)