SlideShare a Scribd company logo
1 of 19
Download to read offline
Problème des données spatiales
Index spatial
Bibliographie
Références
Bases de données spatiales
Intérêt et problèmes d’indexation
Guillaume Matheron
guillaume.matheron@ens.fr
2015
1 / 19
Problème des données spatiales
Index spatial
Bibliographie
Références
I - Problème des données spatiales
II - Index spatial
III - Efforts de standardisation
IV - Expérimentation avec MySQL
V - Ouverture - Bibliographie
2 / 19
Problème des données spatiales
Index spatial
Bibliographie
Références
Indexation
Facile à indexer :
Entiers
Texte
Date
Type de requêtes visées :
Recherche d’un élément
Énumération d’un intervalle
Similarité / proximité
3 / 19
Problème des données spatiales
Index spatial
Bibliographie
Références
Requêtes difficiles/spécifiques : filtrage
Éléments dont l’id est premier
Éléments dont le nom comporte exactement 3 voyelles
Difficile à indexer :
Images, sons (requêtes de similarité - Shazam, reverse image
search)
Fichiers binaires (requêtes de similarité - Par exemple
synchronisation de fichiers dépacés et modifiés)
Géométrie
4 / 19
Problème des données spatiales
Index spatial
Bibliographie
Références
Problème des données spatiales
Données spatiales :
Géographiques (cartes, localisation, ...)
Tridimensionnelles (scan 3d, imagerie médicale, ...)
5 / 19
Problème des données spatiales
Index spatial
Bibliographie
Références
Problème : trouver rapidement une donnée à partir de sa position
approchée →métrique
Applications : trouver les clusters, les points proches, le voisinage
pour des transformations locales d’objets 3D, ...
Un index ne suffit pas ! Problème de base de la rastérisation
Exemple : masque de convolution [4]
6 / 19
Problème des données spatiales
Index spatial
Bibliographie
Références
Index spatial
En 1D : arbre binaire
En 2D : arbre quad (quadtree)
En 3D : arbre 8-aire (octree)
Problème : en 1D, on aime bien faire des arbres n-aires (pour
remplir un bloc) !
7 / 19
Problème des données spatiales
Index spatial
Bibliographie
Références
Arbre R [2]
8 / 19
Problème des données spatiales
Index spatial
Bibliographie
Références
Arbre R
Équilibrage complexe (heuristiques pour les dépassements)
Faible remplissage minimal (environ 30% contre 50% pour les
arbres B)
Arbre R* →minimation du recouvrement (overlap) [1]
9 / 19
Problème des données spatiales
Index spatial
Bibliographie
Références
Autres index spatiaux - Z-curve
Interlacement des bits de
coordonnées
Généralisable en n
dimensions
Conversion facile en arbre
R équilibré
10 / 19
Problème des données spatiales
Index spatial
Bibliographie
Références
Arbre R de Hilbert [3]
Courbe de Hilbert
Donne un ordre total sur
Rn
11 / 19
Problème des données spatiales
Index spatial
Bibliographie
Références
Arbre R de Hilbert
Les sous-rectangles sont triés par abscisse de Hilbert du centre
de leur MBR (=minimal bounding rectangle)
Remplissage aussi important que souhaité
12 / 19
Problème des données spatiales
Index spatial
Bibliographie
Références
Efforts de standardisation
Open Geospatial Consortium, ’94
Simple Features standard, ’04
Définit les formats standard d’échange de données spatiales
simples (points, polygones, ...)
13 / 19
Problème des données spatiales
Index spatial
Bibliographie
Références
Expérimentation avec MySQL
Génération d’un grand nombre de données aléatoires (106
enregistrements créés en 5 minutes)
CREATE PROCEDURE ‘InsertRand‘
(IN NumRows INT, IN MinVal INT, IN MaxVal INT)
BEGIN
DECLARE i INT;
SET i = 1;
START TRANSACTION;
WHILE i <= NumRows DO
INSERT INTO test (location) VALUES
(POINT(RAND(),RAND()));
SET i = i + 1;
END WHILE;
COMMIT;
END 14 / 19
Problème des données spatiales
Index spatial
Bibliographie
Références
SELECT SQL_NO_CACHE AsText(location)
FROM ‘test‘ IGNORE INDEX(loc)
WHERE MBRContains(
GeomFromText(’LINESTRING(0.39 0.39,0.4 0.4)’)
,location)
119 total, Query took 0.4115 seconds
15 / 19
Problème des données spatiales
Index spatial
Bibliographie
Références
Expérimentation avec MySQL
SELECT SQL_NO_CACHE AsText(location)
FROM ‘test‘
WHERE MBRContains(
GeomFromText(’LINESTRING(0.39 0.39,0.4 0.4)’)
,location)
119 total, Query took 0.0012 seconds (300 fois moins !)
16 / 19
Problème des données spatiales
Index spatial
Bibliographie
Références
mysql> EXPLAIN (...IGNORE INDEX(loc)...)
+----+-------------+-------+------+---------------+---------+
| id | select_type | table | type | possible_keys | rows |
+----+-------------+-------+------+---------------+---------+
| 1 | SIMPLE | test | ALL | NULL | 1100008 |
+----+-------------+-------+------+---------------+---------+
1 row in set (0.01 sec)
mysql> EXPLAIN (...)
+----+-------------+-------+--------+---------------+---------+
| id | select_type | table | type | possible_keys | rows |
+----+-------------+-------+--------+---------------+---------+
| 1 | SIMPLE | test | range | loc | 225 |
+----+-------------+-------+--------+---------------+---------+
1 row in set (0.01 sec)
17 / 19
Problème des données spatiales
Index spatial
Bibliographie
Références
Conclusion/ouverture
Espaces de grande dimension →reconnaissance d’images/de
sons, clustering
Représentation de données linéiques →base de données
orientée graphes
18 / 19
Problème des données spatiales
Index spatial
Bibliographie
Références
Bibliographie
[1] H. P. ; Schneider R. ; Seeger B. Beckmann, N. ; Kriegel. The
r*-tree : an efficient and robust access method for points and
rectangles.
[2] A. Guttman. R-trees : A dynamic index structure for spatial
searching.
[3] I. Kamel and C. Faloutsos. Hilbert r-tree : An improved r-tree
using fractals.
[4] George Politis. Scan line rendering of convolutions.
19 / 19

