VC++でGPSからのデータを取得するプログラムソース

このQ&Aのポイント
  • VC++初心者の方に向けて、GPSからのデータ(GGKフォーマット)を取得するためのプログラムソースをご紹介します。
  • GGKフォーマットとは、日時や緯度、経度、高度、精度等の数値や記号がコンマ区切りの状態で流れてくるデータです。C++を使用し、VC++6.0でコンパイルすることができます。
  • ハイパーターミナルを使うと、GPSからの情報を1秒おきに表示することができますが、本記事ではC++プログラムの作成方法を解説します。
回答を見る
  • ベストアンサー

VC++でGPSからのデータ(GGKフォーマット)を取得するプログラムソース

当方VC++初心者です あるアプリケーションでGPSからのデータ(GGKフォーマット)を取得するプログラムを作成したいと思っています。 で、まずVC++(C++)での数値を取得するプログラムが必要なのですが、サンプルプログラムソースや、ヒントとなるもの、もし知っている方がいらっしゃえば、よろしくお願いします。 GGKフォーマットとは、日時や緯度、経度、高度、精度等の数値や記号がコンマ区切りの状態で流れてくるデータで、ハイパーターミナルを使えば、1秒おきに流れてくる情報を見ることが出来るのですが、C++でのプログラムがほしいです。 microsoft VC++6.0 でコンパイルしたいです。 よろしくお願いします。。

質問者が選んだベストアンサー

  • ベストアンサー
  • bob_n
  • ベストアンサー率35% (610/1732)
回答No.1
g--san
質問者

お礼

ありがとうございます 参考に、作ってみたいと思います

