Geonamesデータベース(cities1000)をダウンロードして、テーブルにインポートするための小さなRubyプログラムを作成しました(geo_cities
)。次に、という地理列を追加しましたgeog
。
次に、緯度/経度のすべてをgeog列に変換しました。
update public.geo_cities set geog = st_GeogFromText('SRID=4326;POINT(' || longitude || ' ' || latitude || ')');
物事はよく見えています。今、私がやりたいのは、プラハから100マイル以内にあるすべての都市を見つけます。
だから私はプラハを次のように得ることができます:
select * from geo_cities where asciiname = 'Prague' and countrycode = 'CZ';
私はまだGISとPostgresを学んでいるので、誰かが簡単なクエリで私を助けてくれませんか?