RSS
 

Archive for the ‘PERL’ Category

Convert GPS decimal to GMap coordinate

06 Sep
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
sub convertNMEA {
        local($lats,$lat_hem,$longs,$long_hem) = @_;

        $latitude = 0;
        $longitude = 0;

        # count latitude
        @lat_data = split(/\./, $lats);
        $lat_count = length($lat_data[0]) - 2;
        $lat_min = substr($lat_data[0], $lat_count, 2);
        $lat_deg = substr($lat_data[0], 0, $lat_count);
        $lat_mins = "$lat_min\.$lat_data[1]";

        $latitude_minutes = ($lat_mins / 60);
        $latitude = $lat_deg + $latitude_minutes;

        # count longitude
        @long_data = split(/\./, $longs);
        $long_count = length($long_data[0]) - 2;
        $long_min = substr($long_data[0], $long_count, 2);
        $long_deg = substr($long_data[0], 0, $long_count);
        $long_mins = "$long_min\.$long_data[1]";

        $longitude_minutes = ($long_mins / 60);
        $longitude = $long_deg + $longitude_minutes;

        # find hemisphere
        if ($lat_hem eq "S") {
                $latitude = '-' . $latitude;
        }

        if ($long_hem eq "W") {
                $longitude = '-' . $longitude;
        }
        return($latitude,$longitude);
}
 
2 Comments

Posted in PERL, Tutorial