Un client PHP pour Nominatim, le moteur de recherche de données OpenStreetMap.
Construire | Écurie | Licence |
---|---|---|
Si Composer est déjà installé
composer require riverside/php-nominatim
Si Composer n'est pas encore installé sur votre système, vous pouvez l'installer à l'aide de cette ligne de commande :
$ curl -sS https://getcomposer.org/installer | php
Ensuite, ajoutez l’entrée require suivante au fichier composer.json à la racine de votre projet.
{"require" : {"riverside/php-nominatim" : "^2.0"} }
Enfin, utilisez Composer pour installer php-nominatim et ses dépendances :
$ php composer.phar install
nécessite __DIR__ . '/fournisseur/autoload.php';
Recherchez un emplacement à partir d’une description textuelle ou d’une adresse.
$client = new RiversideNominatimClient();try {$response = $client->search('Madison Square Garden, NY');if ($response->isOK()) {echo $response->getLat(0) . ", " . $réponse->getLng(0); } else {echo 'Emplacement introuvable.'; } } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Exception $e) {echo $e->getMessage(); }
Génère une adresse à partir d'une latitude et d'une longitude.
$client = new RiversideNominatimClient();try {$response = $client->reverse(48.8539373, 2.2825966);if ($response->isOK()) {echo $response->getAddress(0); } else {echo 'Adresse introuvable'; } } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Exception $e) {echo $e->getMessage(); }
Recherchez l'adresse et d'autres détails d'un ou plusieurs objets OSM comme un nœud, un chemin ou une relation.
$client = new RiversideNominatimClient();essayez {$client->setAddressDetails(1);$response = $client->lookup('R146656,W104393803,N240109189');if ($response->isOK()) {echo ' <pre>';print_r($response->toArray()); } else {echo 'Adresse introuvable'; } } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Exception $e) {echo $e->getMessage(); }
Afficher tous les détails sur un seul lieu enregistré dans la base de données.
$client = new RiversideNominatimClient();essayez {$client->setAddressDetails(1);$response = $client->details(199375150);if ($response->isOK()) {echo '<pre>';print_r($response->toArray()); } else {echo 'Lieu introuvable'; } } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Exception $e) {echo $e->getMessage(); }
Vérifiez si le service et la base de données sont en cours d'exécution et quand la base de données a été mise à jour pour la dernière fois.
$client = new RiversideNominatimClient();try {$response = $client->status();if ($response->isOK()) {echo '<pre>';print_r($response->toArray()); } else {echo 'Statut introuvable'; } } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Exception $e) {echo $e->getMessage(); }
Répertoriez les objets qui ont été supprimés dans OSM mais qui sont retenus dans Nominatim au cas où la suppression serait accidentelle.
$client = new RiversideNominatimClient();try {$response = $client->deletable();if ($response->isOK()) {echo '<pre>';print_r($response->toArray()); } else {echo 'Objets supprimables introuvables'; } } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Exception $e) {echo $e->getMessage(); }
Liste des polygones brisés détectés par Nominatim.
$client = new RiversideNominatimClient();try {$response = $client->polygons();if ($response->isOK()) {echo '<pre>';print_r($response->toArray()); } else {echo 'Polygones introuvables'; } } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Exception $e) {echo $e->getMessage(); }
https://wiki.openstreetmap.org/wiki/Nominatim
https://github.com/openstreetmap/Nominatim
https://nominatim.openstreetmap.org/
https://nominatim.org/