LoginSignup
0
3

More than 3 years have passed since last update.

Googleマップから座標(緯度・経度)を取得する方法ご紹介

Last updated at Posted at 2019-12-02

元記事:https://www.octoparse.jp/blog/how-to-extract-google-maps-coordinates/

「座標」の意味は点の位置を表すのに使ういくつかの数の組のことです。地球のどの場所でも座標(すなわち経度と緯度)を確認できます。先日Googleマップのデータをスクレイピングする方法を紹介して、この記事では、Googleマップで場所の緯度・経度の座標をすばやく抽出する方法を紹介します。

実際に、Googleマップの座標がURL内に隠されています。そのことに気付くのは難しいですね。この場合、まずはその場所のURLを抽出し、正規表現により座標を見つける必要があります。東京タワーを例として説明いたします。

まず、ブラウザでGoogleマップを開き、検索ボックスに「東京タワー」を入力し検索します。
Tokyo tower.png

ページの読み込みが完了したら、URLで座標を探します。座標は「@」記号の後ろにあります。
@sign.png

次に、URLの抽出を始めます。今回使うツールはOctoparseです。Octoparseは、特に初心者にとって直感的な操作画面で、使いやすいWebスクレイピングツールです。

1.「+」記号をクリックして、カスタマイズモードで新しいタスクを作成します。
2. URLをボックスに入力します。
https://www.google.com/maps/place/%E6%9D%B1%E4%BA%AC%E3%82%BF%E3%83%AF%E3%83%BC/@35.6585848,139.7432442,17z/data=!3m1!4b1!4m5!3m4!1s0x60188bbd9009ec09:0x481a93f0d2a409dd!8m2!3d35.6585805!4d139.7454329?hl=ja
3.「URLを保存する」を押して続行します。

これで、新しいタスクが正常に作成されました。問題は、Googleマップが組み込みブラウザ内で読み込まれないことです。これはなぜでしょうか?これは、組み込みブラウザはGoogleマップと交換性がよくないためです。この問題を解決するには、ブラウザを変更する必要があります。Firefox 45.0に変更すれば、正常に読み込みます。

1.png

Webページの読み込みが完了したら、組み込みのブラウザーでデータをクリックすると、「操作ヒント」パネルに選択可能なオプションが表示されます。「選択した要素のテキストを抽出する」を選択します。
data extra.png

これで、抽出操作が正常に作成され、以下のワークフローに追加されたことに気付くはずです。右上の設定画面からフィールド名を編集できます。

設定画面に移動し、下部にある「定義済みフィールドを追加する」を見つけます。クリックしてドロップダウンメニューを表示し、「現在ページの情報を追加する」を選択して、「ページURL」を選択します。
page URL.png

今、WebページのURLが正常にデータフィールドに追加されました。これから、URLフィールドを編集して余分な部分を取り除き、正確な座標を取得する必要があります。

page data.png

下部の「カスタマイズ」アイコン(小さな鉛筆)をクリックし、「抽出データを再フォーマットする」を選択します。次に、「ステップを追加する」ボタンをクリックし、これにより、データ処理を行う機能リストが表示されます。この場合、「正規表現でマッチする」を選択し、下図の画面になります。

RegEx tool.png

これで、正規表現を記述することにより、希望どおりにデータを編集することができます。正規表現とは、文字列内で文字の組み合わせを照合するために用いられるパターンです。ほとんどの人が式を書くのが難しいことを考えると、使いやすいRegExツールを組み込みました。「RegExツールを試す」ボタンをクリックします。

座標は「@」記号の後、2番目のコンマの前にあることを分かります。「で始める」にチェックを入れ、「@」を入力します。これは、「@」の後の部分が必要であることをRegExに伝えています。同じように、「で終わる」にチェックを入れ、「,17z」を入力します。「@」の後ろにコンマが2つあるため、どのコンマを使用するかを定義するほうが適切です。コンマの後ろに数字などを追加することで区別します。この場合、「17z」を追加します。これにより、RegExにコンマと「17z」の前の部分が必要であることがわかります。「生成する」ボタンをクリックすると、正規表現がボックスに表示されます。
match data.png

マッチする」ボタンをクリックして、正しく設定されているかどうかを確認します。右側にマッチした結果が出てきます。次に、「適用する」をクリックしてから「OK」をクリックして確認します。

これで終わりました。さて、タスクを実行し、それが動作するかどうかを見てみましょう。「抽出開始」をクリックし、「ローカル抽出」を選択します。

data output.png

できました!もし、1000個の場所を調べる場合は?Octoparseでは、タスクを設定するときに10,000以上のURLを入力できます。すごく簡単でしょう!皆さんもお試しください!

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3