Ein PHP-Client für Nominatim, die Suchmaschine für OpenStreetMap-Daten.
Bauen | Stabil | Lizenz |
---|---|---|
Wenn Composer bereits installiert ist
composer require riverside/php-nominatim
Wenn Composer noch nicht auf Ihrem System installiert ist, können Sie es über die folgende Befehlszeile installieren:
$ curl -sS https://getcomposer.org/installer | php
Fügen Sie als Nächstes den folgenden Anforderungseintrag zur Datei „composer.json“ im Stammverzeichnis Ihres Projekts hinzu.
{"require" : {"riverside/php-nominatim" : "^2.0"} }
Verwenden Sie schließlich Composer, um php-nominatim und seine Abhängigkeiten zu installieren:
$ php composer.phar install
erfordern __DIR__ . '/vendor/autoload.php';
Suchen Sie anhand einer Textbeschreibung oder Adresse nach einem Standort.
$client = new RiversideNominatimClient();try {$response = $client->search('Madison Square Garden, NY');if ($response->isOK()) {echo $response->getLat(0) . "," . $response->getLng(0); } else {echo 'Standort nicht gefunden.'; } } Catch (InvalidArgumentException $e) {echo $e->getMessage(); } Catch (Exception $e) {echo $e->getMessage(); }
Erzeugt eine Adresse aus einem Breiten- und Längengrad.
$client = new RiversideNominatimClient();try {$response = $client->reverse(48.8539373, 2.2825966);if ($response->isOK()) {echo $response->getAddress(0); } else {echo 'Adresse nicht gefunden'; } } Catch (InvalidArgumentException $e) {echo $e->getMessage(); } Catch (Exception $e) {echo $e->getMessage(); }
Fragen Sie die Adresse und andere Details eines oder mehrerer OSM-Objekte wie Knoten, Weg oder Relation ab.
$client = new RiversideNominatimClient();try {$client->setAddressDetails(1);$response = $client->lookup('R146656,W104393803,N240109189');if ($response->isOK()) {echo ' <pre>';print_r($response->toArray()); } else {echo 'Adresse nicht gefunden'; } } Catch (InvalidArgumentException $e) {echo $e->getMessage(); } Catch (Exception $e) {echo $e->getMessage(); }
Alle in der Datenbank gespeicherten Details zu einem einzelnen Ort anzeigen.
$client = new RiversideNominatimClient();try {$client->setAddressDetails(1);$response = $client->details(199375150);if ($response->isOK()) {echo '<pre>';print_r($response->toArray()); } else {echo 'Ort nicht gefunden'; } } Catch (InvalidArgumentException $e) {echo $e->getMessage(); } Catch (Exception $e) {echo $e->getMessage(); }
Überprüfen Sie, ob der Dienst und die Datenbank ausgeführt werden und wann die Datenbank zuletzt aktualisiert wurde.
$client = new RiversideNominatimClient();try {$response = $client->status();if ($response->isOK()) {echo '<pre>';print_r($response->toArray()); } else {echo 'Status nicht gefunden'; } } Catch (InvalidArgumentException $e) {echo $e->getMessage(); } Catch (Exception $e) {echo $e->getMessage(); }
Listen Sie Objekte auf, die in OSM gelöscht wurden, aber in Nominatim zurückgehalten werden, für den Fall, dass das Löschen versehentlich erfolgte.
$client = new RiversideNominatimClient();try {$response = $client->deletable();if ($response->isOK()) {echo '<pre>';print_r($response->toArray()); } else {echo 'Löschbare Objekte nicht gefunden'; } } Catch (InvalidArgumentException $e) {echo $e->getMessage(); } Catch (Exception $e) {echo $e->getMessage(); }
Liste der von Nominatim erkannten gebrochenen Polygone.
$client = new RiversideNominatimClient();try {$response = $client->polygons();if ($response->isOK()) {echo '<pre>';print_r($response->toArray()); } else {echo 'Polygone nicht gefunden'; } } 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/