近くの電子基準点を求める
ひとつ前の記事で富士川滑空場のGPS測位に関して記事を書きましたが、解析を行うに当たっては結果を示したPPP-Staticなどの単独測位以外にも相対測位も試してみました。相対測位を行うにあたっては、位置がそれなりに正確にわかっている基準点が必要となるのですが、国土地理院が設置している電子基準点のデータを使うのが便利です。
解析をするにあたっては、誤差要因を合わせるためにも、できるだけ近い電子基準点を選択する必要があります。しかし機械的に近い電子基準点を選択するのが、難しい状況にあります。これは電子基準点の位置データは公開されているのですが、公開サイト上での検索方法は地図を使って視覚的に選ぶ必要があるためです。
そこで機械的に電子基準点を選べるよう、Rubyでスクリプトを起こしてみました。geonet.rbというものです。Rubyの標準ライブラリだけで動くはずです。使い方を以下に示します。
ruby geonet.rb --mode=update # 初回起動時やしばらくぶりに立ち上げた際、電子基準点の位置データを更新する
# => dataというディレクトリに最新情報がダウンロードされる
# => dataというディレクトリに最新情報がダウンロードされる
ruby geonet.rb 35.681382 139.766084 # 東京駅(北緯35.681382度 東経139.766084度)の最寄の電子基準点を求める
# => The nearest station is 93016 (lat, lng, alt) = (35.780214284, 139.81281785, 4.597450407), about 11752.6740443314 m. # 最寄の電子基準点は93016であり、東京駅から直線距離で約11.8km。
# => The nearest station is 93016 (lat, lng, alt) = (35.780214284, 139.81281785, 4.597450407), about 11752.6740443314 m. # 最寄の電子基準点は93016であり、東京駅から直線距離で約11.8km。
ruby geonet.rb 35.681382 139.766084 --rinex=true Jun 1 +0900 2012 # 指定時刻(2012/7/1 JST)における東京駅最寄の電子基準点(93016)の観測データ(nav, obs)を取得する
# => 30161530.12o.gz, 30161530.12n.gz # 基準点の観測データ
# => 30161530.12o.gz, 30161530.12n.gz # 基準点の観測データ
こんな感じで使えます。なお電子基準点までの距離は、ヒュベニ式(hubeny formula)で出しているので、正確ではないです、また高度方向も対応していませんが、最寄の電子基準点を出すには十分なはずです。
※あわせてGPSの時刻処理や精密歴を取得するスクリプトの記事もどうぞ。
コメント
コメントする
- 匿名でのコメントは受け付けておりません。
- お名前(ハンドル名可)とメールアドレスは必ず入力してください。
- メールアドレスを表示されたくないときはURLも必ず記入してください。
- コメント欄でHTMLタグは使用できません。
- コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。
- コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。
- 投稿ボタンを押してエラーがでなければ、投稿は成功しています。反映されるまでには少し時間がかかります。