moteur de requêtes pour données gsfcqcb.mm.free.fr/cv/barouh-presentation-ptvloxane.pdf ·...

Post on 12-Jun-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

PTV Loxane, solutions pour la mobilité

Moteur de requêtes pour données GSF

David BAROUHDavid BAROUHMaster Professionnel SIIC 2007/2008Master Professionnel SIIC 2007/2008

Sous le tutorat de Sébastien BEOLET, Ingénieur de Sous le tutorat de Sébastien BEOLET, Ingénieur de RechercheRecherche

Présentation du 26 septembre 2008Présentation du 26 septembre 2008

PTV Loxane, solutions pour la mobilité

Plan

❏ Présentation de l’entreprisePrésentation de l’entreprise

❏ Etudes des besoinsEtudes des besoins

❏ Etudes de l’existant : ParserEtudes de l’existant : Parser

❏ Architecture proposéeArchitecture proposée

❏ Développement de la librairieDéveloppement de la librairie

❏ Interface graphique / OCXInterface graphique / OCX

❏ Gestion de projetGestion de projet

PTV Loxane, solutions pour la mobilité

Introduction

❏ Buts de la missionButs de la mission► Première expériencePremière expérience► Formation complèteFormation complète► Diplôme M2 SIICDiplôme M2 SIIC

❏ ContexteContexte► Cartographie numériqueCartographie numérique► Entreprise innovanteEntreprise innovante

❏ Vue d’ensembleVue d’ensemble► Recherches et développementRecherches et développement► Cadre du cursusCadre du cursus

PTV Loxane, solutions pour la mobilité

Plan

❏ Présentation de l’entreprisePrésentation de l’entreprise► Groupe PTV / PTV AGGroupe PTV / PTV AG► PTV LoxanePTV Loxane

❏ Etudes des besoinsEtudes des besoins

❏ Etudes de l’existant : ParserEtudes de l’existant : Parser

❏ Architecture proposéeArchitecture proposée

❏ Développement de la librairieDéveloppement de la librairie

❏ Interface graphique / OCXInterface graphique / OCX

❏ Gestion de projetGestion de projet

PTV Loxane, solutions pour la mobilité

Groupe PTV / PTV AG

❏ Groupe PTVGroupe PTV► 29 ans d’expérience29 ans d’expérience► 17 filiales sur 9 pays européens et 4 continents17 filiales sur 9 pays européens et 4 continents► CA consolidé de 83.4 M€CA consolidé de 83.4 M€► Effectif de 700 personnesEffectif de 700 personnes

❏ Quelques chiffresQuelques chiffres► Plus de 5 000 000 d’utilisateurs grand public.► Plus de 50 000 utilisateurs professionnels.► Plus de 500 projets logistique ou mobilité

PTV Loxane, solutions pour la mobilité

Groupe PTV / PTV AG

❏ Présence internationalePrésence internationale

PTV Loxane, solutions pour la mobilité

PTV Loxane

❏ PTV LoxanePTV Loxane► 14 ans d'expérience14 ans d'expérience► 34 collaborateurs34 collaborateurs► 2 établissements (Beauchamp et Toulouse)2 établissements (Beauchamp et Toulouse)

❏ ClientsClients► 20 000 licences professionnelles20 000 licences professionnelles► 20 000 véhicules suivis en temps réel20 000 véhicules suivis en temps réel► 20 000 ordres de transports optimisés ou 20 000 ordres de transports optimisés ou

dispatchés chaque jourdispatchés chaque jour► Des millions de cartes et de calculs d'itinéraires en Des millions de cartes et de calculs d'itinéraires en

ligneligne

PTV Loxane, solutions pour la mobilité

PTV Loxane

❏ MissionMission► Aider entreprises et particuliers dans la Aider entreprises et particuliers dans la

gestion de leurs déplacementsgestion de leurs déplacements

❏ MétiersMétiers► Edition & distributionEdition & distribution

● LogicielsLogiciels● ComposantsComposants● Web servicesWeb services

► ServicesServices● ÉtudesÉtudes● InstallationsInstallations● Formations et accompagnementFormations et accompagnement

PTV Loxane, solutions pour la mobilité

Plan

❏ Présentation de l’entreprisePrésentation de l’entreprise❏ Etudes des besoinsEtudes des besoins

► Outils de PTV LoxaneOutils de PTV Loxane► Architecture actuelleArchitecture actuelle► BesoinsBesoins