More Related Content

Viewers also liked

Geomatique ppt - m11 intro-cours_eg_20131014
Geomatique ppt - m11 intro-cours_eg_20131014Geomatique ppt - m11 intro-cours_eg_20131014
Geomatique ppt - m11 intro-cours_eg_20131014
Amine Ouariache
 
Zoo Presentation SIG La Lettre 2011
Zoo Presentation SIG La Lettre 2011Zoo Presentation SIG La Lettre 2011
Zoo Presentation SIG La Lettre 2011
djayzen
 
Node.js et MongoDB: Mongoose
Node.js et MongoDB: MongooseNode.js et MongoDB: Mongoose
Node.js et MongoDB: Mongoose
jeromegn
 
Symfony2 Introduction Presentation
Symfony2 Introduction PresentationSymfony2 Introduction Presentation
Symfony2 Introduction Presentation
Nerd Tzanetopoulos
 

Viewers also liked (20)

Geomatique ppt - m11 intro-cours_eg_20131014
Geomatique ppt - m11 intro-cours_eg_20131014Geomatique ppt - m11 intro-cours_eg_20131014
Geomatique ppt - m11 intro-cours_eg_20131014
 
3.2 Les Infrastructures de données spatiales régionales développées dans le p...
3.2 Les Infrastructures de données spatiales régionales développées dans le p...3.2 Les Infrastructures de données spatiales régionales développées dans le p...
3.2 Les Infrastructures de données spatiales régionales développées dans le p...
 
de Google Maps à OpenStreetMap
de Google Maps à OpenStreetMapde Google Maps à OpenStreetMap
de Google Maps à OpenStreetMap
 
Ar mv7
Ar mv7Ar mv7
Ar mv7
 
Introduction à CakePHP
Introduction à CakePHPIntroduction à CakePHP
Introduction à CakePHP
 
Installation apache mandriva
Installation apache mandrivaInstallation apache mandriva
Installation apache mandriva
 
