190 likes | 277 Views
<Insert Picture Here>. 4 Le Géocodage. Qu'est-ce que le Géocodage?. Le géocodage reçoit une adresse (rue, numéro) et retourne des coordonnées (longitude/latitude) associées à cette adresse. Le géocodage peut s'effectuer à divers niveaux de précision: Numéro dans la rue Rue seule
E N D
<Insert Picture Here> 4 Le Géocodage
Qu'est-ce que le Géocodage? • Le géocodage reçoit une adresse (rue, numéro) et retourne des coordonnées (longitude/latitude) associées à cette adresse. • Le géocodage peut s'effectuer à divers niveaux de précision: • Numéro dans la rue • Rue seule • Code postale • Municipalité • Le géocodage est fondamental dans la plupart des applications • Recherches de proximité • Calculs d'itinéraires • Cartographie
Structure des Adresses Noms de rues Géométries Le processus de géocodage Référentiel de Géocodage Adresse à convertir Décodage de l'adresse Géocodeur Recherche Génération des Coordonnées Coordonnées + Adresse Corrigée
Fonctions et Données dans la Base Adresse à convertir Méta- Données SDO_GCDR package Données Coordonnées + Adresse Corrigée
Tables de Méta-Données Décrivent l'organisation des données Définissent la structure des adresses et les règles de décodage. Data country XX GC_ROAD_xx GC_ROAD_SEGMENT_xx GC_AREA_xx GC_POSTAL_CODE_xx GC_POI_xx GC_INTERSECTION_xx Metadata Le Référentiel Tables de Données • Peuvent contenir plusieurs jeux de données • Un ou plusieurs pays par jeu de données. • Tables pour un pays suffixées par le code du pays. GC_COUNTRY_PROFILE GC_PARSER_PROFILE GC_PARSER_PROFILEAFS
Les Fonctions de Géocodage • Trois fonctions sont fournies: • SDO_GCDR.GEOCODE_ALL • Retourne un tableau de SDO_GEO_ADDR lorsque l'adresse est ambiguë • SDO_GCDR.GEOCODE • Retourne un objet SDO_GEO_ADDR qui contient l'adresse corrigée, les coordonnées et des indications explicatives. • SDO_GCDR.GEOCODE_AS_GEOMETRY • Retourne un objet SDO_GEOMETRY qui contient seulement les coordonnées sans aucune autre indication.
Représentation d'une adresse • ADDRESS_LINES consiste en un tableau de chaînes de caractères SDO_KEYWORDARRAY('1718 Desales Street NW', 'Apartment 3G' , 'Washington, DC 20036') SDO_KEYWORDARRAY('Arabellastraße 6', '81925 München') SDO_KEYWORDARRAY(’73 Boulevard Haussmann', ‘75008 Paris')
Éléments de réponse • Coordonnées de l’adresse • Qualité du résultat • Accrochage au réseau
????#ENUT?B281CP? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Error Message: le résultat en détail • Chaîne de 17 caractères. • Chaque position est associée à un élément spécifique de l'adresse. • Chaque caractère indique si cet élément a été trouvé dans la recherche. • ‘?’ indique que l'élément n'a pas été trouvé • Les positions 1 à 4 ne sont pas utilisées.
Exemple: Adresse sans numéro SELECT SDO_GCDR.GEOCODE('SPATIAL', SDO_KEYWORDARRAY('Clay Street', 'San Francisco, CA'), 'US', 'DEFAULT') GEO_ADDR FROM DUAL; SDO_GEO_ADDR(0, SDO_KEYWORDARRAY(NULL), NULL, 'CLAY ST', NULL, NULL, 'SAN FRANCISCO', NULL, 'CA', 'US', '94108', NULL, '94108', NULL, '978', 'CLAY', 'ST', 'F', 'F', NULL, NULL, 'L', 0, 23600689, '????#ENUT?B281CP?', 1, 'DEFAULT', -122.40904, 37.79385)) MATCHCODE 1 = Réponse exacte sur les informations fournies Positionnement sur le numéro de maison au "milieu" de Clay St Code postal rempli, nom de rue corrigé.
Exemple: Adresse avec numéro SELECT SDO_GCDR.GEOCODE('SPATIAL', SDO_KEYWORDARRAY('1350 Clay', 'San Francisco, CA'), 'US', 'DEFAULT') GEO_ADDR FROM DUAL; SDO_GEO_ADDR(0, SDO_KEYWORDARRAY(NULL), NULL, 'CLAY ST', NULL, NULL, 'SAN FRANCISCO', NULL, 'CA', 'US', '94109', NULL, '94109', NULL, '1350', 'CLAY', 'ST', 'F', 'F', NULL, NULL, 'L', .49, 23600696, '????#ENU??B281CP?', 2, 'DEFAULT', -122.41522, 37.7930729) MATCHCODE 2 = Type de rue non trouvé Positionnement sur le numéro de maison fourni. Code postal rempli, nom de la rue complèté.
Exemple: Correction d'adresse SELECT SDO_GCDR.GEOCODE('SPATIAL', SDO_KEYWORDARRAY('1350 Clay Avenue', 'San Francisco, 94119 CA'), 'US', 'DEFAULT') GEO_ADDR FROM DUAL; SDO_GEO_ADDR(0, SDO_KEYWORDARRAY(NULL), NULL, 'CLAY ST', NULL, NULL, 'SAN FRANCISCO', NULL, 'CA', 'US', '94109', NULL, '94109', NULL, '1350', 'CLAY', 'ST', 'F', 'F', NULL, NULL, 'L', .49, 23600696, '????#ENU??B281C??', 10, 'DEFAULT', -122.41522, 37.7930729) MATCHCODE 10 = Code postal non trouvé Positionnement sur le numéro fourni dans Clay St Code postal et type de voie corrigé
Exemple: Erreur d'Orthographe SELECT SDO_GCDR.GEOCODE('SPATIAL', SDO_KEYWORDARRAY('100 VAN NOUSS', 'San Francisco, CA'), 'US', 'DEFAULT') GEO_ADDR FROM DUAL; SDO_GEO_ADDR(0, SDO_KEYWORDARRAY(NULL), NULL, 'VAN NESS AVE', NULL, NULL, 'SAN FRANCISCO', NULL, 'CA', 'US', '94102', NULL, '94102', NULL, '100', 'VAN NESS', 'AVE', 'F', 'F', NULL, NULL, 'R', .01, 23619765, '????#E?UT?B281CP?', 4, 'DEFAULT', -122.41942, 37.7763488) MATCHCODE 4 = Rue non trouvée Recherche approximée sur le nom Positionnement sur le numéro fourni. Code postal ajouté et nom de rue corrigé
Exemple: Point d'Intérêt (POI) SELECT SDO_GCDR.GEOCODE('SPATIAL', SDO_KEYWORDARRAY('Sheraton', 'San Francisco, CA'), 'US', 'DEFAULT') GEO_ADDR FROM DUAL; SDO_GEO_ADDR(0, SDO_KEYWORDARRAY(NULL), 'SHERATON PALACE HOTEL', 'NEW MONTGOMERY ST', NULL, NULL, 'SAN FRANCISCO', NULL, 'CALIFORNIA', 'US', '94105', NULL, '94105', NULL, '2', NULL, NULL, 'F', 'F', NULL, NULL, 'L', 0, 23612131, '??????????B281CP?', 4, 'DEFAULT', -122.40177, 37.78838)) Le premier POI correspondant au nom donné est retourné. Adresse complète fournie.
Interface "naïf": geocode_as_geometry() SELECT SDO_GCDR.GEOCODE_AS_GEOMETRY('SPATIAL', SDO_KEYWORDARRAY('1350 Clay', 'San Francisco, CA'), ‘US') FROM DUAL; SDO_GEOMETRY(2001, 8307, SDO_POINT_TYPE(-122.41522, 37.7930729, NULL), NULL, NULL) Pas de paramètre MATCH_MODE: on utilise toujours le mode par défaut ("DEFAULT") Aucune indication sur la qualité du résultat.
Clay St, San Francisco 1250 Clay Street San Francisco CA 94108 Long: -122.41356 Lat: 37.7932878