❏ Etudes de l’existant : ParserEtudes de l’existant : Parser❏ Architecture proposéeArchitecture proposée❏ Développement de la librairieDéveloppement de la librairie❏ Interface graphique / OCXInterface graphique / OCX❏ Gestion de projetGestion de projet

PTV Loxane, solutions pour la mobilité

Outils de PTV Loxane

❏ Base de données cartographiques GSFBase de données cartographiques GSF

LandmarkLandmark(.lxd)(.lxd)

LinearLinear(.lin)(.lin)

LandcoverLandcover(.lco)(.lco)

PTV Loxane, solutions pour la mobilité

Architecture actuelle

ApplicationApplication(Loxane Pro, …)(Loxane Pro, …)

LandmarkLandmark(.lxd)(.lxd)

LinearLinear(.lin)(.lin)

LandcoverLandcover(.lco)(.lco)

PTV Loxane, solutions pour la mobilité

Besoins

❏ Iso fonctionnalitésIso fonctionnalités

❏ Evolution des fonctionnalitésEvolution des fonctionnalités► Plusieurs fichiers en entréePlusieurs fichiers en entrée► Langage particulierLangage particulier► ScriptsScripts► Nouvelles requêtes géographiquesNouvelles requêtes géographiques

❏ MoteurMoteur► Léger, portableLéger, portable► Facilement intégrable, évolutif, compréhensibleFacilement intégrable, évolutif, compréhensible► Contrôle total, pas de dépendancesContrôle total, pas de dépendances► Pas d’utilisation d’outils payantsPas d’utilisation d’outils payants

PTV Loxane, solutions pour la mobilité

IHMIHM

Besoins

ApplicationApplication(Loxane Pro, …)(Loxane Pro, …)

LandmarkLandmark(.lxd)(.lxd)

LinearLinear(.lin)(.lin)

LandcoverLandcover(.lco)(.lco)

SQLEngineSQLEngine

PTV Loxane, solutions pour la mobilité

IHMIHM

Besoins

ApplicationApplication(Loxane Pro, …)(Loxane Pro, …)

LandmarkLandmark(.lxd)(.lxd)

LinearLinear(.lin)(.lin)

LandcoverLandcover(.lco)(.lco)

SQLEngineSQLEngine

PTV Loxane, solutions pour la mobilité

Plan

❏ Présentation de l’entreprisePrésentation de l’entreprise

❏ Etudes des besoinsEtudes des besoins

❏ Etudes de l’existant : ParserEtudes de l’existant : Parser

❏ Architecture proposéeArchitecture proposée

❏ Développement de la librairieDéveloppement de la librairie

❏ Interface graphique / OCXInterface graphique / OCX

❏ Gestion de projetGestion de projet

PTV Loxane, solutions pour la mobilité

Etude de l’existant

❏ Lex et YaccLex et Yacc► Classiques et généralistesClassiques et généralistes► Analyse grammaticaleAnalyse grammaticale► PayantPayant

❏ Flex et BisonFlex et Bison► Equivalents gratuits de Lex et YaccEquivalents gratuits de Lex et Yacc► Difficultés de mises en places et maintenanceDifficultés de mises en places et maintenance

❏ RegexRegex► RapideRapide► Librairies externesLibrairies externes► Difficultés de mises en place et maintenanceDifficultés de mises en place et maintenance

PTV Loxane, solutions pour la mobilité

Etude de l’existant

❏ Temel SQLParserTemel SQLParser► Simple et légerSimple et léger► SimplisteSimpliste► LimitéLimité

❏ OGR / MitabOGR / Mitab► Complet, rapide et portableComplet, rapide et portable► Complexité de portage en C++Complexité de portage en C++

PTV Loxane, solutions pour la mobilité

Etude de l’existant

"A la main"

OGR / Mitab

Temel SQLParser

Regex

Flex et Bison

Lex et Yacc

IntégrableCapacitésEvolutifPortableLégerGratuitMéthode

PTV Loxane, solutions pour la mobilité

Plan

❏ Présentation de l’entreprisePrésentation de l’entreprise❏ Etudes des besoins Etudes des besoins ❏ Etudes de l’existant : ParserEtudes de l’existant : Parser❏ Architecture proposéeArchitecture proposée

► ArchitectureArchitecture► LangageLangage

❏ Développement de la librairieDéveloppement de la librairie❏ Interface graphique / OCXInterface graphique / OCX❏ Gestion de projetGestion de projet

