Importer les données vers une bdd oracle

Extraire des données OSM, créer sa carte, uMap, utiliser sur un GPS ou un smartphone...
Répondre
Fred59
Messages : 16
Inscription : mer. mai 06, 2015 9:45 am

Importer les données vers une bdd oracle

Message par Fred59 » mer. mai 06, 2015 4:56 pm

Salut à tous,

Je me permets de poster un sujet afin d'avoir quelques éclaircissements.

Mon objectif: Exploiter les données d'OSM en vue de faciliter la saisie d'adresse au sein de plusieurs pays ( en ne portant pas trop attention aux numéros de rue )
L’architecture : une bdd sous oracle interrogée via webservice en vb.net et qui se mettra a jour à intervalle régulier .

Ce que j'ai entrepris :

1)Tout d'abord je me suis intéressé aux fichiers en eux même fournis par OSM, en prenant pour première idée d'exploiter l'xml directement une fois parsé ( en vue de supprimer tous ce dont je n'ai pas besoin) , le cas échéant en stockant le xml via xmltype sous oracle .

--> Solution non retenue par mes collaborateurs qui veulent une base de donnée en SQL avec des tables et tout et tout sous ORACLE.

2) Je me suis donc intéressé aux différentes manières de traiter les fichiers XML mis a disposition en vue de les envoyer vers une bdd . Essentiellement j'ai testé osm2pgsql et osmosis : je suis parvenu à envoyer mes données sur une bdd en POSTGRESQL ( sans les avoir parsé pour osm2pgsql et en les filtrant pour osmosis ) avec le plugin Postgis ( dont je ne pense pas avoir besoin pour l'utilisation des données que je ferai)

Question : via Postgresql peut on écrire dans un fichier le script de ce qui est inséré dans la base de données en SQL ?? Si oui peux t on convertir ce fichier pour oracle ? Ou y a t il une autre solution en vue?

3)J'ai lu la doc de nominatim qui apparemment peut aider pas mal pour la géolocalisation notamment via l utilisation de gazeteer mais je ne vois pas l'utilité que je pourrais en faire ? Est ce que l'on pourrait juste m'aiguiller car il y a pas mal d'outils dont j'ai du mal à cerner l'utilisation.

Question: nominatim m'aiderait il pour mon projet? gazeteer ? gazeteer est il utilisable sans nominatim ...?

Afin de compliquer les choses je précise que je suis sous windows et j'ai pu remarquer que la majorité des outils ont l'air d etre plus adaptés à linux , sauf erreur de ma part

En vous remerciant . Fred

sly
Messages : 489
Inscription : sam. févr. 07, 2009 6:33 pm
Localisation : Chambéry - savoie

Re: Importer les données vers une bdd oracle

Message par sly » mer. mai 06, 2015 6:06 pm

Hello !
Fred59 a écrit : Mon objectif: Exploiter les données d'OSM en vue de faciliter la saisie d'adresse au sein de plusieurs pays ( en ne portant pas trop attention aux numéros de rue )
Tu pourrais donner des exemples de requêtes (pas en SQL mais en bon français) que tu pourrais être amené à faire ?
Exemple :
Récupérer le nom des rues dans un rayon de 400m d'un point de coordonnées x/y
Récupérer le nom des rues qui croise la rue de nom X
Fred59 a écrit : L’architecture : une bdd sous oracle interrogée via webservice en vb.net et qui se mettra a jour à intervalle régulier .
Avec des techno pareil, tu augmentes terriblement la difficulté (lire: le temps et donc les coûts !) car il n'existe quasi rien à ma connaissance en logiciel libre qui puisse convertir du fichier osm vers oracle avec maintient à jour régulier. cf : http://wiki.openstreetmap.org/wiki/Oracle

En clair, j'insisterais fortement auprès de mes commanditaires sur l'aspect "ça existe déjà donc ça coûtera moins cher" et venter les mérite de l'arrivée d'un serveur postgresql au sein d'un environnement certes propriétaire, mais au final, vb.net doit savoir parler à un postgresql !

Et si c'est rédhibitoire, ben, j'ai peur qu'il te faille coder un soft pour ça


2) Je me suis donc intéressé aux différentes manières de traiter les fichiers XML mis a disposition en vue de les envoyer vers une bdd . Essentiellement j'ai testé osm2pgsql et osmosis : je suis parvenu à envoyer mes données sur une bdd en POSTGRESQL ( sans les avoir parsé pour osm2pgsql et en les filtrant pour osmosis ) avec le plugin Postgis ( dont je ne pense pas avoir besoin pour l'utilisation des données que je ferai)
Fred59 a écrit : Ou y a t il une autre solution en vue?
- Hacker osm2pgsql/osmosis qui sont des logiciels libres pour leur faire écrire les requête qu'ils exectuent dans un fichier et ou regarder l'option write-pgsql-dump d'osmosis (y'a ptet un équivalent pour osm2pgsql)
- si ta zone à couvrir est petite (quelques pays européén) et update journalière acceptables, peut-être envisager un cycle d'update : import postgresql / dump sql de postgresql / conversion oracle / ré-import

