php nominatim
2.0.0
OpenStreetMap データの検索エンジンである Nominatim の PHP クライアント。
建てる | 安定した | ライセンス |
---|---|---|
Composerがすでにインストールされている場合
composer require riverside/php-nominatim
Composer がシステムにまだインストールされていない場合は、次のコマンド ラインを使用してインストールできます。
$ curl -sS https://getcomposer.org/installer | php
次に、プロジェクトのルートにあるcomposer.jsonファイルに次のrequireエントリを追加します。
{"require" : {"riverside/php-nominatim" : "^2.0"} }
最後に、Composer を使用して php-nominatim とその依存関係をインストールします。
$ php composer.phar install
__DIR__ が必要です。 '/vendor/autoload.php';
テキストによる説明または住所から場所を検索します。
$client = new RiversideNominatimClient();try {$response = $client->search('ニューヨーク州マディソン スクエア ガーデン');if ($response->isOK()) {echo $response->getLat(0) . 「、」。 $response->getLng(0); } else {echo '場所が見つかりません。'; } catch (InvalidArgumentException $e) {echo $e->getMessage(); catch (例外 $e) {echo $e->getMessage(); }
緯度と経度から住所を生成します。
$client = new RiversideNominatimClient();try {$response = $client->reverse(48.8539373, 2.2825966);if ($response->isOK()) {echo $response->getAddress(0); } else {echo 'アドレスが見つかりません'; } catch (InvalidArgumentException $e) {echo $e->getMessage(); catch (例外 $e) {echo $e->getMessage(); }
ノード、ウェイ、リレーションなどの 1 つまたは複数の OSM オブジェクトのアドレスとその他の詳細をクエリします。
$client = new RiversideNominatimClient();try {$client->setAddressDetails(1);$response = $client->lookup('R146656,W104393803,N240109189');if ($response->isOK()) {echo ' <pre>';print_r($response->toArray()); } else {echo 'アドレスが見つかりません'; } catch (InvalidArgumentException $e) {echo $e->getMessage(); catch (例外 $e) {echo $e->getMessage(); }
データベースに保存されている 1 つの場所に関するすべての詳細を表示します。
$client = new RiversideNominatimClient();try {$client->setAddressDetails(1);$response = $client->details(199375150);if ($response->isOK()) {echo '<pre>';print_r($response->toArray()); } else {echo '場所が見つかりません'; } catch (InvalidArgumentException $e) {echo $e->getMessage(); catch (例外 $e) {echo $e->getMessage(); }
サービスとデータベースが実行されているかどうか、およびデータベースが最後に更新されたのはいつかを確認してください。
$client = new RiversideNominatimClient();try {$response = $client->status();if ($response->isOK()) {echo '<pre>';print_r($response->toArray()); } else {echo 'ステータスが見つかりません'; } catch (InvalidArgumentException $e) {echo $e->getMessage(); catch (例外 $e) {echo $e->getMessage(); }
OSM で削除されたが、誤って削除された場合に備えて Nominatim に保持されているオブジェクトをリストします。
$client = new RiversideNominatimClient();try {$response = $client->deletable();if ($response->isOK()) {echo '<pre>';print_r($response->toArray()); } else {echo '削除可能なオブジェクトが見つかりません'; } catch (InvalidArgumentException $e) {echo $e->getMessage(); catch (例外 $e) {echo $e->getMessage(); }
Nominatim によって検出された壊れたポリゴンのリスト。
$client = new RiversideNominatimClient();try {$response = $client->polygons();if ($response->isOK()) {echo '<pre>';print_r($response->toArray()); } else {echo 'ポリゴンが見つかりません'; } catch (InvalidArgumentException $e) {echo $e->getMessage(); catch (例外 $e) {echo $e->getMessage(); }
https://wiki.openstreetmap.org/wiki/Nominatim
https://github.com/openstreetmap/Nominatim
https://nominatim.openstreetmap.org/
https://nominatim.org/