PTV Loxane, solutions pour la mobilité

Architecture

IHMIHM

ApplicationApplication(Loxane Pro, …)(Loxane Pro, …)

LandmarkLandmark(.lxd)(.lxd)

LinearLinear(.lin)(.lin)

LandcoverLandcover(.lco)(.lco)

SQLEngineSQLEngine

PTV Loxane, solutions pour la mobilité

Architecture

IHMIHM

ApplicationApplication(Loxane Pro, …)(Loxane Pro, …)

LandmarkLandmark(.lxd)(.lxd)

LinearLinear(.lin)(.lin)

LandcoverLandcover(.lco)(.lco)

SQLEngineSQLEngineDLLDLL

PTV Loxane, solutions pour la mobilité

Architecture

IHMIHM

ApplicationApplication(Loxane Pro, …)(Loxane Pro, …)

LandmarkLandmark(.lxd)(.lxd)

LinearLinear(.lin)(.lin)

LandcoverLandcover(.lco)(.lco)

SQLEngineSQLEngineOCXOCX

PTV Loxane, solutions pour la mobilité

Langage

❏ Basé sur le SQLBasé sur le SQLSELECT toto.* FROM toto WHERE toto.1 < 2

❏ Requêtes supplémentairesRequêtes supplémentaires► CREATE TABLECREATE TABLE► WRITE TABLEWRITE TABLE

❏ Requêtes géographiquesRequêtes géographiques► CONTAINS, INTERSECT, TOUCHESCONTAINS, INTERSECT, TOUCHES► WITHIN, DISTANCE, EQUALS, OVERLAPSWITHIN, DISTANCE, EQUALS, OVERLAPS► POINTONSURFACE, AREA, NUMGEOMETRIES, GEOMETRYN, POINTONSURFACE, AREA, NUMGEOMETRIES, GEOMETRYN,

GEOMETRYTYPE, BOX2DGEOMETRYTYPE, BOX2D

❏ Création d’une BNFCréation d’une BNF

PTV Loxane, solutions pour la mobilité

Plan

❏ Présentation de l’entreprisePrésentation de l’entreprise❏ Etudes des besoinsEtudes des besoins❏ Etudes de l’existant : ParserEtudes de l’existant : Parser❏ Architecture proposéeArchitecture proposée❏ Développement de la librairieDéveloppement de la librairie

► ArchitectureArchitecture► StructuresStructures► Requêtes géographiquesRequêtes géographiques► MoteurMoteur► Exemple de scriptExemple de script

❏ Interface graphique / OCXInterface graphique / OCX❏ Gestion de projetGestion de projet

PTV Loxane, solutions pour la mobilité

Architecture

SQLTableSQLTable

PTV Loxane, solutions pour la mobilité

Architecture

SQLDatabaseSQLDatabase

SQLTableSQLTable

PTV Loxane, solutions pour la mobilité

Architecture

lxwSQLEnginelxwSQLEngine

SQLParserSQLParser

SQLDatabaseSQLDatabase

SQLTableSQLTable

PTV Loxane, solutions pour la mobilité

Architecture

lxwSQLEnginelxwSQLEngine

SQLQueryResultSQLQueryResult SQLParserSQLParser

SQLDatabaseSQLDatabase

SQLTableSQLTable

SQLLXNSQLLXN

SQLUtilsSQLUtils

PTV Loxane, solutions pour la mobilité

Architecture

lxwSQLEnginelxwSQLEngine

SQLQueryResultSQLQueryResult SQLParserSQLParser

SQLDatabaseSQLDatabase

SQLTableSQLTable

SQLLXNSQLLXN

SQLUtilsSQLUtils

PTV Loxane, solutions pour la mobilité

Structures

QUERYQUERY

COLUMN_DEFINITIONCOLUMN_DEFINITION TABLE_DEFINITIONTABLE_DEFINITION SUMMARYSUMMARY FIELD_OPERATIONFIELD_OPERATION

PTV Loxane, solutions pour la mobilité

Structures

FIELD_OPERATIONFIELD_OPERATION

First Sub OpFirst Sub Op Second Sub OpSecond Sub Op

First Sub OpFirst Sub Op Second Sub OpSecond Sub Op First Sub OpFirst Sub Op Second Sub OpSecond Sub Op

PTV Loxane, solutions pour la mobilité

FIELD_OPERATIONFIELD_OPERATION

