All pastes #940577 Raw Edit

Stuff

public text v1 · immutable
·published 2008-03-13 02:00 UTC
rendered paste body
    List<Object> ParseCommand(string command) {
        List<Object> parsedData = new List<Object>();

        string[] parts = command.Split(',');
        Response.Write(parts[1]);
      
        // time
        string hours = parts[2].Substring(0, 2);
        string minutes = parts[2].Substring(2, 2);
        string seconds = parts[2].Substring(4, 2);
        string timestamp = Convert.ToInt32(hours) + 1 + ":" + minutes + ":" + seconds;
        
        // accuracy
        bool isAccurate = parts[3] == "A";
        
        // latitude
        int latitudeDegrees = Convert.ToInt32(parts[4].Substring(0, 2));
        string minuteString = parts[4].Substring(2, 7);
        Response.Write(minuteString);
        double latitudeMinutes = Convert.ToDouble(minuteString) / 60;
        double latitude = latitudeDegrees + latitudeMinutes;
        
        // hemisphere north-south
        string hemisphereNS = parts[5] == "N" ? "É" : "D";
        
        // longitude
        int longitudeDegrees = Convert.ToInt32(parts[6].Substring(1, 2));
        minuteString = parts[6].Substring(3, 7);
        double longitudeMinutes = Convert.ToDouble(minuteString) / 60;
        double longitude = longitudeDegrees + longitudeMinutes;

        // hemisphere east-west
        string hemisphereEW = parts[7] == "E" ? "K" : "Ny";
        
        // velocity
        double velocity = Convert.ToDouble(parts[8]);
        double velocitySI = velocity * 0.5144 * 3.6;
        
        // direction
        double directionDegrees = Convert.ToDouble(parts[9]);
      
        // date
        string day = parts[10].Substring(0, 2);
        string month = parts[10].Substring(2, 2);
        string year = parts[10].Substring(4, 2);
        string date = year + "/" + month + "/" + day;

        parsedData.Add(date + " " + timestamp);
        parsedData.Add(hemisphereNS + " " + latitude);
        parsedData.Add(hemisphereEW + " " + longitude);
        parsedData.Add(velocitySI);
        parsedData.Add(directionDegrees);

        return parsedData;
    }