特定の地理座標が都市のリストからどのくらい離れているかを知りたい(「遠い」は座標と都市の間のユークリッド距離を意味し、道路を考慮しない)。このためには、イスラエルのすべての都市のためのバウンディングボックスを見つける必要があります。都市のバウンディングボックスを取得する
This postについては、国境のボックスについて説明していますが、都市レベルで必要です。
マップ上で手書きで四角形を描き、座標を抽出する以外に、長いリストの都市についてこの情報を取得する方法はありますか?
特定の地理座標が都市のリストからどのくらい離れているかを知りたい(「遠い」は座標と都市の間のユークリッド距離を意味し、道路を考慮しない)。このためには、イスラエルのすべての都市のためのバウンディングボックスを見つける必要があります。都市のバウンディングボックスを取得する
This postについては、国境のボックスについて説明していますが、都市レベルで必要です。
マップ上で手書きで四角形を描き、座標を抽出する以外に、長いリストの都市についてこの情報を取得する方法はありますか?
これらの都市のバウンディングボックスはwww.mapdevelopers.com/geocode_bounding_box.phpにあります。都市に入ると地図上にボックスが表示され、それぞれの緯度と経度が表示されます。うまくいけばそれはあなたに必要な情報を与えるでしょう。
私は、あなたは境界ボックスを必要としないが、都市の境界を考える。バウンディングボックスでは分析が非常に粗く、バウンディングボックスを取得するためには、まず境界が必要です。
都市のリストだけがあれば、すべての都市の境界である空間データを取得する必要があります。このデータを見つけるには、this linksを試してみてください。オープンストリートマップをチェックすることをお勧めします。次に、GISソフトウェア(例えば、オープンソースのQuantum GIS)を使用して、あなたのポイントと都市境界の間のユークリッド距離を計算することができます。
これが役に立ちます。
あなたがマップ上のボックスを表示し、各辺の緯度と経度を与える都市/国を入力 http://boundingbox.klokantech.com/ でそれらの都市のバウンディングボックスを見つけることができます。しかし、正確さはhttp://www.mapdevelopers.com/geocode_bounding_box.phpで高くなります(彼の答えは@Fredになります)
長いリストの都市については、Google Geocoding serviceを使用してください。セットアップが完了したら、任意の言語を使用してREST APIにアクセスできます。たとえば、一般的な標準のrequestsライブラリをPythonに使用できます。
また、Google独自のGoogleマップJava API,Python APIまたはJavaScript APIを使用することもできます。いずれにもGoogleジオコーディングサービスが含まれています。
ここでPythonとJavaライブラリの簡単な例を参照してください:https://developers.google.com/maps/documentation/webservices/client-library。ここで
は、ジオコーディングの結果のスキーマです:results[]: {
types[]: string,
formatted_address: string,
address_components[]: {
short_name: string,
long_name: string,
postcode_localities[]: string,
types[]: string
},
partial_match: boolean,
place_id: string,
postcode_localities[]: string,
geometry: {
location: LatLng,
location_type: GeocoderLocationType
viewport: LatLngBounds,
bounds: LatLngBounds
}
}
バウンディングボックスがgeometry>viewport
変数に位置し、この
"viewport" : {
"northeast" : {
"lat" : 37.4238253802915,
"lng" : -122.0829009197085
},
"southwest" : {
"lat" : 37.4211274197085,
"lng" : -122.0855988802915
}
}
のように見えます