First Sub OpFirst Sub Op Second Sub OpSecond Sub Op

First Sub OpFirst Sub Op Second Sub OpSecond Sub Op First Sub OpFirst Sub Op Second Sub OpSecond Sub Op

SELECT * FROM toto WHERE toto.1 < 20 OR (toto.1 > 50 AND toto.1 < 100)

Structures

PTV Loxane, solutions pour la mobilité

Structures

OROR

<< ANDAND

toto.1toto.1 2020 >> <<

toto.1toto.1 5050 toto.1toto.1 100100

PTV Loxane, solutions pour la mobilité

Requêtes géographiques

❏ Nouvel attribut « Geometry »Nouvel attribut « Geometry »

❏ WITHIN & INTERSECTWITHIN & INTERSECT► Evaluation similaire aux opérations classiquesEvaluation similaire aux opérations classiques► Exemple : toto.Geometry INTERSECT POINT(1 1)Exemple : toto.Geometry INTERSECT POINT(1 1)

❏ DISTANCEDISTANCE► Fonction différenteFonction différente► Calcul doit être effectué Calcul doit être effectué à priorià priori► Exemple : DISTANCE(toto.Geometry, POINT(1 1)) < 100Exemple : DISTANCE(toto.Geometry, POINT(1 1)) < 100

PTV Loxane, solutions pour la mobilité

Requêtes géographiques

❏ Différentes utilisationDifférentes utilisation► CoordonnéesCoordonnées

● Utilisation de chaînes WKTUtilisation de chaînes WKTPOINT(1 1)POINT(1 1)

► TablesTables● DISTANCE(villes.Geometry, hopitaux.Geometry) < 1000DISTANCE(villes.Geometry, hopitaux.Geometry) < 1000

❏ Référentiels spatiauxRéférentiels spatiaux► Nouvelle clause : SPATIALREFNouvelle clause : SPATIALREF► Généralisation du SQLLXNGénéralisation du SQLLXN

PTV Loxane, solutions pour la mobilité

Moteur (lxwSQLEngine)

❏ Fonctionnement en deux tempsFonctionnement en deux temps► Pré sélection géographiquePré sélection géographique► EvaluationEvaluation

❏ Sélections par identifiantsSélections par identifiants

❏ Réutilisation des travaux préparatoiresRéutilisation des travaux préparatoires

❏ Utilisation d’une structure de stockage des résultatsUtilisation d’une structure de stockage des résultats► GénéralisteGénéraliste► IdentifiéeIdentifiée

PTV Loxane, solutions pour la mobilité

Exemple de script

CREATE TABLE C:\TA20077\France\Landcover\admin3.lco, Landcover, departement;CREATE TABLE C:\TA20077\France\Landmark\cities5.lxd, Landmark, villes;

PTV Loxane, solutions pour la mobilité

Exemple de script

CREATE TABLE C:\TA20077\France\Landcover\admin3.lco, Landcover, departement;CREATE TABLE C:\TA20077\France\Landmark\cities5.lxd, Landmark, villes;

SELECT w.*FROM departement wWHERE DISTANCE(w.geometry, POINT(369377 1986171)) < 100000SPATIALREF PROJCS_LAMBERT_II_ETENDU;

PTV Loxane, solutions pour la mobilité

Exemple de script

PTV Loxane, solutions pour la mobilité

Exemple de script

CREATE TABLE C:\TA20077\France\Landcover\admin3.lco, Landcover, departement;CREATE TABLE C:\TA20077\France\Landmark\cities5.lxd, Landmark, villes;

SELECT w.*FROM departement wWHERE DISTANCE(w.geometry, POINT(369377 1986171)) < 100000SPATIALREF PROJCS_LAMBERT_II_ETENDU;

PTV Loxane, solutions pour la mobilité

Exemple de script

CREATE TABLE C:\TA20077\France\Landcover\admin3.lco, Landcover, departement;CREATE TABLE C:\TA20077\France\Landmark\cities5.lxd, Landmark, villes;

SELECT w.*FROM departement wWHERE DISTANCE(w.geometry, POINT(369377 1986171)) < 100000SPATIALREF PROJCS_LAMBERT_II_ETENDU;

SELECT x.*FROM Result−2−lco w, villes xWHERE x.geometry WITHIN w.geometry;

PTV Loxane, solutions pour la mobilité

Exemple de script

PTV Loxane, solutions pour la mobilité

Exemple de script

