1

座標または名前と国に基づいて近くの都市を見つけるために使用できる API を探しています (おそらく、近くは解釈次第である可能性があるため、距離でフィルタリングする機能を備えています)。

.net アプリケーションで使用できるライブラリ (ラッパー) を用意するか、安静にすることをお勧めします。

私は無料の API を探しています (1 日あたりの無料リクエストの量が多い)。

私の最初の考えはGoogleで、「The Google Geocoding API」を見つけましたが、地図に載せるつもりはないので、制限により使用できません。

私が使用できる他のものを知っている人はいますか?

4

2 に答える 2

1

GeoNamesを見てみてください。逆ジオコーディングに使用できるRESTful APIがあります。「近くの郵便番号を探す/リバース ジオコーディング」セクションまで下にスクロールして、ライブ デモを表示します。

于 2013-04-11T23:20:45.143 に答える
1

Overpass API を使用してみることができます。これは Open Street Map データを使用します。それがあなたが求めていることを正確に行うかどうかはわかりませんが、それは始まりかもしれません.

以下の呼び出しは、都市を検索します。bbox は、検索する領域を作成します。以下に作成した例では、英国のポーツマスを囲む座標を使用しています。

http://overpass.osm.rambler.ru/cgi/xapi?node[place=city][bbox=-1.150818,50.761653,-0.987396,50.851908]

これから返される結果は、いくつかの有用なデータを提供します

<?xml version="1.0" encoding="UTF-8"?>
<osm version="0.6" generator="Overpass API">
    <note>The data included in this document is from www.openstreetmap.org. The data is made available under ODbL.</note>
    <meta osm_base="2013-04-11T23:39:03Z"/>
    <node id="17721995" lat="50.8065249" lon="-1.0744016">
        <tag k="is_in" v="EnglaHampshire, England, UK"/>
        <tag k="is_in:continent" v="Europe"/>
        <tag k="is_in:country" v="United Kingdom"/>
        <tag k="is_in:country_code" v="GB"/>
        <tag k="is_in:county" v="Hampshire"/>
        <tag k="name" v="Portsmouth"/>
        <tag k="name:ru" v="Портсмут"/>
        <tag k="name:sr" v="Портсмут"/>
        <tag k="place" v="city"/>
        <tag k="population" v="197700"/>
        <tag k="url" v="http://www.visitportsmouth.co.uk"/>
    </node>
</osm>

座標を国名などの他の検索機能に置き換えることは可能だと思います。

編集:

http://overpass-api.de/クエリ ベース アドレスhttp://overpass-api.de/api/ (4 コア、64 GB RAM)。 http://overpass.osm.rambler.ru/クエリ ベース アドレスhttp://overpass.osm.rambler.ru/cgi/ (8 コア、64 GB RAM)。

両方のサーバーの合計容量は、1 日あたり約 1.000.000 リクエストです。1 日あたりのクエリ数が 10.000 未満であるか、1 日あたりのデータのダウンロードが 5 GB 未満である場合は、他のユーザーの邪魔にならないと想定しても問題ありません。

于 2013-04-11T23:45:40.230 に答える