このページの本文へ

前へ 1 2 次へ

Windows Info 第336回

Windows 10/11で位置情報を扱う

2022年07月17日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

コンソールから位置情報を取得する

 Windows PowerShellを開いたら、以下のコマンドを実行する。

Add-Type -AssemblyName System.Device ; $GeoWatcher = New-Object System.Device.Location.GeoCoordinateWatcher

 これで、$GeoWatcherに位置情報をアクセスするためのオブジェクトが設定された。

位置情報サービス自体は比較的簡単に利用可能。作成したオブジェクトから緯度経度を取り出して、URLに埋め込むことでGoogleマップで該当場所を表示させることもできる

 まずは位置情報サービス(ロケーションサービス)の状態を確認する。それには「status」プロパティを見る。最初は停止状態なので、「NoData」が返って来るはずだ。「Disabled」の場合には、アプリケーションに位置情報サービスの利用許可がなされていないので、前記の設定を見なおす必要がある。

 次に「Start()」メソッドを使って、位置情報サービスを動作させる。これでステータスが「Ready」に変わるはずだ。なお、GPSがある場合には、位置測定(測位)に時間がかかることがあるため、しばらく待つ必要がある。マップアプリで現在位置が正しく表示されれば「Ready」になるはずだ。

 状態を確認したら、$GeoWatcher.Position.Locationプロパティを表示させると、位置情報が取得できているはずだ。「Latitude」が緯度、「Longitude」が経度で、単位は「度」の10進数表示だ。このコマンドで得られるのは、緯度がプラスマイナス90度の範囲で、赤道が0度、北半球がプラス、南半球がマイナスの値になり、経度はプラスマイナス180度の範囲で、子午線(イギリスのグリニッジ天文台を通る線)の東側がプラス、西側がマイナスである。日本は子午線の東側になる。緯度経度には、時分秒を使うものなど、いくつかパターンがある。同じ10進数の度を使うものでも、正負ではなく「北緯、南緯」「東経、西経」を使う場合もある。

 位置情報を利用する場合、デバイスから緯度経度などの情報を得て、この情報を使って別のサービスなどからさらに情報を得ることが多いが、サービスにより位置情報の形式に違いがあることに注意が必要だ。

得られた緯度経度を用いて地図を開く

 .NET Frameworkには、緯度経度から住所を検索する「CivicAddressResolver」クラスも用意されているのだが、これが実はちゃんと動いていない(Windows 7あたりでは動作していた記憶があるのだが……)。

 同様の機能は、GoogleマップやBingマップでAPIを使うと可能なのだが、原則的にユーザー登録してAPIキーなどを得る必要がある(利用方法によっては有料)。これは面倒なので、今回はURLに埋め込んで、地図を開く程度にしておく。

 GoogleマップのURLは、以下のような構造になっている。

https://www.google.co.jp/maps/@〈緯度〉,〈経度〉,13z?hl=ja

 経度の後ろの「13z」は、表示倍率である。大きな値を指定することでより拡大した(狭い範囲)を表示できる。Windows PowerShellからは、以下のコマンドで、測定した緯度経度でGoogle Mapsを開くことができる。

start "https://www.google.co.jp/maps/@$($GeoWatcher.Position.Location.Latitude),$($GeoWatcher.Position.Location.Longitude),13z?hl=ja"

 Windows付属のマップアプリは、URI起動が利用できるので、以下のようにして開くことができる。

start "bingmaps:?cp=$($GeoWatcher.Position.Location.Latitude)~$($GeoWatcher.Position.Location.Longitude)"

 無線LANがあれば、GPSがなくても比較的簡単に位置情報が入手できる。すでに分かっている座標(たとえば自宅や職場など)があれば、現在位置と比較して「自宅にいるとき」、「職場にいるとき」といった条件をスクリプトなどから調べることも可能だ。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン