Un cliente PHP para Nominatim, el motor de búsqueda de datos de OpenStreetMap.
Construir | Estable | Licencia |
---|---|---|
Si Composer ya está instalado
composer require riverside/php-nominatim
Si Composer aún no está instalado en su sistema, puede continuar e instalarlo usando esta línea de comando:
$ curl -sS https://getcomposer.org/installer | php
A continuación, agregue la siguiente entrada requerida al archivo compositor.json en la raíz de su proyecto.
{"requerir": {"riverside/php-nominatim": "^2.0"} }
Finalmente, usa Composer para instalar php-nominatim y sus dependencias:
$ php composer.phar install
requiere __DIR__ . '/vendor/autoload.php';
Busque una ubicación a partir de una descripción textual o una dirección.
$cliente = new RiversideNominatimClient();try {$respuesta = $cliente->search('Madison Square Garden, NY');if ($respuesta->isOK()) {echo $respuesta->getLat(0) . ", ". $respuesta->getLng(0); } else {echo 'Ubicación no encontrada.'; } } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Excepción $e) {echo $e->getMessage(); }
Genera una dirección a partir de una latitud y longitud.
$cliente = new RiversideNominatimClient();try {$respuesta = $cliente->reverse(48.8539373, 2.2825966);if ($respuesta->isOK()) {echo $respuesta->getAddress(0); } else {echo 'Dirección no encontrada'; } } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Excepción $e) {echo $e->getMessage(); }
Consulta la dirección y otros detalles de uno o varios objetos de OSM como nodo, vía o relación.
$cliente = new RiversideNominatimClient();pruebe {$cliente->setAddressDetails(1);$respuesta = $cliente->lookup('R146656,W104393803,N240109189');if ($respuesta->isOK()) {echo ' <pre>';print_r($respuesta->toArray()); } else {echo 'Dirección no encontrada'; } } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Excepción $e) {echo $e->getMessage(); }
Muestra todos los detalles sobre un solo lugar guardado en la base de datos.
$cliente = new RiversideNominatimClient();pruebe {$cliente->setAddressDetails(1);$respuesta = $cliente->detalles(199375150);if ($respuesta->isOK()) {echo '<pre>';print_r($respuesta->toArray()); } else {echo 'Lugar no encontrado'; } } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Excepción $e) {echo $e->getMessage(); }
Compruebe si el servicio y la base de datos se están ejecutando y cuándo se actualizó la base de datos por última vez.
$cliente = nuevo RiversideNominatimClient();pruebe {$respuesta = $cliente->estado();if ($respuesta->estáOK()) {echo '<pre>';print_r($respuesta->toArray()); } else {echo 'Estado no encontrado'; } } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Excepción $e) {echo $e->getMessage(); }
Enumera los objetos que han sido eliminados en OSM pero que se retienen en Nominatim en caso de que la eliminación fuera accidental.
$cliente = nuevo RiversideNominatimClient();pruebe {$respuesta = $cliente->deletable();si ($respuesta->estáOK()) {echo '<pre>';print_r($respuesta->toArray()); } else {echo 'Objetos eliminables no encontrados'; } } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Excepción $e) {echo $e->getMessage(); }
Lista de polígonos rotos detectados por Nominatim.
$cliente = nuevo RiversideNominatimClient();pruebe {$respuesta = $cliente->polígonos();if ($respuesta->estáOK()) {echo '<pre>';print_r($respuesta->toArray()); } else {echo 'Polígonos no encontrados'; } } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Excepción $e) {echo $e->getMessage(); }
https://wiki.openstreetmap.org/wiki/Nominatim
https://github.com/openstreetmap/Nominatim
https://nominatim.openstreetmap.org/
https://nominatim.org/