2

例えば。bbox 内のすべてのノードの建物の座標を取得したい。

PHP

$queryBuildings="[out:json];node['building']({$y1},{$x1},{$y2},{$x2});out;";

$data = file_get_contents("http://overpass-api.de/api/interpreter?data={$queryBuildings}")

結果からの 1 つの要素:

{
  "type": "node",
  "id": 29537155,
  "lat": 54.6744568,
  "lon": -2.1421066,
  "tags": {
    "building": "house",
    "description": "Abandoned (2007). Associate with lead mine workings above it?",
    "name": "Flushiemere House"
  }
}

経度と緯度のフィールドのみを取得したいのですが、可能ですか?

4

3 に答える 3

1

すべてのタグを省略するスケルトン印刷モード( ) を使用できるためout skel、わずかに短くなります。したがって、リクエストは次のようになります。[out:json];node['building']({$y1},{$x1},{$y2},{$x2});out skel;

現在、 csv出力モード( [out:csv]) は、表示するフィールドを選択できる唯一のモードです。

于 2016-05-25T14:56:37.387 に答える
0

まず、json_decodeを使用して応答本文を解析します。

$parsed_data = json_decode($data);

次に、次のようにさまざまなフィールドにアクセスできます。

$lat = $parsed_data->lat;
$lon = $parsed_data->lon;
于 2016-05-25T13:23:15.380 に答える
0
<?php

$data = '{
  "type": "node",
  "id": 29537155,
  "lat": 54.6744568,
  "lon": -2.1421066,
  "tags": {
    "building": "house",
    "description": "Abandoned (2007). Associate with lead mine workings above it?",
    "name": "Flushiemere House"
  }
}';
$test = json_decode($data);

var_dump($test->lon);
于 2016-05-25T13:22:37.823 に答える