Title: Acquisition SVG de Vrits Terrain
1Acquisition SVG de Vérités Terrain
2Plan
- 1 - But du projet
- 2 - Le format SVG
- 3 - Méthode de travail
- 4 - Le parsing
- 5 - Le mapping/matching
- 6 - Le tri logique
- 7 - Les points moyens
- 8 - Lécriture du fichier SVG
- 9 - Problème des formes concaves
- 10 - Conclusion
- 11 - Perspectives damélioration
3But du projet
1 - But du projet 2 - Le format SVG 3 - Méthode
de travail 4 - Le parsing 5 - Le
mapping/matching 6 - Le tri logique
- Le but de ce projet est de comparer différentes
vérités terrain provenant de différents
utilisateurs. - Architecture du système
- Développer un module danalyse des différentes
vérités terrain en Java.
4Le format SVG
1 - But du projet 2 - Le format SVG 3 - Méthode
de travail 4 - Le parsing 5 - Le
mapping/matching 6 - Le tri logique
- SVG (Scalable Vector Graphic) , langage balisé,
basé sur la norme XML (Extensible Markup
Language) -
- Contient des dessins vectoriels (image stockée
sous la forme d'objets définis par des
coordonnées mathématiques) - Exemple lignes, rectangles, polygones
- Autres fonctionnalités transformations
géométriques (rotation, etc.), animations des
éléments.
Figure 1 Exemples de documents SVG (a)
clipart (b) network schema (c) urban map
5Le format SVG
1 - But du projet 2 - Le format SVG 3 - Méthode
de travail 4 - Le parsing 5 - Le
mapping/matching 6 - Le tri logique
- Exemple du contenu dun fichier .svg contenant
un rectangle et un polygone
6Méthode de travail
1 - But du projet 2 - Le format SVG 3 - Méthode
de travail 4 - Le parsing 5 - Le
mapping/matching 6 - Le tri logique
Fichier 1
Fichier 2
7Méthode de travail
1 - But du projet 2 - Le format SVG 3 - Méthode
de travail 4 - Le parsing 5 - Le
mapping/matching 6 - Le tri logique
- Le parsing consiste à extraire les données XML
de limage SVG. - Le mapping consiste a créer les zones de
recouvrement des polygones et de savoir si
ceux-ci se match (matching). - Le matching consiste à associer 2 zones de
recouvrement qui ont une zone commune. - Le tri logique consiste à sélectionner le
meilleur match de 2 zones. - Le moyennage permet de concevoir un polygone
moyen en fonction des 2 polygones qui ont une
zone commune.
8Le parsing
1 - But du projet 2 - Le format SVG 3 - Méthode
de travail 4 - Le parsing 5 - Le
mapping/matching 6 - Le tri logique
- Extraction des données XML de limage SVG
- 2 types de parsing SAX et DOM
- Dans notre cas nous utiliserons SAX (Simple API
for XML). Basé sur un modèle évènementiel. A
chaque élément syntaxique lut, une méthode est
déclenchée.
9Le parsing
1 - But du projet 2 - Le format SVG 3 - Méthode
de travail 4 - Le parsing 5 - Le
mapping/matching 6 - Le tri logique
- Dans le cas de plusieurs fichiers svg il faut
stocker toutes les données associées à son
fichier doù une structure de données complexes.
10Le parsing
1 - But du projet 2 - Le format SVG 3 - Méthode
de travail 4 - Le parsing 5 - Le
mapping/matching 6 - Le tri logique
11Le parsing
1 - But du projet 2 - Le format SVG 3 - Méthode
de travail 4 - Le parsing 5 - Le
mapping/matching 6 - Le tri logique
- Chaque fichier SVG contient une liste de
polygone, et chaque polygone est composé d'une
liste de points qui eux, contiennent une
coordonnée x et y qui n'est autre quun sommet du
polygone.
12Le mapping/matching
1 - But du projet 2 - Le format SVG 3 - Méthode
de travail 4 - Le parsing 5 - Le
mapping/matching 6 - Le tri logique
- Parcourir tout les polygones des fichiers svg et
créer une zone de recouvrement rectangulaire pour
chaque polygone. - Zone rectangulaire est actuellement la zone la
plus efficace et la plus rapide a traitée.
Exemple
13Le mapping/matching
1 - But du projet 2 - Le format SVG 3 - Méthode
de travail 4 - Le parsing 5 - Le
mapping/matching 6 - Le tri logique
- Ce rectangle est calculé de cette façon
- On récupère a partir du polygone le min_x,
min_y, max_x et max_y pour avoir les points de
tel sorte que
- La hauteur et la longueur sont obtenues par un
calcul de distance grâce à ces points.
14Le mapping/matching
1 - But du projet 2 - Le format SVG 3 - Méthode
de travail 4 - Le parsing 5 - Le
mapping/matching 6 - Le tri logique
- Un rectangle peut matcher avec plusieurs
rectangles on va donc préciser son nombre
dutilisation (cest-à-dire le nombre de fois
quun rectangle est impliqué avec un autre
rectangle, utile pour le tri logique).
15Le mapping/matching
1 - But du projet 2 - Le format SVG 3 - Méthode
de travail 4 - Le parsing 5 - Le
mapping/matching 6 - Le tri logique
- Pour gérer le matching entre 2 zones, 3 cas ce
présentent
Recouvrement où les 2 zones sont identiques
Recouvrement
Pas Recouvrement
16Le mapping/matching
1 - But du projet 2 - Le format SVG 3 - Méthode
de travail 4 - Le parsing 5 - Le
mapping/matching 6 - Le tri logique
- Si il y a matching alors on associe les 2
rectangles avec leur nombre dutilisation et
laire de recouvrement commune. - On obtient donc au final, une liste contenant
toutes les associations de recouvrement possible
entre les différents polygones.
17Tri Logique
5 - Le mapping/matching 6 - Le tri logique 7 -
Les points moyens 8 - Lécriture du fichier SVG 9
- Problème 10 - Conclusion 11 - Perspectives
- Liste de tous les polygones associés triés par
taux de recouvrement du plus grand au plus petit.
- Récupération des 2 polygones qui se recouvrent
le plus. - On regarde à laide du nombre dutilisation dun
polygone si prendre ces 2 polygones ne gêne pas
pour la suite.
18Tri Logique
5 - Le mapping/matching 6 - Le tri logique 7 -
Les points moyens 8 - Lécriture du fichier SVG 9
- Problème 10 - Conclusion 11 - Perspectives
19Tri Logique
5 - Le mapping/matching 6 - Le tri logique 7 -
Les points moyens 8 - Lécriture du fichier SVG 9
- Problème 10 - Conclusion 11 - Perspectives
- Tri en fonction du Taux de recouvrement et du
nombre dutilisation dun polygone dans les
combinaisons de matching permet de - - Garantir davoir les polygones qui se
recouvrent le plus. - - Garantir dutiliser les meilleures
combinaisons. - Il ne reste plus quà exécuter lalgorithme de
moyennage pour chaque combinaison.
20Les Points Moyens
5 - Le mapping/matching 6 - Le tri logique 7 -
Les points moyens 8 - Lécriture du fichier SVG 9
- Problème 10 - Conclusion 11 - Perspectives
- Principe du moyennage, algorithme des points
moyens
21Les Points Moyens
5 - Le mapping/matching 6 - Le tri logique 7 -
Les points moyens 8 - Lécriture du fichier SVG 9
- Problème 10 - Conclusion 11 - Perspectives
- Pour calculer le point moyen il faut dabord
procéder par loverlapping
A
Ici, seul le point A noverlappe pas la droite L
L
22Les Points Moyens
5 - Le mapping/matching 6 - Le tri logique 7 -
Les points moyens 8 - Lécriture du fichier SVG 9
- Problème 10 - Conclusion 11 - Perspectives
- Cas 2 (pas doverlapping) Prendre le point le
plus près.
- Cas 1 (overlapping) Appliquer la projection
orthogonale.
- Puis pour les 2 cas, calculer le milieu de la
droite. - Ce point représente le point de moyennage pour
un côté.
23Les Points Moyens
5 - Le mapping/matching 6 - Le tri logique 7 -
Les points moyens 8 - Lécriture du fichier SVG 9
- Problème 10 - Conclusion 11 - Perspectives
- Une fois que tous les points sont calculés, les
relier pour former un polygone. - Les points sont dans le désordre et, si ils sont
reliés ainsi, la forme du polygone sera fausse.
Pour palier à cela on applique la méthode du
point le plus proche pour avoir un ordre de
points correct. - On obtient un polygone final.
24LEcriture du fichier SVG
5 - Le mapping/matching 6 - Le tri logique 7 -
Les points moyens 8 - Lécriture du fichier SVG 9
- Problème 10 - Conclusion 11 - Perspectives
- Récupération du fichier SVG de départ.
- On efface les anciens polygones.
- On créé un nouveau polygone.
- Insertion des points du polygone final.
lt?xml version"1.0" encoding"UTF-8"
standalone"no"?gt lt!-- Created with Inkscape
(http//www.inkscape.org/) --gt ltsvg id"svg2"
sodipodiversion"0.32" inkscapeversion"0.4
3" width"210mm" height"297mm /gt
ltimage idth"149" height"153"
id"image9" /gt ltpolygon points
"66.542201,29.616435 66.542201,29.616435"/gt lt
/svggt
25Problème des formes concaves
5 - Le mapping/matching 6 - Le tri logique 7 -
Les points moyens 8 - Lécriture du fichier SVG 9
- Problème 10 - Conclusion 11 - Perspectives
- Problème pour le tri des points du polygone
final
Fonctionnement souhaité
Fonctionnement actuel
26Problème des formes concaves
5 - Le mapping/matching 6 - Le tri logique 7 -
Les points moyens 8 - Lécriture du fichier SVG 9
- Problème 10 - Conclusion 11 - Perspectives
Notre méthode du point le plus près fonctionne
pour certaines formes alors que la méthode
ci-dessous fonctionnerai parfaitement. Création
du polygone final en fonction de la forme des
deux polygones de départ. Exemple pour un
ensemble de points identique pour les 2 polygones
Point le plus près
Polygone voulu
- Manque de temps pour implémenter ce principe.
27Conclusion
5 - Le mapping/matching 6 - Le tri logique 7 -
Les points moyens 8 - Lécriture du fichier SVG 9
- Problème 10 - Conclusion 11 - Perspectives
- Loriginalité du sujet.
- La découverte et lapprentissage des SVG.
- La motivation de nos tuteurs de projet.
- Travail, perfectionnement sous lenvironnement
JAVA. - voilà ce que nous avons
appris et apprécié.
28Perspectives damélioration
5 - Le mapping/matching 6 - Le tri logique 7 -
Les points moyens 8 - Lécriture du fichier SVG 9
- Problème 10 - Conclusion 11 - Perspectives
- Amélioration pour le matching
-
- Utilisation des polygones et non des rectangles
pour le recouvrement pour une meilleure précision
de detection des recouvrements.
29Perspectives damélioration
5 - Le mapping/matching 6 - Le tri logique 7 -
Les points moyens 8 - Lécriture du fichier SVG 9
- Problème 10 - Conclusion 11 - Perspectives
- Problème des formes concaves (expliqué
précédemment). - Labellisation des zones
- Dans un soucis defficacité, on pourrait lors de
lacquisition des vérités par les utilisateurs,
labelliser les zones acquises. - Ceci afin daugmenter lefficacité du traitement.
Cependant, cela nécessite le développement de sa
propre interface dacquisition.