Um cliente PHP para Nominatim, o mecanismo de busca de dados do OpenStreetMap.
Construir | Estável | Licença |
---|---|---|
Se o Composer já estiver instalado
composer require riverside/php-nominatim
Se o Composer ainda não estiver instalado em seu sistema, você pode instalá-lo usando esta linha de comando:
$ curl -sS https://getcomposer.org/installer | php
Em seguida, adicione a seguinte entrada require ao arquivo compositor.json na raiz do seu projeto.
{"require": {"riverside/php-nominatim": "^2.0"} }
Finalmente, use o Composer para instalar o php-nominatim e suas dependências:
$ php composer.phar install
requer __DIR__ . '/vendor/autoload.php';
Procure um local a partir de uma descrição textual ou endereço.
$client = new RiversideNominatimClient();tente {$response = $client->search('Madison Square Garden, NY');if ($response->isOK()) {echo $response->getLat(0) . ", ". $resposta->getLng(0); } else {echo 'Local não encontrado.'; } } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Exceção $e) {echo $e->getMessage(); }
Gera um endereço a partir de uma latitude e longitude.
$client = new RiversideNominatimClient();tente {$response = $client->reverse(48.8539373, 2.2825966);if ($response->isOK()) {echo $response->getAddress(0); } else {echo 'Endereço não encontrado'; } } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Exceção $e) {echo $e->getMessage(); }
Consulte o endereço e outros detalhes de um ou vários objetos OSM como nó, caminho ou relação.
$client = new RiversideNominatimClient();tente {$client->setAddressDetails(1);$response = $client->lookup('R146656,W104393803,N240109189');if ($response->isOK()) {echo ' <pré>';print_r($response->toArray()); } else {echo 'Endereço não encontrado'; } } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Exceção $e) {echo $e->getMessage(); }
Mostre todos os detalhes sobre um único local salvo no banco de dados.
$client = new RiversideNominatimClient();tente {$client->setAddressDetails(1);$response = $client->details(199375150);if ($response->isOK()) {echo '<pré>';print_r($response->toArray()); } else {echo 'Local não encontrado'; } } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Exceção $e) {echo $e->getMessage(); }
Verifique se o serviço e o banco de dados estão em execução e quando o banco de dados foi atualizado pela última vez.
$client = new RiversideNominatimClient();tente {$response = $client->status();if ($response->isOK()) {echo '<pré>';print_r($response->toArray()); } else {echo 'Status não encontrado'; } } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Exceção $e) {echo $e->getMessage(); }
Lista objetos que foram excluídos no OSM, mas são retidos no Nominatim caso a exclusão tenha sido acidental.
$client = new RiversideNominatimClient();tente {$response = $client->deletable();if ($response->isOK()) {echo '<pré>';print_r($response->toArray()); } else {echo 'Objetos deletáveis não encontrados'; } } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Exceção $e) {echo $e->getMessage(); }
Lista de polígonos quebrados detectados pelo Nominatim.
$client = new RiversideNominatimClient();tente {$response = $client->polígonos();if ($response->isOK()) {echo '<pré>';print_r($response->toArray()); } else {echo 'Polígonos não encontrados'; } } catch (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Exceção $e) {echo $e->getMessage(); }
https://wiki.openstreetmap.org/wiki/Nominatim
https://github.com/openstreetmap/Nominatim
https://nominatim.openstreetmap.org/
https://nominatim.org/