Fred59
Messages : 16
Inscription : mer. mai 06, 2015 9:45 am

Re: Importer les données vers une bdd oracle

Message par Fred59 » jeu. mai 07, 2015 9:45 am

Salut sly et merci de ta réponse .

Alors l'objectif est de faire de la correction d'adresse .
A- Soit en contrôlant chaque champs ( le plus simple pour moi) :1) Sélection du pays dans une liste, 2)code postal --> Proposition de villes , 3)une fois la ville sélectionné --> à la saisie des premières lettres d'une rue, affichage des possibilités.

B-Soit en permettant la saisie sur une ligne de l'adresse entière : le but étant la proposition des différentes adresses pouvant correspondre .


Pour mon objectif, la notion de géolocalisation n'intervient pas , j'aimerai récupérer par pays que les codes postaux, villes et rues en vue de faire un des traitements énoncés ci dessus . Sur quel outil dois je m'aiguiller pour faire cela ?

Nominatim est pas mal pour la proposition d adresse mais est toujours accompagné de la couche affichage géographique si je ne m'abuse .

Alors j'ai testé la commande dump sous osmosis ( qui me permet de trier un peu l'xml) mais n'ai pas réussi à la mettre en œuvre, quelqu un aurait un exemple ? Merci

Je suis actuellement en stage donc je pense que c est un moyen de me faire galérer car sérieusement l'utilisation de postgré serait effectivement la meilleure solution .

sly
Messages : 489
Inscription : sam. févr. 07, 2009 6:33 pm
Localisation : Chambéry - savoie

Re: Importer les données vers une bdd oracle

Message par sly » jeu. mai 07, 2015 10:37 am

Je dirais en effet que nominatim a l'air de se rapprocher de ton objectif.
Fred59 a écrit : Pour mon objectif, la notion de géolocalisation n'intervient pas , j'aimerai récupérer par pays que les codes postaux, villes et rues en vue de faire un des traitements énoncés ci dessus . Sur quel outil dois je m'aiguiller pour faire cela ?
Tu risques quand même d'avoir besoin de localisation pour répondre à la question : quelle rue pour quel code postal

Fred59
Messages : 16
Inscription : mer. mai 06, 2015 9:45 am

Re: Importer les données vers une bdd oracle

Message par Fred59 » jeu. mai 07, 2015 11:04 am

Il n'y a pas d'autre moyen pour effectuer les liaisons entre villes, rues etc .. ?
Limite la solution de parse du xml serait plus judicieuse non ?

Merci

sly
Messages : 489
Inscription : sam. févr. 07, 2009 6:33 pm
Localisation : Chambéry - savoie

Re: Importer les données vers une bdd oracle

Message par sly » jeu. mai 07, 2015 11:09 am

Fred59 a écrit :Il n'y a pas d'autre moyen pour effectuer les liaisons entre villes, rues etc .. ?
En tout cas en France, le mieux c'est de déterminer l'appartenance d'une rue au polygone de la commune, donc pas de "géolocalisation" au sens propre (trouver une coordonnées en fonction d'un nom/cp/ville), mais au moins de calcul de "le chemin X est-il dans le polygone Y"
Fred59 a écrit : Limite la solution de parse du xml serait plus judicieuse non ?
Au moins ça serait plus souple pour créer la structure de base de donnée que tu veux. Mais il te faudra toujours retrouver ville/CP pour une rue)

Pieren

Re: Importer les données vers une bdd oracle

Message par Pieren » jeu. mai 07, 2015 11:19 am

Dans OSM, le code postal ou même le nom de la ville n'est pas systématiquement présent sur chaque élément "adresse" (et parfois, même le nom de la rue n'est pas lié) qui lui-même peut être sur un noeud ou un polygone (par ex. un bâtiment). Il faut donc un processus de rapprochement qui passe par l'interprétation des données spécifiques à OSM (comme les "relations") et la géométrie (le code postal ou le nom de la ville est indiqué sur un autre élément comme un polygone englobant sans lien relationnel autre que géométrique).

Comme les données OSM ne sont pas cohérentes et que les schémas sont très variables suivant les pays ou les contributeurs, c'est un processus assez long et complexe (dans le sens qu'il faut tenir compte de tous les cas de figure) à mettre en place. C'est pourquoi il serait plus sage de voir comment nominatim fonctionne avant de se lancer soi-même. Le gazeteer est aussi un bon point de départ car il construit la bdd en délaissant les données qui ne concernent pas les adresses, soit 99% d' OSM. Mais les données qu'il génère sont adaptées aux requêtes de nominatim.

