2016-02-12 13 views
5

一般的に、ロンドンの座標を持つすべてのWikipediaの記事のリンク(およびタイトル)を取得したい。私はGoogleを使ってみましたが、残念ながら適切な検索条件はありませんでした。何かヒント?ロンドン内の座標を持つすべてのWikipediaの記事を取得する

London map

+0

シェイプ内で検索できるMediaWiki APIはありません。ジオコーディングされたすべての記事を取得し、次にそのフィーチャー内の座標を確認する必要があります。 – leo

答えて

3

これは本当にコメントには大きすぎたアイデアだけのコレクションです。

おそらくDBpediaです。これはウィキペディアの意味論的ミラーであり、WikipediaのAPIよりも洗練されたクエリの可能性があります。 this paperのようにかなり複雑な空間クエリを処理できますが、SPARQLに入る必要があります。 Showing nearby wiki information:WikipediaのAPIは、空間問合せのための比較的新しい機能を持っている、と述べた

Example SPARQL query

:ここではその紙からの数字です。私は多角形で検索することはできないと思いますが、それは良いスタートです。

ここでは記事から座標を取得するためにmwclientを使用して書いた前の回答がありますが、そのユーザーは記事のリストをスクラップするという利点がありました。

Geonames.orgジオコードされた記事の検索を絞り込むことができます。英語のWikipediaで806,000箇所の地理的位置を調べるのも悪くないでしょう。

パフォーマンス上の理由から、Wikipediaのサーバーで問題を起こさないようにするには、WikipediaまたはDBpediaのダンプから作業することを検討してください。

2

OpenStreetMapとOverpass APIのタスクのように見えます。我々はoverpass turboに(跨線橋APIのための素敵なフロントエンドを)行く私たちのクエリを構築するための

我々はwikipedia tagに興味があるので、ウィザードを開き、「ロンドンのウィキペディア= *」を入力してください。

自動的に生成され、実行されたクエリは、このクエリになります。

[out:json][timeout:25]; 
// fetch area “London” to search in 
{{geocodeArea:London}}->.searchArea; 
// gather results 
(
    // query part for: “wikipedia=*” 
    node["wikipedia"](area.searchArea); 
    way["wikipedia"](area.searchArea); 
    relation["wikipedia"](area.searchArea); 
); 
// print results 
out body; 
>; 
out skel qt; 

これはあまりにも多くの要素を返し、ブラウザにも大きな負担をかけることになります。タイムアウトが低すぎるために失敗する可能性があります。

少し変更します。 タイムアウトをに増やし、再帰のステップ(>;)を削除します。これは直接的な結果にのみ関心があり、関連するオブジェクトには興味がないからです。結果のクエリは次のようになります。

result hereを表示できます。

これをエクスポートするさまざまなオプションがあります。超高層ターボではに直接アクセスし、結果を直接ファイルに保存するか、またはオーバーパスAPIに送信する生のクエリを取得することができます。これでPythonスクリプトから直接このクエリを実行できます。

output formatsがあります(JSON、XML、CVS)。また、ウィキペディアのタグの隣には、wikidata tagにも興味があるかもしれません。

すべて OSMデータベースに含まれているロンドンの座標を持つwikipediaページ。

+1

一般的に、あなたは素晴らしいと愛らしいです。問題は結果が冗談だと​​いうことです。 OpenStreetMapは素晴らしいですが、そのタグになると品質は本当に低いです。 – marcus

+0

私はウィキペディアのタグのカバレッジを比較していませんが、あなたが正しいと思います:/ – scai

+1

良いことは - 昨年、品質が大幅に改善され、今すぐwikidataとosmの両方​​を照会するツールがあります - https://wiki.openstreetmap.org/wiki/Wikidata%2BOSM_SPARQL_query_service – Yurik

関連する問題