Act 00090 la géomatique, un incontournable pour une ville intelligente (volet...
Act 00090 la géomatique, un incontournable pour une ville intelligente (volet...Act 00090 la géomatique, un incontournable pour une ville intelligente (volet...
Act 00090 la géomatique, un incontournable pour une ville intelligente (volet...
 
Sig 2016 is
Sig 2016 isSig 2016 is
Sig 2016 is
 
Act 00081 intégration entre un système de gestion municipale et la plateforme...
Act 00081 intégration entre un système de gestion municipale et la plateforme...Act 00081 intégration entre un système de gestion municipale et la plateforme...
Act 00081 intégration entre un système de gestion municipale et la plateforme...
 
Apports des SIG dans la gouvernance foncière des communautés rurales au Sénégal
Apports des SIG dans la gouvernance foncière des communautés rurales au SénégalApports des SIG dans la gouvernance foncière des communautés rurales au Sénégal
Apports des SIG dans la gouvernance foncière des communautés rurales au Sénégal
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Final
FinalFinal
Final
 
Zoo Presentation SIG La Lettre 2011
Zoo Presentation SIG La Lettre 2011Zoo Presentation SIG La Lettre 2011
Zoo Presentation SIG La Lettre 2011
 
Pertinence et Performance de la Géomatique pour une étude d'avant-projet d'ex...
Pertinence et Performance de la Géomatique pour une étude d'avant-projet d'ex...Pertinence et Performance de la Géomatique pour une étude d'avant-projet d'ex...
Pertinence et Performance de la Géomatique pour une étude d'avant-projet d'ex...
 
SIG open source : aperçu et comparaisons - présentation AGMQ 30 avril 2009
SIG open source : aperçu et comparaisons - présentation AGMQ 30 avril 2009SIG open source : aperçu et comparaisons - présentation AGMQ 30 avril 2009
SIG open source : aperçu et comparaisons - présentation AGMQ 30 avril 2009
 
Projet SIG : Etude d’implantation d’un site potentiel de CTS de CO²
Projet SIG : Etude d’implantation d’un site potentiel de CTS de CO²Projet SIG : Etude d’implantation d’un site potentiel de CTS de CO²
Projet SIG : Etude d’implantation d’un site potentiel de CTS de CO²
 
Node.js et MongoDB: Mongoose
Node.js et MongoDB: MongooseNode.js et MongoDB: Mongoose
Node.js et MongoDB: Mongoose
 
Data Mining Spatial
Data Mining Spatial Data Mining Spatial
Data Mining Spatial
 
Symfony2 Introduction Presentation
Symfony2 Introduction PresentationSymfony2 Introduction Presentation
Symfony2 Introduction Presentation
 
Hydrologie générale
Hydrologie générale Hydrologie générale
Hydrologie générale
 

Recently uploaded

conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de plancher
mansouriahlam
 

Recently uploaded (7)

Algo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigésAlgo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigés
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestion
 
JTC 2024 Bâtiment et Photovoltaïque.pdf
JTC 2024  Bâtiment et Photovoltaïque.pdfJTC 2024  Bâtiment et Photovoltaïque.pdf
JTC 2024 Bâtiment et Photovoltaïque.pdf
 
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
 
optimisation logistique MLT_231102_155827.pdf
optimisation logistique  MLT_231102_155827.pdfoptimisation logistique  MLT_231102_155827.pdf
optimisation logistique MLT_231102_155827.pdf
 
firefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdf
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de plancher
 

Bases de données spatiales

  • 1. Problème des données spatiales Index spatial Bibliographie Références Bases de données spatiales Intérêt et problèmes d’indexation Guillaume Matheron guillaume.matheron@ens.fr 2015 1 / 19
  • 2. Problème des données spatiales Index spatial Bibliographie Références I - Problème des données spatiales II - Index spatial III - Efforts de standardisation IV - Expérimentation avec MySQL V - Ouverture - Bibliographie 2 / 19
  • 3. Problème des données spatiales Index spatial Bibliographie Références Indexation Facile à indexer : Entiers Texte Date Type de requêtes visées : Recherche d’un élément Énumération d’un intervalle Similarité / proximité 3 / 19
  • 4. Problème des données spatiales Index spatial Bibliographie Références Requêtes difficiles/spécifiques : filtrage Éléments dont l’id est premier Éléments dont le nom comporte exactement 3 voyelles Difficile à indexer : Images, sons (requêtes de similarité - Shazam, reverse image search) Fichiers binaires (requêtes de similarité - Par exemple synchronisation de fichiers dépacés et modifiés) Géométrie 4 / 19
  • 5. Problème des données spatiales Index spatial Bibliographie Références Problème des données spatiales Données spatiales : Géographiques (cartes, localisation, ...) Tridimensionnelles (scan 3d, imagerie médicale, ...) 5 / 19
  • 6. Problème des données spatiales Index spatial Bibliographie Références Problème : trouver rapidement une donnée à partir de sa position approchée →métrique Applications : trouver les clusters, les points proches, le voisinage pour des transformations locales d’objets 3D, ... Un index ne suffit pas ! Problème de base de la rastérisation Exemple : masque de convolution [4] 6 / 19
  • 7. Problème des données spatiales Index spatial Bibliographie Références Index spatial En 1D : arbre binaire En 2D : arbre quad (quadtree) En 3D : arbre 8-aire (octree) Problème : en 1D, on aime bien faire des arbres n-aires (pour remplir un bloc) ! 7 / 19
  • 8. Problème des données spatiales Index spatial Bibliographie Références Arbre R [2] 8 / 19
  • 9. Problème des données spatiales Index spatial Bibliographie Références Arbre R Équilibrage complexe (heuristiques pour les dépassements) Faible remplissage minimal (environ 30% contre 50% pour les arbres B) Arbre R* →minimation du recouvrement (overlap) [1] 9 / 19
  • 10. Problème des données spatiales Index spatial Bibliographie Références Autres index spatiaux - Z-curve Interlacement des bits de coordonnées Généralisable en n dimensions Conversion facile en arbre R équilibré 10 / 19
  • 11. Problème des données spatiales Index spatial Bibliographie Références Arbre R de Hilbert [3] Courbe de Hilbert Donne un ordre total sur Rn 11 / 19
  • 12. Problème des données spatiales Index spatial Bibliographie Références Arbre R de Hilbert Les sous-rectangles sont triés par abscisse de Hilbert du centre de leur MBR (=minimal bounding rectangle) Remplissage aussi important que souhaité 12 / 19
  • 13. Problème des données spatiales Index spatial Bibliographie Références Efforts de standardisation Open Geospatial Consortium, ’94 Simple Features standard, ’04 Définit les formats standard d’échange de données spatiales simples (points, polygones, ...) 13 / 19
  • 14. Problème des données spatiales Index spatial Bibliographie Références Expérimentation avec MySQL Génération d’un grand nombre de données aléatoires (106 enregistrements créés en 5 minutes) CREATE PROCEDURE ‘InsertRand‘ (IN NumRows INT, IN MinVal INT, IN MaxVal INT) BEGIN DECLARE i INT; SET i = 1; START TRANSACTION; WHILE i <= NumRows DO INSERT INTO test (location) VALUES (POINT(RAND(),RAND())); SET i = i + 1; END WHILE; COMMIT; END 14 / 19
  • 15. Problème des données spatiales Index spatial Bibliographie Références SELECT SQL_NO_CACHE AsText(location) FROM ‘test‘ IGNORE INDEX(loc) WHERE MBRContains( GeomFromText(’LINESTRING(0.39 0.39,0.4 0.4)’) ,location) 119 total, Query took 0.4115 seconds 15 / 19
  • 16. Problème des données spatiales Index spatial Bibliographie Références Expérimentation avec MySQL SELECT SQL_NO_CACHE AsText(location) FROM ‘test‘ WHERE MBRContains( GeomFromText(’LINESTRING(0.39 0.39,0.4 0.4)’) ,location) 119 total, Query took 0.0012 seconds (300 fois moins !) 16 / 19
  • 17. Problème des données spatiales Index spatial Bibliographie Références mysql> EXPLAIN (...IGNORE INDEX(loc)...) +----+-------------+-------+------+---------------+---------+ | id | select_type | table | type | possible_keys | rows | +----+-------------+-------+------+---------------+---------+ | 1 | SIMPLE | test | ALL | NULL | 1100008 | +----+-------------+-------+------+---------------+---------+ 1 row in set (0.01 sec) mysql> EXPLAIN (...) +----+-------------+-------+--------+---------------+---------+ | id | select_type | table | type | possible_keys | rows | +----+-------------+-------+--------+---------------+---------+ | 1 | SIMPLE | test | range | loc | 225 | +----+-------------+-------+--------+---------------+---------+ 1 row in set (0.01 sec) 17 / 19
  • 18. Problème des données spatiales Index spatial Bibliographie Références Conclusion/ouverture Espaces de grande dimension →reconnaissance d’images/de sons, clustering Représentation de données linéiques →base de données orientée graphes 18 / 19
  • 19. Problème des données spatiales Index spatial Bibliographie Références Bibliographie [1] H. P. ; Schneider R. ; Seeger B. Beckmann, N. ; Kriegel. The r*-tree : an efficient and robust access method for points and rectangles. [2] A. Guttman. R-trees : A dynamic index structure for spatial searching. [3] I. Kamel and C. Faloutsos. Hilbert r-tree : An improved r-tree using fractals. [4] George Politis. Scan line rendering of convolutions. 19 / 19