CREATE TABLE C:\TA20077\France\Landcover\admin3.lco, Landcover, departement;CREATE TABLE C:\TA20077\France\Landmark\cities5.lxd, Landmark, villes;

SELECT w.*FROM departement wWHERE DISTANCE(w.geometry, POINT(369377 1986171)) < 100000SPATIALREF PROJCS_LAMBERT_II_ETENDU;

SELECT x.*FROM Result−2−lco w, villes xWHERE x.geometry WITHIN w.geometry;

PTV Loxane, solutions pour la mobilité

Exemple de script

CREATE TABLE C:\TA20077\France\Landcover\admin3.lco, Landcover, departement;CREATE TABLE C:\TA20077\France\Landmark\cities5.lxd, Landmark, villes;

SELECT w.*FROM departement wWHERE DISTANCE(w.geometry, POINT(369377 1986171)) < 100000SPATIALREF PROJCS_LAMBERT_II_ETENDU;

SELECT x.*FROM Result−2−lco w, villes xWHERE x.geometry WITHIN w.geometry;

WRITE TABLE Result−3−lxd AS CitiesInDep IN C:\Tables\;

PTV Loxane, solutions pour la mobilité

Plan

❏ Présentation de l’entreprisePrésentation de l’entreprise

❏ Etudes des besoinsEtudes des besoins

❏ Etudes de l’existant : ParserEtudes de l’existant : Parser

❏ Architecture proposéeArchitecture proposée

❏ Développement de la librairieDéveloppement de la librairie

❏ Interface graphique / OCXInterface graphique / OCX

❏ Gestion de projetGestion de projet

PTV Loxane, solutions pour la mobilité

Interface graphique / OCX

PTV Loxane, solutions pour la mobilité

Interface graphique / OCX

❏ Informations disponiblesInformations disponibles► Tables disponiblesTables disponibles► Champs disponiblesChamps disponibles► Opérations adéquates suivant les types de champsOpérations adéquates suivant les types de champs

❏ Aide à la conceptionAide à la conception► Complétion automatiqueComplétion automatique► Détection des erreurs syntaxiquesDétection des erreurs syntaxiques

❏ Interface unifiéeInterface unifiée

PTV Loxane, solutions pour la mobilité

Plan

❏ Présentation de l’entreprisePrésentation de l’entreprise❏ Etudes des besoins Etudes des besoins ❏ Etudes de l’existant : ParserEtudes de l’existant : Parser❏ Architecture proposéeArchitecture proposée❏ Développement de la librairieDéveloppement de la librairie❏ Interface graphique / OCXInterface graphique / OCX❏ Gestion de projetGestion de projet

► PlanningPlanning► RéunionsRéunions

PTV Loxane, solutions pour la mobilité

Planning et réunions

❏ Réunions généralesRéunions générales❏ Réunions noyauRéunions noyau❏ Réunions de bilanRéunions de bilan

❏ Etude des besoinsEtude des besoins

❏ Etude de l’existantEtude de l’existant

❏ Création du langageCréation du langage

❏ Création des structuresCréation des structures

❏ Adaptation du parserAdaptation du parser

❏ Moteur de requêtageMoteur de requêtage

❏ Encapsulation / OCXEncapsulation / OCX

Total :Total :

66

88

88

1010

2020

6464

1414

130130

PTV Loxane, solutions pour la mobilité

Conclusion

❏ Nouvelles compétencesNouvelles compétences► TechniquesTechniques► Cartographie numériqueCartographie numérique► Apprentissage du métier d’ingénieurApprentissage du métier d’ingénieur

❏ Fonctionnement d’une entrepriseFonctionnement d’une entreprise► Travail en équipeTravail en équipe► Partage des connaissancesPartage des connaissances► Buts communsButs communs

❏ Mise en perspectiveMise en perspective► Du cursus universitaireDu cursus universitaire► De l’avenir en tant qu’ingénieurDe l’avenir en tant qu’ingénieur

PTV Loxane, solutions pour la mobilité

Moteur de requêtes pour données GSF

David BAROUHDavid BAROUHMaster Professionnel SIIC 2007/2008Master Professionnel SIIC 2007/2008

Sous le tutorat de Sébastien BEOLET, Ingénieur de RechercheSous le tutorat de Sébastien BEOLET, Ingénieur de Recherche

Présentation du 26 septembre 2008Présentation du 26 septembre 2008

Merci de votre écoute

top related