PostGIS – Nouvelles fonctionnalités

Slides:



Advertisements
Présentations similaires
L’optimiseur ORACLE L’optimiseur ORACLE suit une approche classique: Génération de plusieurs plans d’exécution. Estimation du coût de chaque plan généré.
Advertisements

Découverte de SQL Server par la pratique pour les administrateurs expérimentés Module 5 : Accès aux données Bertrand Audras Microsoft Technology Center.
ASP.NET v2 + Ajax = Atlas Pierre Lagarde DevDays 2006 Equipé aujourdhui, prêt pour demain !
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.
1 U.S. Census Bureau International Programs Center Microcomputer Processing of Census and Surveys (using the Census and Survey Processing.
SQL - Subtilités.
Georges Gardarin 1 LE LANGAGE DE REQUETES SQL l Origines et Evolutions l SQL1 86: la base l SQL1 89: l'intégrité l SQL2 92: la nouvelle norme l SQL3 98:
Processworks / 3DQuikForm Présentation Denis AUGUSTE Lycée de Lorgues.
Les fonctions.
Année universitaire Système dinformation Le SQL (Structured Query Language) langage dinterrogation dune base de données.
Faculté I&C, Claude Petitpierre, André Maurer Bases de données SQL (Structured Query Language)
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
AYARI Mejdi Formation 2121 * ISD * 1 tructured uery Anguage 2006.
Faculté I&C, Claude Petitpierre, André Maurer Bases de données SQL (Structured Query Language)
L’utilisation des bases de données
10 Copyright © Oracle Corporation, Tous droits réservés. Autres concepts relatifs aux déclencheurs.
PostGIS – Création d'une base spatiale
Langages du Web Sémantique
Les Webcasts Groupe des Utilisateurs SQL Server Avril 2014 – Statistiques Incrémentales Fred Pichaut – Microsoft Senior.
L’utilisation des bases de données
Cours N°2 Base de Données & Langage SQL
1 LE LANGAGE DE REQUETES SQL Origines et Evolutions SQL1 86: la base SQL1 89: l'intégrité.
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Procédures stockées CPI-SQLServer.
SQL Injection Réalisée par: BEN NASR Houssem GMATI Idriss HADDAD Mohamed Aymen HAKIM Youssef.
PostGIS – Fonctions spatiales de base
Nicolas Ribot - Licence GNU FDL - Version 1.0
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
Correction du TP JRubik
1 CSI 2532 Lab5 Installation de JDBC Février 13, 2012.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 SQL: Contraintes et Triggers Chapitre 5,
1 CSI 2532 Lab2 20 Janvier 2012 Programmation SQL.
SQL partie3: Langage de définition des données
Une base de données de mammographies
Textract Magali Paquot. 2 Outil d'indexation (semi-) automatique de texte.
Christine Bonnet SOURCES : « Samples » dOracle, « Oracle 8 » R. Chapuis PRO*C – C ++
Première CTP le 4 décembre Nouvelle CTP depuis le 1 er février RTM milieu de cette année.
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.
SQL Partie 2. SQL est un Langage de Manipulation de Données SQL est un langage de manipulation de données (LMD), cela signifie qu'il permet de sélectionner,
Le langage SQL LDD : Langage de Définition de Données
Modélisation des données Niveau conceptuel DON-2 V0-0.
 CREATE TABLE  DROP TABLE  ALTER TABLE  INSERT  UPDATE  DELETE  SELECT interrogation 2 Instruction de mise à jour structure.
Mise à jour des Fichiers Redo Log
Mise en œuvre du langage MDX
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Transac SQL Intégrité des données.
Cours n°4M2. ESCE (S. Sidhom) Séminaire ( 6-12 Février 2007 ) Promo. M2 ESCE-Tunis 2006/07 Conception d’un système d'information sur Internet Architecture.
PostGIS – Modèle géométrique, Spécifications OGC et ISO
DEFINITION DES DONNEES : schéma conceptuel. Schéma conceptuel instructiondescription CREATE TABLEcréation d'une relation ALTER TABLEmodification de la.
Magellium - 24 rue Hermès – BP12113, Ramonville Saint-Agne 
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Cours n°4M1.ist-ie (S. Sidhom) UE 203 Promo. M1 IST-IE 2006/07 Conception d’un système d'information sur Internet Architecture trois-tiers : technologies.
Structured Query Language 1/34. SQL Types de données Langage de Définition de Données (LDD) Langage de Manipulation de Données (LDM) Langage de Contrôle.
Les bases de données Séance 8 Jointures.
Magellium - 24 rue Hermès – BP12113, Ramonville Saint-Agne 
Séance /10/2004 SGBD - Approches & Principes.
Fonctionnalités avancées
Nicolas Ribot Introduction aux triggers Nicolas Ribot - Licence GNU FDL - Version 1.1.
PostGIS – Fonctions spatiales de base
Cours n°2 Implémentation et exploitation
Le Langage de Manipulation de Données LMD Module 6.
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.
P6 Comment rapprocher des données issues de différentes sources
Info Bases de données avancées
Transcription de la présentation:

PostGIS – Nouvelles fonctionnalités Licence GNU FDL - Version 1.4

Plan de la présentation Nouveau type GEOGRAPHY Nouvelles fonctions ST_SimplifyPreserveTopology AsGeoJson Prepared Topology Query

Le type GEOGRAPHY Nouveauté de PostGIS 1.5 Gestion des coordonnées latitude, longitude Intègre un modèle sphérique de la terre Permet de gérer des données globales Enregistrement automatique des métadonnées de la table Types supportés: POINT, LINESTRING, POLYGON, MULTIPOINT, MULTILINESTRING, MULTIPOLYGON, GEOMETRYCOLLECTION GEOS non disponible Support partiel: nouvelles fonctions à venir Coordonnées angulaires, relative a une sphere Le plus court chemin est un grand arc de cercle.

Le type GEOGRAPHY ST_Area ST_AsBinary ST_AsGML ST_AsGeoJSON ST_AsKML ST_AsSVG ST_AsText ST_Buffer ST_CoveredBy ST_Covers ST_DWithin ST_Distance ST_GeogFromText ST_GeogFromWKB ST_GeographyFrom ST_Intersection ST_Intersects ST_Length

Le type GEOGRAPHY Création d’une table: CREATE TABLE global_points ( id SERIAL PRIMARY KEY, name VARCHAR(64), location GEOGRAPHY(POINT,4326) ); Seul SRID supporté: EPSG:4326 (pour le moment) Insertion: INSERT INTO global_points (name, location) VALUES ('Town', ST_GeographyFromText('SRID=4326;POINT(-110 30)') );

Le type GEOGRAPHY Création d’un index spatial: CREATE INDEX global_points_gix ON global_points USING GIST ( location ); Utilisation d’unités métriques (distances, aires): SELECT name FROM global_points WHERE ST_DWithin(location, ST_GeographyFromText('SRID=4326;POINT(-110 29)'), 1000000); SELECT ST_Distance('LINESTRING(-122.33 47.606, 0.0 51.5)'::geography, 'POINT(-21.96 64.15)':: geography); Le choix de l’index (index spherique) est automatique

Nouvelles fonctions &&& ST_3DDWithin ST_HasNoBand ST_RemoveRepeatedPoints <#> ST_3DDistance ST_HillShade ST_Resample < ST_3DIntersects ST_Histogram ST_Rescale AddEdge ST_3DLongestLine ST_InterpolatePoint ST_Reskew AddFace ST_3DMaxDistance ST_IsValidDetail ST_SameAlignment AddNode ST_3DShortestLine ST_IsValidReason ST_SetBandIsNoData AddRasterConstraints ST_AddEdgeModFace ST_MakeLine ST_SharedPaths AsGML ST_AddEdgeNewFaces ST_MakeValid ST_Slope CopyTopology ST_AsGDALRaster ST_MapAlgebraExpr ST_Snap DropRasterConstraints ST_AsJPEG ST_SnapToGrid Drop_Indexes_Generate_Script ST_AsLatLonText ST_MapAlgebraFct ST_Split Drop_State_Tables_Generate_Script ST_AsPNG ST_StdDev4ma Geocode_Intersection ST_AsRaster ST_MapAlgebraFctNgb ST_Sum4ma GetEdgeByPoint ST_AsTIFF ST_Max4ma ST_SummaryStats GetFaceByPoint ST_AsX3D ST_Mean4ma ST_Transform GetNodeByPoint ST_Aspect ST_Min4ma ST_UnaryUnion GetNodeEdges ST_Band ST_ModEdgeHeal ST_Union GetRingEdges ST_BandIsNoData ST_NewEdgeHeal ST_ValueCount GetTopologySRID ST_Clip ST_Node TopoElementArray_Agg Get_Tract ST_CollectionHomogenize ST_NumPatches TopoGeo_AddLineString Install_Missing_Indexes ST_ConcaveHull ST_OffsetCurve TopoGeo_AddPoint Loader_Generate_Census_Script ST_Count ST_PatchN TopoGeo_AddPolygon Loader_Generate_Script ST_CreateTopoGeo ST_Quantile TopologySummary Missing_Indexes_Generate_Script ST_Distinct4ma ST_Range4ma Topology_Load_Tiger Polygonize ST_FlipCoordinates ST_Reclass toTopoGeom Reverse_Geocode ST_GDALDrivers ST_RelateMatch ST_3DClosestPoint ST_GeomFromGeoJSON ST_RemEdgeModFace ST_3DDFullyWithin ST_GetFaceEdges ST_RemEdgeNewFace select p.country as cntryp, p2.country as cntryp1, st_hausdorffDistance(p.geometry, p2.geometry) from pays p, pays p2 where p.objectid<> p2.objectid and p.country='France' order by st_hausdorffDistance(p.geometry, p2.geometry) limit 10; Select p.country as cntryp, p2.country as cntryp1, st_hausdorffDistance(p.geometry, p2.geometry) from pays p, pays p2 where p.objectid<> p2.objectid and p.country like 'Swi%' limit 10; select st_minimumBoundingCircle(geometry) from pays where country like 'Swi%';

Nouvelles fonctions st_buffer: nouveaux types de connection, de fin ST_ClosestPoint: retourne le point d’une geometry le plus proche d’une autre ST_DFullyWithin: True si une geometry est à une distance minimale d’une autre ST_dumpPoints: Extrait tous les points d’une geometry sous forme d’un set ST_geomFromGML, ST_geomFromKML: conversion depuis le format GML, KML ST_HausdorffDistance: Similitude de deux geometry ST_minimumBoundingCircle: retourne le plus petit cercle qui contient la geometry select p.country as cntryp, p2.country as cntryp1, st_hausdorffDistance(p.geometry, p2.geometry) from pays p, pays p2 where p.objectid<> p2.objectid and p.country='France' order by st_hausdorffDistance(p.geometry, p2.geometry) limit 10; Select p.country as cntryp, p2.country as cntryp1, st_hausdorffDistance(p.geometry, p2.geometry) from pays p, pays p2 where p.objectid<> p2.objectid and p.country like 'Swi%' limit 10; select st_minimumBoundingCircle(geometry) from pays where country like 'Swi%';

Nouvelles fonctions st_shortestLine, st_longestLine: ligne la plus courte, la plus longue, entre deux geometry st_maxDistance: distance max entre deux geometry st_isValidReason: donne la raison de l’invalidité d’une geometry st_makeReason: corrige une géométrie invalide st_addMesure: ajoute une dimension « Measure » interpolée à la geometry (LINESTRING ou MULTILINESTRING … select p.country as cntryp, p2.country as cntryp1, st_hausdorffDistance(p.geometry, p2.geometry) from pays p, pays p2 where p.objectid<> p2.objectid and p.country='France' order by st_hausdorffDistance(p.geometry, p2.geometry) limit 10; Select p.country as cntryp, p2.country as cntryp1, st_hausdorffDistance(p.geometry, p2.geometry) from pays p, pays p2 where p.objectid<> p2.objectid and p.country like 'Swi%' limit 10;

St_simplify

St_simplify: Douglas Peuker

Simplify 'classique' SELECT summary(the_geom) FROM geofla WHERE nom_dept='FINISTERE'; SELECT summary(simplify(the_geom, 50)) FROM geofla WHERE nom_dept='FINISTERE'; SELECT isvalid(simplify(the_geom, 50)) FROM geofla WHERE nom_dept='FINISTERE';

Simplify 'classique' avec forte généralisation SELECT summary(the_geom) FROM geofla WHERE nom_dept='FINISTERE'; SELECT summary(simplify(the_geom, 200)) FROM geofla WHERE nom_dept='FINISTERE'; SELECT isvalid(simplify(the_geom, 200)) FROM geofla WHERE nom_dept='FINISTERE';

Erreurs présentes lorsque Polygones multiples (et/ou avec plusieurs ring) Généralisation suffisamment forte Génère des polygones qui s'intersectent mutuellement !

ST_SimplifyPreserveTopology SELECT summary(ST_SimplifyPreserveTopology(the_geom, 200)) FROM geofla WHERE nom_dept='FINISTERE'; isvalid(ST_SimplifyPreserveTopology(the_geom,200))

ST_SimplifyPreserveTopology: perspectives Dispo dans version 1.3.3 PostGIS A utiliser de manière préférentielle à simplify() pour des (multi)polygones Si besoin de préserver la topologie entre features, pas encore possibilité de le gérer à la volée (modèle spaghetti) Moulinette de Laurent Pierre disponible (site cartoweb.org addons)

ST_AsGeoJson Implémentation GeoJson 1.0 rc6 Géométries supportées Cf <http://wiki.geojson.org/GeoJSON_draft_version_6> Géométries supportées (MULTI)POINT (MULTI)LINE (MULTI)POLYGON GEOMETRYCOLLECTION

ST_AsGeoJson, prototype ST_AsGeoJson([version], geometry, [precision], [options]) version: toujours 1 Geometry: la geom (cf types supportés) precision: precision (nombre de digits désirés, default 15) options: 0 pas d'option (défault) 1 GeoJson CRS (ne le place pas si valeur inconnue) 2 GeoJson BBOX (le recalcule si pas contenu dans la geom) 3 GeoJson CRS and BBOX

ST_AsGeoJson, exemple bar=# SELECT ST_AsGeoJson(GeomFromEWKT('SRID=4326;POINT(1 1)'), 0); st_asgeojson -------------------------------------- {"type":"Point","coordinates":[1,1]} SELECT ST_AsGeoJson(GeomFromEWKT('LINESTRING(1 1, 2 2, 3 3, 4 4)'), 0, 2); --------------------------------------------------------------------------- ----- {"type":"LineString","bbox":[1,1,4,4],"coordinates":[[1,1],[2,2],[3,3],[ 4,4]]}

ST_AsGeoJson, perspectives Utilisation de GeoJson directement dans OL: Cf <http://openlayers.org/dev/examples/vector-formats.html> Utilisation de WS light couplé à PostGIS Appel direct de MapFish Server Quid d'un bench sur perf ? ...