Klien PHP untuk Nominatim, mesin pencari untuk data OpenStreetMap.
Membangun | Stabil | Lisensi |
---|---|---|
Jika Composer sudah terinstall
composer require riverside/php-nominatim
Jika Komposer belum terinstal di sistem Anda, Anda dapat melanjutkan dan menginstalnya menggunakan baris perintah ini:
$ curl -sS https://getcomposer.org/installer | php
Selanjutnya, tambahkan entri require berikut ke file composer.json di root proyek Anda.
{"memerlukan" : {"tepi sungai/php-nominatim" : "^2.0"} }
Terakhir, gunakan Composer untuk menginstal php-nominatim dan dependensinya:
$ php composer.phar install
membutuhkan __DIR__ . '/vendor/autoload.php';
Cari lokasi dari deskripsi tekstual atau alamat.
$klien = new RiversideNominatimClient();coba {$response = $klien->pencarian('Madison Square Garden, NY');if ($response->isOK()) {echo $response->getLat(0) . ", " . $respon->getLng(0); } else {echo 'Lokasi tidak ditemukan.'; } } tangkapan (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Pengecualian $e) {echo $e->getMessage(); }
Menghasilkan alamat dari garis lintang dan garis bujur.
$klien = new RiversideNominatimClient();coba {$response = $klien->reverse(48.8539373, 2.2825966);if ($response->isOK()) {echo $response->getAddress(0); } else {echo 'Alamat tidak ditemukan'; } } tangkapan (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Pengecualian $e) {echo $e->getMessage(); }
Kueri alamat dan detail lainnya dari satu atau beberapa objek OSM seperti node, jalur, atau relasi.
$klien = new RiversideNominatimClient();coba {$client->setAddressDetails(1);$response = $client->lookup('R146656,W104393803,N240109189');if ($response->isOK()) {echo ' <pre>';print_r($response->toArray()); } else {echo 'Alamat tidak ditemukan'; } } tangkapan (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Pengecualian $e) {echo $e->getMessage(); }
Tampilkan semua detail tentang satu tempat yang disimpan dalam database.
$klien = new RiversideNominatimClient();coba {$klien->setAddressDetails(1);$response = $klien->details(199375150);if ($response->isOK()) {echo '<pre>';print_r($response->toArray()); } else {echo 'Tempat tidak ditemukan'; } } tangkapan (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Pengecualian $e) {echo $e->getMessage(); }
Periksa apakah layanan dan database berjalan, dan kapan database terakhir diperbarui.
$klien = new RiversideNominatimClient();coba {$response = $klien->status();if ($response->isOK()) {echo '<pre>';print_r($response->toArray()); } else {echo 'Status tidak ditemukan'; } } tangkapan (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Pengecualian $e) {echo $e->getMessage(); }
Buat daftar objek yang telah dihapus di OSM tetapi ditahan di Nominatim jika penghapusan tidak disengaja.
$klien = new RiversideNominatimClient();coba {$response = $klien->dapat dihapus();if ($response->isOK()) {echo '<pre>';print_r($response->toArray()); } else {echo 'Objek yang dapat dihapus tidak ditemukan'; } } tangkapan (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Pengecualian $e) {echo $e->getMessage(); }
Daftar poligon rusak yang terdeteksi oleh Nominatim.
$klien = new RiversideNominatimClient();coba {$response = $klien->poligon();if ($response->isOK()) {echo '<pre>';print_r($response->toArray()); } else {echo 'Poligon tidak ditemukan'; } } tangkapan (InvalidArgumentException $e) {echo $e->getMessage(); } catch (Pengecualian $e) {echo $e->getMessage(); }
https://wiki.openstreetmap.org/wiki/Nominatim
https://github.com/openstreetmap/Nominatim
https://nominatim.openstreetmap.org/
https://nominatim.org/