-5

Windows 7 デスクトップ アプリケーションで緯度と経度を取得できますか?

通常、GPS、3G、または WiFi を使用するモバイルまたはタブレットで動作します。

しかし、C#を使用して座標を取得するにはどうすればよいですか?

4

1 に答える 1

3

標準の GPS デバイス (内部または外部) は、シリアル ポートでデータを送信します。シリアル ポートからデータを受信するのは非常に簡単です。このリンクを確認してください。

    //define serial port
    SerialPort serialPort1 = new SerialPort();

    //configuring the serial port
    serialPort1.PortName="COM1";
    serialPort1.BaudRate=9600;
    serialPort1.DataBits=8;
    serialPort1.Parity=Parity.None;
    serialPort1.StopBits= StopBits.One;

   //read data from serial port
   string data = serialPort1.ReadExisting();

GPS データはNMEAプロトコルで構成されています。データ自体は単なる ASCII テキストであり、複数の文にまたがる場合があります。

  • GGA
  • GSA
  • GSV
  • RMC

以下のウィキペディアからのサンプルデータ。

$GPGGA,092750.000,5321.6802,N,00630.3372,W,1,8,1.03,61.7,M,55.2,M,,*76
$GPGSA,A,3,10,07,05,02,29,04,08,13,,,,,1.72,1.03,1.38*0A
$GPGSV,3,1,11,10,63,137,17,07,61,098,15,05,59,290,20,08,54,157,30*70
$GPGSV,3,2,11,02,39,223,19,13,28,070,17,26,23,252,,04,14,186,14*79
$GPGSV,3,3,11,29,09,301,24,16,09,020,,36,,,*76
$GPRMC,092750.000,A,5321.6802,N,00630.3372,W,0.02,31.66,280511,,,A*43

位置データ (緯度/経度) に使用できる適切な文字列は RMC です。

$GPRMC,092750.000,A,5321.6802,N,00630.3372,W,0.02,31.66,280511,,,A*43

その情報はここに記載されています

$GPRMC,225446,A,4916.45,N,12311.12,W,000.5,054.7,191194,020.3,E*68


       225446       Time of fix 22:54:46 UTC
       A            Navigation receiver warning A = OK, V = warning
       4916.45,N    Latitude 49 deg. 16.45 min North
       12311.12,W   Longitude 123 deg. 11.12 min West
       000.5        Speed over ground, Knots
       054.7        Course Made Good, True
       191194       Date of fix  19 November 1994
       020.3,E      Magnetic variation 20.3 deg East
       *68          mandatory checksum

完全な GPS データの解析については、このリンクを確認してください。うまくいけば、それは役に立ちます。

于 2012-05-04T07:32:36.153 に答える