問題タブ [overpass-api]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
openstreetmap - 特定の国の OpenStreetMap からポイントを取得するには?
私は私の国のすべての学校のリストを取得しようとしています。何度か試行した後、http://overpass-turbo.euでエラーなしで動作する次のクエリを作成します。
以前geocodeBbox
はイタリアのすべての学校を選択していましたがgeocodeId
、 (ドキュメントgeocodeArea
を参照してください) 次のエラーが表示されるためです。
とにかく問題は、クエリがイタリアにない学校も選択することです (たとえば、クロアチアの学校があります)。
では、特定の国からポイントを正確に取得するにはどうすればよいでしょうか。
javascript - jQuery から Overpass API を使用して OSM データを取得するには?
OSM からマップ データをリクエストするための次のコードがあります。
Overpass Turbo でリクエストをテストすると、問題なく実行されますが、JavaScript でこのリクエストを実行すると、常にエラーが発生します。
リクエストのやり方に何か問題があるに違いありませんが、何が問題なのかわかりません。
JavaScript からベルリンのすべての学校の位置を取得するにはどうすればよいですか?
私も使ってみ$.getJSON()
ましたが、それもうまくいきませんでした。
javascript - jQueryを使用しないbbox戦略を使用したOpenLayers 3動的ベクトルレイヤー
JavaScript と OpenLayers 3 を使用して、マップの境界ボックスが変更されるたびに Overpass API から OpenStreetMap XML データを動的にロードする単純なマップを作成しようとしています。この目的のために、ベクター レイヤーを使用してマップを作成しました。このベクター レイヤーのソースはベクター ソースです。このソースのロード方法は bbox に設定されています。境界ボックスが変更されるたびに呼び出されるローダー関数を作成しました。ただし、実際にデータを読み込んでマップに追加する方法は今のところわかりません。
基本的に、問題は、上記のコードの疑問符でマークされた場所に何を配置すればよいかということです。これまでに見つけた例のほとんどは、私のプロジェクトでは使用していない jQuery を使用しているため、jQuery を使用しないものを探しています。OpenLayers 3 が jQuery を使用せずに Overpass API からデータをロードできることは知っていますが、私が見つけた (そして再現した) 唯一の例では、バウンディング ボックスが変更されたときに動的にではなく、最初にすべてのデータをロードするという固定のロード戦略を使用しています。
openstreetmap - 高速道路と対応するノードの Overpass API のクエリ
誰か親切にヒントを教えてくれませんか?必要なものを得るために、すべての単純な陸橋の例をまとめることは完全に失敗しています。
- リレーション内: http://www.openstreetmap.org/relation/2618040
- 「highway」が「motorway、trunk、primary、motorway_link、...」であるすべてのウェイを取得したい
- それらの方法が参照しているすべてのノード。
- タグname、highway、onewayを保持したい方法から
- 追加データのないノードが必要です。そのようです:
<node id="122317" lat="53.5282633" lon="10.0232716"/>
openstreetmap - 高架 API ウェイ座標
OSM Overpass API にクエリを実行して、境界ボックス内のアメニティを見つけようとしています。私のプログラムの実際のクエリは一般的なものになりますが、私のテストでは、どの方法でも座標 (緯度、経度) を取得できないことに気付きました。これが私のスクリプトです:
方法がないとかなりの量のデータが欠落しているため、方法を使用する必要があります。残念ながら、通常のアウトの代わりにメタを追加したにもかかわらず、座標データは含まれていません。これは here で回答されました。overpass-api の方法でクエリに座標が含まれているのは約 1 年前ですが、そのソリューションは機能しなくなりました。これはバグですか?それとも私は何か間違ったことをしていますか?また、center、out geom、および out skel を試しましたが、成功しませんでした。データをxmlで出力しています。
答えた、私は偶然に最後に再帰ラインを離れました. ありがとうティール。
javascript - 現在の制限速度を取得する
現在の道路の現在の制限速度を取得する Javascript プログラムを開発しようとしています。Overpass API を使用してみましたが、空の XML ファイルしか返されません。
これはまだコードに実装しておらず、Firefox でテストしています。
x
XML ファイルが空なのはなぜですか。また、座標の道路の制限速度を取得するために使用できる無料のオンライン リソースは他にありますy
か?
注:英国で速度制限をサポートしていることが望ましい
openstreetmap - Overpass の出力を不完全な方法にする
これは、Overpass API を使用してデータを取得する方法です。
残念ながら、陸橋が道を完成させるため、境界ボックスの外側にあるノードも取得します。結果セットにバウンディング ボックス内のノードのみが含まれるように、この動作をオフにすることはできますか?
overpass-api - overpass-api: キーの正規表現
http://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_QLによると、 クエリは値とキーの両方で正規表現を使用できます。値に正規表現を使用しても問題はありませんが、キーに問題があります。
上記で参照した wiki の例には、(他の例の中でも) 次のように書かれています。
これは、キーと値に正規表現を使用する例です。
私が興味を持っているのはname
鍵です。具体的にはname:en
鍵。名前で検索するにはいくつかの問題があります。name:en
すべての名前が英語であるとは限りません。名前が英語でないノード/ウェイ/リレーションについては、英語バージョンの名前のタグ があるという保証はありません。
一般的に、名前が英語になるか、name:en
タグがあるかを事前に知る方法はありません。name
またはだけname:en
を求めると、ヒットしないリスクがあります。(もちろん、両方を検索しても成功する保証はありません。)
name
失敗することはわかっているがname:en
成功する場合があります。それが私のテストケースです。これを使用して overpass-api.de/api/interpreter にクエリを実行できます。
高架道路で見る
と問題なく動作します (「duma」は では見つかりませんがname
、 で見つかりname:en
ます) が、長くてやや反復的です。
name
とタグを含む正規表現を使用したいのですname:en
が、サーバーがクエリを理解していないか、単に間違った正規表現を使用しています。
wikiに示されている例を使用して:node[~"^addr:.*$"~"^Foo$"]
私は試しました:
および他のいくつか。[~"^name:.*"~"duma",i]
何かが返されるかどうかを確認するためだけに、例を模倣しました。
overpass-api.de はキーの正規表現を認識しますか、それとも正規表現が間違っているだけですか? overpass-api.de からエラーは発生しません。bbox の座標と空の結果だけです。通常、不適切な形式のクエリへの対応は非常に厳格です。前もって感謝します。
openstreetmap - osm overpass クエリを使用した実行時エラー
http://wiki.openstreetmap.org/wiki/Overpass_API/installで説明されているように高架をインストールしました
そして私はdbを複製しました。
簡単なクエリを実行すると、次のエラーが表示されます。
この問題を解決する方法を知っていますか?