関連するQ&A

  • GPSのデータで緯度経度を示すデータを切り出すには

    プログラミングで、GPSのデータから緯度経度が示されているデータ行を切り出す(表示する)機能を実現する。 というプログラムは完成したのですが、 次に、緯度経度が示されているデータ行から緯度経度を示すデータを切り出す(表示する)機能を実現する。 というプログラムがどうしてもわかりません。 助けていただきたいです。

  • GPSデータの取り込み間違い

    GPSデータをハイパーターミナルで取り込んだら「41x度・7ェ分・8b秒・140x度・6ェ分・9b秒」のように出てしまいました。測地系はTokyo Datamです。 どうも数字だけを見ると緯度で約-41分、経度で約-36分ずれているようです。 元のデータを正しい値に変換することはできるでしょうか教えてください。

  • 電波が圏外でもGPSの位置情報は取得できる?

    GPSケータイを使ったことがありません。購入の参考にしたいのでお願いします。 ・電波が圏外の場所でもGPSの位置情報を取得することはできますか?(もちろん通信はできませんが…) ・アプリやサイトを経由せず、緯度と経度をメニュー操作で取得することはできますか? ドコモ(FOMA)とauのケータイを使っていますが、SoftBankについても教えてください。

  • PHPで携帯で撮影された画像(GPS)から住所取得

    はじめまして。 宜しくお願い致します。 目的としては WebサイトにアップロードされたJPEG画像(携帯でGPS情報付加)から 位置情報(住所)を取得する方法が分からず困っています。 実現イメージとしては以下の通りです。 (1)exif_read_data関数を用いてJPEGファイル内にある    経度、緯度情報を取得 (2)取得した経度、緯度情報から    日本住所の文字列を取得する    ※ 大阪府淀川区○○のような文字列が欲しい      番地などの詳しい情報までは求めない。 1については http://www.phppro.jp/phptips/archives/vol40/2 に記載のサンプルコードで簡単に緯度、経度を取得できます。 問題は2の方で 恐らくどこかで公開されている住所DBのAPIを使って 日本住所の文字列を取得できるのではと思っているのですが 色々調べてみましたが分かりません。 アドバイスお願い致します。

    • ベストアンサー
    • PHP
  • GPSの速度、方位角が取得できません

    San Jose Navigation Inc.の『FV-M8』 (Etek Navigationの『EB-85A』) というGPSモジュールを購入しました。 dspicを使い、ハイパーターミナルでGSA(方位角)、VTG(速度)が取得できません。現在、GGA(位置)は取得できている状態です。 データシートではデフォルトのはずなんですが・・・ このGPS受信機について,なにか参考になるサイトや,情報をお持ちの方は是非,教えてください. よろしくお願いします.

  • char型をfloat型に変換

    GPSからシリアルポートに流れてくるコンマ区切りのフォーマットをいったんcharにいれて、トークンでぶちぶち切って、違う変数に格納したいです。 流れてくるデータは、 $GPGGA,042449.00,3449.30669291,N,13531.38645000,E,1,4,4.4,81.885,M,34.255,M,,*6D のような数値です。緯度経度や日付等のデータです。 緯度や経度の数値をfloatやdoubleに変換して変数に格納したいのですが、どうしたらよいでしょうか? そのまましたらエラーが出てしまいます。 以下は数値をブチブチ切って表示させるプログラムです。 #include <windows.h> #include <stdio.h> int main(void) { char szSend[] = "$GPGGA,000000.00,0000.00000000,N,00000.00000000,E,0,0,0.0,00.000,M,00.000,M,,*00"; char szBuf[sizeof(szSend)]="$GPGGA,042449.00,3449.30669291,N,13531.38645000,E,1,4,4.4,81.885,M,34.255,M,,*6D"; char *ptr; ptr=strtok(szBuf,","); printf("%s\n",ptr);//$GPGGA ptr=strtok(NULL,","); printf("%s\n",ptr);//時間 ptr=strtok(NULL,","); printf("%s\n",ptr);//緯度 ptr=strtok(NULL,","); printf("%s\n",ptr);//N北 ptr=strtok(NULL,","); printf("%s\n",ptr);//経度 ptr=strtok(NULL,","); printf("%s\n",ptr);//E東 ptr=strtok(NULL,","); ・ ・ ・ ・ return 0; } コンパイラはmicrosoftvisualC++6.0です。 floatとかboubleにしたいのは緯度や経度の数値を計算して扱いやすいデータにするためです。 よろしくお願いします。

  • ハンディGPSのデータ補正?

     先日友人が、「ハンディGPSを1年程電源を入れないで置くと測定データが狂ってしまうので、近くの電子基準点(国土地理院が全国1200点に設置したGPS測量点)に行ってデータを比較して補正すると良いそうだ。」と言っていましたが、私には全く理解できません。GPSは、受信する衛星の組み合わせが変われば、当然計算値も変わるし1年と言わずに暫く受信しなければ測定精度が落ちるのは当然だと思います。逆に暫く連続受信すれば、測定精度(計算精度)は良くなってくるはずだと思います。補正などしても、他の場所へ行けば時間的にも空間的にも、異なる地点になりますので、受信する衛星の組み合わせも異なってしまいますから、無意味になると思うのですが。友人の言っている事は、こうした事とは全く別の技術的な理由があるのでしょうか?(測量用のGPSと混同しているのかな)  ついでですが、ハンディGPSの表示に、「精度:7m」等と表示されますが、この数値は何を根拠に表示しているのでしょう。  少し専門的でかまいませんので、どなたかスッキリとご回答いただければ幸いです。

  • GPSデータ(NMEA)受信

    USB接続のGPS受信機の購入を検討中で、 GPS受信機よりNMEAデータのUTCを取得したいと考えています、 NMEAデータ取得の方法について教えてください。 プログラム上(VB.net,C#)より RS232CのようにUSBのポートに接続し、 ボーレートを設定して受信すればよいのでしょうか? NMEAデータがRS232Cシリアル通信のように垂れ流されてくるイメージなのですが、 問題ないでしょうか?

  • ride with gpsの標高データ源

    自転車等のツーリングルートを描くのに便利なサービス、ride with gpsについての質問です。標高データ源は何でしょうか?入力された緯度経度座標情報から、なんの情報源に問い合わせて標高データを出してくるのかということです。 公式をみても、見当たりませんでした。 同様のサービス、ルートラボでは国土地理院の標高データ(航空レーザー測量)を用いているようです(認識ミス等あればご指摘ください)。

  • 初心者でくだらない質問かとは思いますがどうかお願いします。

    こんにちわ。凄い初心者なのですが、VBのことで質問があります。 緯度が書いてあるTextBox1と経度が書いてあるtextBox2の二つをあわせてテキストファイルに出力しようとしています。 そこでこのようなコードを書きました。 '緯度経度テキスト保存' My.Computer.FileSystem.WriteAllText("C:\idokeido.txt", TextBox1.Text + TextBox2.Text, False) するとidokeido.txtの中身は緯度と経度がくっついた状態で出力されました。 例を示しますと、 35.63291139.880451 のようにどこからがどこまでが経度なのか緯度なのかが分かりにくくなっています。 ここからが質問なのですが、この緯度と経度の間にカンマを入れたいのです。分かりやすくいいますと、 35.63291, 139.880451 のようにしたいです。 このように出力させるためにはどのようなプログラムを組めばいいでしょうか。 教えていただけると助かります。どうかお願いします。

専門家に質問してみよう