Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| nominatim [Le 07/07/2015, 19:22] – [Mise à jours base de données Nominatim avec Osmosis] Zococo | nominatim [Le 25/09/2022, 15:25] (Version actuelle) – méthode d'installation plus à jour -> redirection vers la documentation officielle Amiralgaby | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag> | + | {{tag> |
| ---- | ---- | ||
| Ligne 5: | Ligne 5: | ||
| ====== Nominatim | ====== Nominatim | ||
| - | Nominatim (du Latin, 'par le nom') est un outil permettant de chercher des données géographiques par leur nom et leur adresse et de générer des adresses potentielles à partir de coordonnées géographiques (reverse geocoding). L' | + | Nominatim (du Latin, 'par le nom') est un outil permettant de chercher des données géographiques par leur nom et leur adresse et de générer des adresses potentielles à partir de coordonnées géographiques (reverse geocoding). L' |
| Nominatim est aussi utilisé par l' | Nominatim est aussi utilisé par l' | ||
| Ligne 14: | Ligne 14: | ||
| </ | </ | ||
| - | ==== Pourquoi installer Nominatim | + | < |
| + | **Pourquoi installer Nominatim | ||
| Pour un usage occasionnel, | Pour un usage occasionnel, | ||
| - | * de soulager les serveurs libres et gratuits d' | + | * de soulager les serveurs libres et gratuits d' |
| * de ne pas être dépendant d' | * de ne pas être dépendant d' | ||
| * de disposer de ses propres bases de données | * de disposer de ses propres bases de données | ||
| - | ===== Installer Nominatim ===== | + | </ |
| - | ==== Installer les dépendances | + | ===== Installation ===== |
| - | < | + | ==== En suivant la documentation officielle ==== |
| - | sudo apt-get install libgeos-dev libpq-dev libtool automake libproj-dev libboost-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev gcc proj-bin libgeos-c1 osmosis libgeos++-dev php5 php-pear php5-pgsql php5-json php-db postgresql postgis postgresql-contrib postgresql-9.3-postgis-2.1 postgresql-server-dev-9.3 libprotobuf-c0-dev protobuf-c-compiler | + | Nominatim peut être installé en suivant [[https:// |
| - | </ | + | |
| - | Il faut aussi installer les paquets suivants si vous ne les avez pas déjà installés : | + | |
| - | < | + | |
| - | sudo apt-get install build-essential libxml2-dev libbz2-dev git cmake pkg-config | + | |
| - | </ | + | |
| - | + | ||
| - | === Pour l' | + | |
| - | < | + | |
| - | sudo apt-get install git autoconf-archive | + | |
| - | </code> | + | |
| ==== Installer depuis les sources ==== | ==== Installer depuis les sources ==== | ||
| - | Installation à partir de la version stable 2.4.0 (à la date du 4 juin 2015). | + | Voir aussi [[https:// |
| - | + | ||
| - | === Téléchargement du fichier d' | + | |
| - | < | + | |
| - | wget http://www.nominatim.org/ | + | |
| - | </code> | + | |
| - | === Décompactage du fichier d' | + | |
| - | < | + | |
| - | tar xvf Nominatim-2.4.0.tar.bz2 | + | |
| - | </code> | + | |
| - | === Compilation === | + | |
| - | Se rendre dans le répertoire Nominatim créé après la décompression (appelé Nominatim dans l' | + | |
| - | < | + | |
| - | cd Nominatim | + | |
| - | ./configure | + | |
| - | make | + | |
| - | sudo checkinstall | + | |
| - | </code> | + | |
| - | + | ||
| - | <note tip> | + | |
| - | Les alertes | + | |
| - | </ | + | |
| - | === Personnalisation de Nomitamim | + | ===== Configuration ===== |
| + | ==== Personnalisation de Nomitamim | ||
| La création d'un fichier < | La création d'un fichier < | ||
| Pour davantage de détail voir **(en)** [[https:// | Pour davantage de détail voir **(en)** [[https:// | ||
| Ligne 78: | Ligne 49: | ||
| </ | </ | ||
| - | === Téléchargement de données optionnelles === | + | ==== Téléchargement de données optionnelles |
| - | == Pondérations Wikipedia (Wikipedia rankings) == | + | === Pondérations Wikipedia (Wikipedia rankings) |
| Le fonctionnement de Nominatim peut être amélioré par le recours aux pondérations Wikipédia qui permettent de mesure l' | Le fonctionnement de Nominatim peut être amélioré par le recours aux pondérations Wikipédia qui permettent de mesure l' | ||
| Ligne 90: | Ligne 61: | ||
| La taille cumulée de ces deux fichiers atteint 1,5 GO et ajoute 30 GO à la taille finale de Nominatim sur le disque. La durée d' | La taille cumulée de ces deux fichiers atteint 1,5 GO et ajoute 30 GO à la taille finale de Nominatim sur le disque. La durée d' | ||
| - | == Codes postaux britanniques == | + | === Codes postaux britanniques |
| Le cas échéant, utile pour les recherches concernant le territoire britannique. | Le cas échéant, utile pour les recherches concernant le territoire britannique. | ||
| < | < | ||
| Ligne 96: | Ligne 67: | ||
| </ | </ | ||
| - | == Installation des données Tiger housenumber pour les États-Unis d' | + | === Installation des données Tiger housenumber pour les États-Unis d' |
| Aux États-Unis d' | Aux États-Unis d' | ||
| Ligne 109: | Ligne 80: | ||
| wget -r ftp:// | wget -r ftp:// | ||
| </ | </ | ||
| - | **Conversion des données en requêtes SQL (sauvegardées dans data/ | + | **Conversion des données en requêtes SQL (sauvegardées dans data/ |
| < | < | ||
| ./ | ./ | ||
| Ligne 121: | Ligne 92: | ||
| </ | </ | ||
| <note attention> | <note attention> | ||
| - | L' | + | L' |
| </ | </ | ||
| - | === Création des comptes postgres === | + | ==== Création des comptes postgres |
| - | == Compte de l' | + | === Compte de l' |
| < | < | ||
| sudo -u postgres createuser -s <votre nom d' | sudo -u postgres createuser -s <votre nom d' | ||
| Ligne 133: | Ligne 104: | ||
| </ | </ | ||
| - | == Compte de l' | + | === Compte de l' |
| Le nom d' | Le nom d' | ||
| Ligne 143: | Ligne 114: | ||
| <note warning> | <note warning> | ||
| - | En aucun cas l' | + | En aucun cas l' |
| </ | </ | ||
| - | == Paramètres PostgreSQL == | + | === Paramètres PostgreSQL |
| Par défaut la base de données PostgreSQL s' | Par défaut la base de données PostgreSQL s' | ||
| Le répertoire de la base de donnée est le suivant sur mon Ubuntu 14.04 : </ | Le répertoire de la base de donnée est le suivant sur mon Ubuntu 14.04 : </ | ||
| Ligne 157: | Ligne 128: | ||
| sudo pg_ctlcluster 9.3 main start | sudo pg_ctlcluster 9.3 main start | ||
| </ | </ | ||
| - | ou bien | + | oubien |
| < | < | ||
| sudo service postgres 9.3 main start | sudo service postgres 9.3 main start | ||
| Ligne 176: | Ligne 147: | ||
| === Importation et indexation des données OSM === | === Importation et indexation des données OSM === | ||
| - | L' | + | L' |
| <note tip> | <note tip> | ||
| Ligne 193: | Ligne 164: | ||
| Il se peut que vous rencontriez des problèmes liés au paramétrage de postgresql lors de l' | Il se peut que vous rencontriez des problèmes liés au paramétrage de postgresql lors de l' | ||
| - | La procédure ci-dessous a permis de solutionner le problème pour une installation particulière. À tenter sans garantie et en réfléchissant un peu. | + | La procédure ci-dessous a permis de solutionner le problème pour une installation particulière. À tenter sans garantie et en réfléchissant un peu. |
| NB : postgresql exige que la version soit précisée, dans l' | NB : postgresql exige que la version soit précisée, dans l' | ||
| * Arrêt postgresql | * Arrêt postgresql | ||
| Ligne 213: | Ligne 184: | ||
| / | / | ||
| / | / | ||
| - | / | + | / |
| / | / | ||
| et votre répertoire de données | et votre répertoire de données | ||
| < | < | ||
| - | sudo rm -R / | + | sudo rm -R / |
| sudo rm -R <votre répertoire> | sudo rm -R <votre répertoire> | ||
| </ | </ | ||
| Ligne 248: | Ligne 219: | ||
| < | < | ||
| cd <votre répertoire d' | cd <votre répertoire d' | ||
| + | </ | ||
| * Traitement données | * Traitement données | ||
| < | < | ||
| Ligne 345: | Ligne 317: | ||
| Pas testé. Voir **(en)** [[https:// | Pas testé. Voir **(en)** [[https:// | ||
| + | |||
| + | ===== Utilisation de Nominatim ===== | ||
| + | |||
| + | La recherche dans Nominatim fonctionne à partir d' | ||
| + | |||
| + | Le serveur Nominatim peut fonctionner de manière interactive dans le navigateur : saisir l' | ||
| + | |||
| + | Toutefois Nominatim peut faire nettement plus, c'est ce que nous allons voir ci-dessous. | ||
| + | ==== Géocodage ==== | ||
| + | Le géocodage est l' | ||
| + | |||
| + | === Format des requêtes === | ||
| + | Il est conseillé de saisir les requêtes de gauche à droite, en commençant par le plus précis (1, quai de la fraternité, | ||
| + | |||
| + | == Format de base == | ||
| + | |||
| + | Les requêtes sont passées dans le navigateur sous la forme suivante : | ||
| + | < | ||
| + | " | ||
| + | </ | ||
| + | ou | ||
| + | < | ||
| + | " | ||
| + | </ | ||
| + | ===Adresses=== | ||
| + | Rue de la République, | ||
| + | et | ||
| + | Marseille, Rue de la République | ||
| + | sont deux formats valides | ||
| + | ==Numéros== | ||
| + | La saisie des numéros améliore la précision de la recherche. Dans ce cas le format de gauche à droite est nécessaire : | ||
| + | 51, rue de la République, | ||
| + | ==Virgule== | ||
| + | La présence de virgules entre les termes de la recherche n'est pas obligatoire mais améliore l’efficacité de la requête. | ||
| + | |||
| + | ===Mots clés spécifiques=== | ||
| + | L' | ||
| + | |||
| + | == Paramètres == | ||
| + | ** format=[html|xml|json|jsonv2] ** | ||
| + | |||
| + | Format de la sortie | ||
| + | |||
| + | * html | ||
| + | Format html | ||
| + | * xml | ||
| + | Format XML (format structuré) | ||
| + | * json | ||
| + | Format json | ||
| + | * jsonv2 | ||
| + | Format jsonv2 | ||
| + | |||
| + | **json_callback=< | ||
| + | |||
| + | Empaquette le résultat de la requête dans un appel de fonction json, c'est à dire une chaîne commençant par " | ||
| + | |||
| + | **accept-language=< | ||
| + | |||
| + | Force la langue de résultat indépendamment des valeur figurant dans l' | ||
| + | |||
| + | ===Écriture de la requête=== | ||
| + | q=< | ||
| + | < | ||
| + | |||
| + | * street=< | ||
| + | * city=< | ||
| + | * county=< | ||
| + | * state=< | ||
| + | * country=< | ||
| + | * postalcode=< | ||
| + | |||
| + | ===Requêtes structurées (experimental)=== | ||
| + | Les requêtes structurées sont plus rapides et nécessites moins de ressources serveur. | ||
| + | NE PAS COMBINER AVEC LES PARAMETRES q=< | ||
| + | |||
| + | ==countrycodes=< | ||
| + | Restreint la recherche à un pays (ouune liste de pays). Code au format ISO 3166-1alpha2 (fr pour France) | ||
| + | |||
| + | ==viewbox=< | ||
| + | zone préferentielle de recherche des résultats | ||
| + | |||
| + | ==bounded=[0|1]== | ||
| + | Restreint la recherche aux seuls objets contenus dans la zone de recherche. | ||
| + | Cette restriction permet la recherche par aménité. Ainsi [pub] échouera alors que [pub] avec bounded=1 affichera une liste d' | ||
| + | |||
| + | ==polygon=[0|1]== | ||
| + | Obsolète | ||
| + | |||
| + | ==addressdetails=[0|1]== | ||
| + | Séparation de l' | ||
| + | |||
| + | ==email=< | ||
| + | Peu utile pour un serveur autohébergé. Concerne les usages en ligne en masse | ||
| + | |||
| + | ==exclude_place_ids=< | ||
| + | Permet d' | ||
| + | |||
| + | ==limit=< | ||
| + | Limite le nombre des résultats au nombre précisé | ||
| + | |||
| + | ==dedupe=[0|1]== | ||
| + | Non documenté | ||
| + | |||
| + | == debug=[0|1]== | ||
| + | Non documenté | ||
| + | |||
| + | ==polygon_geojson=1== | ||
| + | Affiche la géométrie des résultats au format geojson. | ||
| + | |||
| + | ==polygon_kml=1== | ||
| + | Affiche la géométrie des résultats au format kml. | ||
| + | |||
| + | ==polygon_svg=1== | ||
| + | Affiche la géométrie des résultats au format svg. | ||
| + | |||
| + | ==polygon_text=1== | ||
| + | Affiche la géométrie des résultats au format WKT. | ||
| + | |||
| + | === Exemples === | ||
| + | Pour faciliter le travail des utilisateurs, | ||
| + | |||
| + | == 32 quai du port à Marseille == | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | ==12 Cours Mirabeau à Aix-en-Provence== | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | == Détails : 20, La Canebière à Marseille == | ||
| + | À noter : les place_id sont différents ! | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | {{ :: | ||
| + | |||
| + | Et une petite dernière pour la route : | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | {{ :: | ||
| + | ====Géocodage inversé==== | ||
| + | |||
| + | Le géocodage inversé est l' | ||
| + | |||
| + | === format=[xml|json] === | ||
| + | Format de la sortie | ||
| + | |||
| + | ==xml== | ||
| + | Format XML (format structuré) | ||
| + | ==json== | ||
| + | Format json | ||
| + | |||
| + | ===json_callback=< | ||
| + | Empaquette le résultat de la requête dans un appel de fonction json, c'est à dire une chaîne commençant par " | ||
| + | |||
| + | ===accept-language=< | ||
| + | Force la langue de résultat indépendamment des valeur figurant dans l' | ||
| + | |||
| + | | ||
| + | objet OSM (noeud/ | ||
| + | |||
| + | === lat=< | ||
| + | Coordonnées du point à géocoder. | ||
| + | |||
| + | === zoom=[0-18]=== | ||
| + | Niveau de zoom, 1 correspond à un pays, 18 à un immeuble. | ||
| + | |||
| + | === addressdetails=[0|1]=== | ||
| + | Séparation de l' | ||
| + | |||
| + | ===email=< | ||
| + | Peu utile pour un serveur auto hébergé. Concerne les usages en ligne en masse. | ||
| + | |||
| + | ===Hierarchie=== | ||
| + | * Niveau administratif | ||
| + | * 2 < | ||
| + | * 4 < | ||
| + | * 5 < | ||
| + | * 6 | ||
| + | * 7 < | ||
| + | * 8 < | ||
| + | * 9 < | ||
| + | * 10 < | ||
| + | |||
| + | === Exemples === | ||
| + | |||
| + | == Latitude Nord 43,29537 Longitude Est 5,37444== | ||
| + | [[http:// | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | Surprise ! C'est : 1, La Canebière, Marseille 1er Arrondissement, | ||
| + | |||
| + | == Latitude Nord 44,90008 Longitude Est 6,4461== | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | Et la capture d' | ||
| + | |||
| + | {{ :: | ||
| + | |||
| + | Gare SNCF de Briançon. | ||
| + | |||
| + | ====Consultation d' | ||
| + | Affiche les adresses d'un ouplusiseurs objets OSM : noeuds, routes, relations. | ||
| + | |||
| + | === Format === | ||
| + | < | ||
| + | </ | ||
| + | === Paramètres === | ||
| + | == format=[xml|json] == | ||
| + | Format de la sortie | ||
| + | |||
| + | **xml** | ||
| + | Format XML (format structuré) | ||
| + | **json** | ||
| + | Format json | ||
| + | |||
| + | ==json_callback=< | ||
| + | Empaquette le résultat de la requête dans un appel de fonction json, c'est à dire une chaîne commençant par " | ||
| + | |||
| + | ==accept-language=< | ||
| + | Force la langue de résultat indépendamment des valeur figurant dans l' | ||
| + | |||
| + | ==osm_ids=[N|W|R]< | ||
| + | liste de 1 à 50 objets dont l' | ||
| + | |||
| + | ==addressdetails=[0|1]== | ||
| + | Séparation de l' | ||
| + | |||
| + | ==email=< | ||
| + | Peu utile pour un serveur autohébergé. Concerne les usages en ligne en masse. | ||
| + | |||
| + | === Exemples === | ||
| + | [[https:// | ||
| ===== Mise à jours base de données Nominatim avec Osmosis ===== | ===== Mise à jours base de données Nominatim avec Osmosis ===== | ||
| Ligne 355: | Ligne 583: | ||
| La version d' | La version d' | ||
| < | < | ||
| - | mv osmosis / | + | wget http:// |
| + | unzip osmosis-latest.zip bin/ | ||
| + | mv bin/osmosis / | ||
| + | rmdir bin | ||
| + | rm osmosis-latest.zip | ||
| </ | </ | ||
| Ligne 364: | Ligne 596: | ||
| </ | </ | ||
| - | === Configuration des mises à jour === | + | ==== Configuration des mises à jour ==== |
| - | Par défaut, Nominatim est configuré pour réaliser des mises à jour des différences globales à la minute (?? global minutely diffs - mon anglais technique est insuffisant pour ue traduction optimale). | + | Par défaut, Nominatim est configuré pour réaliser des mises à jour des différences globales à la minute (?? global minutely diffs - mon anglais technique est insuffisant pour une traduction optimale). |
| - | **Modification des sources de mise à jour** | + | ===Modification des sources de mise à jour=== |
| Pour modifier les sources de mise à jour, le paramétrage est à faire dans le fichier < | Pour modifier les sources de mise à jour, le paramétrage est à faire dans le fichier < | ||
| Ligne 378: | Ligne 610: | ||
| </ | </ | ||
| - | **Remplacement du paramétrage antérieur** | + | Et pour la France : |
| + | < | ||
| + | @define(' | ||
| + | </ | ||
| + | ===Remplacement du paramétrage antérieur=== | ||
| - | Il est nécessaire de préalablement effacer le fichier < | + | Il est nécessaire de préalablement effacer le fichier < |
| < | < | ||
| rm configuration.txt | rm configuration.txt | ||
| Ligne 393: | Ligne 629: | ||
| </ | </ | ||
| - | === Mise à jour de Nominatim === | + | ==== Mise à jour de Nominatim |
| La commande ci-dessous permet de maintenir à jour en permanence la base de donnée : | La commande ci-dessous permet de maintenir à jour en permanence la base de donnée : | ||
| < | < | ||
| Ligne 449: | Ligne 685: | ||
| ===== Voir aussi ===== | ===== Voir aussi ===== | ||
| - | + | ||
| - | * **(en)** [[https:// | + | * **(en)** [[https:// |
| + | * **(en)** [[https:// | ||
| + | * [[osrm|OSRM]] | ||
| ---- | ---- | ||
| // | // | ||
| //Basé sur [[https:// | //Basé sur [[https:// | ||