Avatar de l’utilisateur
cquest
Messages : 1934
Inscription : ven. avr. 16, 2010 12:22 am
Localisation : Val de Marne
Contact :

Re: Importer les données vers une bdd oracle

Message par cquest » jeu. mai 07, 2015 12:14 pm

Fred59 a écrit :Alors l'objectif est de faire de la correction d'adresse .
A- Soit en contrôlant chaque champs ( le plus simple pour moi) :1) Sélection du pays dans une liste, 2)code postal --> Proposition de villes , 3)une fois la ville sélectionné --> à la saisie des premières lettres d'une rue, affichage des possibilités.

B-Soit en permettant la saisie sur une ligne de l'adresse entière : le but étant la proposition des différentes adresses pouvant correspondre .
Il fallait commencer par ça...

OSM contient relativement peu de données adresse. Il serait préférable de partir sur des bases d'adresses qui sont faites pour ça et surtout bien plus complètes !

Pour la France tu as:
- la Base Adresse Nationale (issue de l'IGN et La Poste, un peu améliorée dans sa version ODbL par la BANOteam)
- la BANO (Base Adresse Nationale Ouverte), moins complète, mais qui sur certaines agglomération intègre les données opendata disponibles, et intègre aussi des adresses saisies dans OSM

Pour le reste du monde... http://openaddresses.io/ qui répertorie toutes les bases d'adresses disponibles sous licence libre.

Pour BAN/BANO, les données sont disponibles en CSV donc facile à importer, même dans Oracle ! (enfin j'espère)

Fred59
Messages : 16
Inscription : mer. mai 06, 2015 9:45 am

Re: Importer les données vers une bdd oracle

Message par Fred59 » jeu. mai 07, 2015 2:43 pm

Très bien je comprends mieux .

Je vais essayer d'implémenter Nominatim cette après midi voir ce que cela me donne . C est possible sous Windows ?

Merci cquest pour ta réponse, j'ai essayé de voir si open adresse convenait à mon utilisation , effectivement cela était le plus proche avec l'utilisation que je désire faire cependant il ne couvre pas énormément de zones .
Le but de ma manœuvre avec OSM est de pouvoir réadapter ce système pour plusieurs pays, l'idée est de traiter de la même manière mes sources de données ( OSM ) afin de pouvoir ajouter à un logiciel métiers la recherche d adresse dans différents pays. ( France, Espagne, Belgique , Italie, Maroc et Algérie ) .

Si quelqu un a des pistes je suis preneur, je tâtonne un peu en passant en revue les différents outils proposés .

Avatar de l’utilisateur
cquest
Messages : 1934
Inscription : ven. avr. 16, 2010 12:22 am
Localisation : Val de Marne
Contact :

Re: Importer les données vers une bdd oracle

Message par cquest » jeu. mai 07, 2015 7:43 pm

Les deux OSM + bases d'adresses hors OSM se complètent, faire l'un sans l'autre ou inversement donnera des résultats très mauvais à l'international.

Avatar de l’utilisateur
gendy54
Site Admin
Messages : 353
Inscription : ven. juil. 11, 2014 10:31 pm
Localisation : Paris, Nancy
Contact :

Re: Importer les données vers une bdd oracle

Message par gendy54 » ven. mai 08, 2015 6:57 pm

Christian,

Prochain défi: une BAE: base d'adresse européenne en open-data!
Donat ROBAUX

Avatar de l’utilisateur
cquest
Messages : 1934
Inscription : ven. avr. 16, 2010 12:22 am
Localisation : Val de Marne
Contact :

Re: Importer les données vers une bdd oracle

Message par cquest » dim. mai 10, 2015 12:42 pm

Ca avance pays par pays... il y a déjà le Danemark et les Pays Bas, maintenant la France...

Le Royaume Uni s'y met, le Brésil aussi, ainsi que les US. Prise de conscience et mouvement général ?

Fred59
Messages : 16
Inscription : mer. mai 06, 2015 9:45 am

Re: Importer les données vers une bdd oracle

Message par Fred59 » lun. mai 11, 2015 10:05 am

Même si je ne condidère que les rues au sein des villes ? J'ai un CRM derriere qui effectuera une seconde vérification.

Fred59
Messages : 16
Inscription : mer. mai 06, 2015 9:45 am

Re: Importer les données vers une bdd oracle

Message par Fred59 » lun. mai 11, 2015 11:46 am

J'aimerai votre avis par ailleurs sur la solution que j'ai choisi d adopter, notamment dans le choix des outils .

Je voudrais pour un pays donner, recueillir des infos d open street map, correspondant aux villes et aux rue qui la composent ( que ça et rien d autre, pas de visuel )

J'ai parcouru aujourd’hui hui overpass histoire de voir ce qu il pouvait m apporter, peux t on requeter que ce dont j ai besoin avec overpass ? ( négliger l aspect visuel des représentation) Le but étant d'avoir des données les plus légères possible à traiter . Est ce faisable si oui je dois orienter mes recherches vers quel outil? Merci



J'ai ensuite prévu de parser mon xml et de persister mes données sur une bdd de mon choix , ce qui ne devrait pas trop être compliqué .

Désolé pour toutes ces question mais je débute dans le domaine. Merci

rZhouD
Messages : 8
Inscription : ven. juil. 18, 2014 4:56 pm

Re: Importer les données vers une bdd oracle

Message par rZhouD » mar. mai 12, 2015 2:58 pm

Fred59 a écrit :Très bien je comprends mieux .

Je vais essayer d'implémenter Nominatim cette après midi voir ce que cela me donne . C est possible sous Windows ?

Merci cquest pour ta réponse, j'ai essayé de voir si open adresse convenait à mon utilisation , effectivement cela était le plus proche avec l'utilisation que je désire faire cependant il ne couvre pas énormément de zones .
Le but de ma manœuvre avec OSM est de pouvoir réadapter ce système pour plusieurs pays, l'idée est de traiter de la même manière mes sources de données ( OSM ) afin de pouvoir ajouter à un logiciel métiers la recherche d adresse dans différents pays. ( France, Espagne, Belgique , Italie, Maroc et Algérie ) .

Si quelqu un a des pistes je suis preneur, je tâtonne un peu en passant en revue les différents outils proposés .

Il est possible d'exécuter sous Windows, avec les bons paramètres, c'est ce que j'avais fait. Si je me souviens bien, j'ai passé peut être quelques jours dessus :D (Je étais encore un débutant)
Par contre, j'ai eu une erreur de chargement pour une trop grande quantité de données, comme L'Europe entier. je sens que c'est le chargement prend la totalité de mon RAM avec gazeteer :S, J'espère que ce soit un problème de configuration. Sinon ça va être difficile pour la suite :D, enfin, je suis pas aller chercher plus loin, et je suis resté au niveau de la France, pour mon projet.

Sinon quand j'ai réessayé avec mon Debian, c'est beaucoup plus simple à faire.

à mon avis, Nominatim fait probablement ce que tu veux faire, tu peux le voir dans le service qu'il te propose. Comme tu peux trouver plein d'adresse :D

Fred59
Messages : 16
Inscription : mer. mai 06, 2015 9:45 am

Re: Importer les données vers une bdd oracle

Message par Fred59 » mar. mai 12, 2015 4:13 pm

Mais comment ça se fait que lorsque je prends les données brutes sur géofabrik ( j ai essayé avec la corse ) comment se fait il qu il ne contienne pas toutes les rues ?

DF45
Messages : 13
Inscription : lun. févr. 28, 2011 12:43 pm
Localisation : Beaugency

Re: Importer les données vers une bdd oracle

Message par DF45 » mar. mai 12, 2015 10:59 pm

Bonjour,

Pour revenir au sujet du post, il faut être très attentif aux termes des licences Oracle.
L'utilisation en BDD géographique d'Oracle nécessite l'option payante "Spatial".
Je conseille, à l'installation des binaires, de ne pas prendre toutes les options (comme c'est le défaut).
Il est préférable de tout décocher et n'installer que ce que l'on sait impérativement avoir besoin.

Cordialement,

DF45

Avatar de l’utilisateur
cquest
Messages : 1934
Inscription : ven. avr. 16, 2010 12:22 am
Localisation : Val de Marne
Contact :

Re: Importer les données vers une bdd oracle

Message par cquest » jeu. mai 14, 2015 7:13 pm

Fred59 a écrit :Mais comment ça se fait que lorsque je prends les données brutes sur géofabrik ( j ai essayé avec la corse ) comment se fait il qu il ne contienne pas toutes les rues ?
Brute ? fichier .osm ou .pbf ? Les shapefile sont une version qui a subit des traitements et qui n'est pas brute.

Il manque quoi ? Un exemple précis ? Les données sont bien présentes dans OSM... je rappelle qu'elles ne sont pas exhaustive ;)

Invité

Re: Importer les données vers une bdd oracle

Message par Invité » lun. mai 18, 2015 10:09 am

J'aoi trouvé les données que je pensais manquante pour la corse , j'avais un bug du à un addon sur notepad --' Mais pour nominatim, sur moteur de recherche d'adresse m'interesse enormément mais puis je n'utiliser que cette partie là avec nominatim? Pour ma part, l'affichage de cartes ne m'interesse pas du tout ...

Apparemment, ce qui est utilisé c est une version modifiée d'osm2postgre appelée gazeter ... Est ce bien cela ? Puis je utiliser cet outil pour extraire en quelque sorte les adresses ? oO

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 6 invités