|
|
| version 1.1, 2013/11/23 00:32:39 | version 1.3, 2013/12/22 01:18:25 |
|---|---|
| Line 8 my $aerodromes; | Line 8 my $aerodromes; |
| my $xml = "aerodromes.gpx"; | my $xml = "aerodromes.gpx"; |
| if ( defined $xml ){ | if ( defined $xml ){ |
| $aerodromes = XMLin($xml); | my $xs = XML::Simple->new(); |
| $aerodromes = $xs->XMLin($xml, KeyAttr => { wpt => "name" }, ForceArray => ['runway','frequency']); | |
| } | } |
| #print Dumper($aerodromes); | #print Dumper($aerodromes); |
| open CUP, "> aerodromes.cup" or die "Couldn't open aerodromes.cup: $!\n"; | open CUP, "> aerodromes.cup" or die "Couldn't open aerodromes.cup: $!\n"; |
| open TXT, "> aerodromes.txt" or die "Couldn't open aerodromes.txt: $!\n"; | |
| print CUP "name,code,country,lat,lon,elev,style,rwdir,rwlen,freq,desc,userdata,pics\n"; | print CUP "name,code,country,lat,lon,elev,style,rwdir,rwlen,freq,desc,userdata,pics\n"; |
| #"Ahuriri",0002,NZ,4414.000S,16936.000E,756.0m,1,,,,"Mouth of Canyon Creek",, | #"Ahuriri",0002,NZ,4414.000S,16936.000E,756.0m,1,,,,"Mouth of Canyon Creek",, |
| Line 21 foreach my $ad ( keys %{$aerodromes->{'w | Line 23 foreach my $ad ( keys %{$aerodromes->{'w |
| if ( defined $aerodromes->{'wpt'}->{$ad}->{'extensions'}->{'aerodrome'}->{'elev'} ){ | if ( defined $aerodromes->{'wpt'}->{$ad}->{'extensions'}->{'aerodrome'}->{'elev'} ){ |
| print CUP qq{"$ad",}; | print CUP qq{"$ad",}; |
| print CUP qq["$aerodromes->{'wpt'}->{$ad}->{'extensions'}->{'aerodrome'}->{'aip'}",NZ,]; | print CUP qq["$aerodromes->{'wpt'}->{$ad}->{'extensions'}->{'aerodrome'}->{'aip'}",NZ,]; |
| print CUP printlat($aerodromes->{'wpt'}->{$ad}->{lat}) . ","; | print CUP printlat($aerodromes->{'wpt'}->{$ad}->{lat}) . ","; |
| print CUP printlon($aerodromes->{'wpt'}->{$ad}->{lon}) . ","; | print CUP printlon($aerodromes->{'wpt'}->{$ad}->{lon}) . ","; |
| print CUP $aerodromes->{'wpt'}->{$ad}->{'extensions'}->{'aerodrome'}->{'elev'} . "ft,2,,,,,,\r\n"; | print CUP $aerodromes->{'wpt'}->{$ad}->{'extensions'}->{'aerodrome'}->{'elev'} . "ft,2,,,,,,\r\n"; |
| print TXT qq{[$ad]\n}; | |
| foreach my $f ( 0 .. $#{ $aerodromes->{'wpt'}->{$ad}->{'extensions'}->{'aerodrome'}->{'frequencies'}->{'frequency'} }){ | |
| print TXT $aerodromes->{'wpt'}->{$ad}->{'extensions'}->{'aerodrome'}->{'frequencies'}->{'frequency'}->[$f]->{'frequency'}; | |
| print TXT " "; | |
| print TXT $aerodromes->{'wpt'}->{$ad}->{'extensions'}->{'aerodrome'}->{'frequencies'}->{'frequency'}->[$f]->{'desc'}; | |
| print TXT "\n"; | |
| } | |
| foreach my $rw ( 0 .. $#{ $aerodromes->{'wpt'}->{$ad}->{'extensions'}->{'aerodrome'}->{'runways'}->{'runway'} }){ | |
| print TXT $aerodromes->{'wpt'}->{$ad}->{'extensions'}->{'aerodrome'}->{'runways'}->{'runway'}->[$rw]->{'designation'}; | |
| print TXT " "; | |
| print TXT $aerodromes->{'wpt'}->{$ad}->{'extensions'}->{'aerodrome'}->{'runways'}->{'runway'}->[$rw]->{'length'}; | |
| print TXT " x "; | |
| print TXT $aerodromes->{'wpt'}->{$ad}->{'extensions'}->{'aerodrome'}->{'runways'}->{'runway'}->[$rw]->{'width'}; | |
| print TXT " "; | |
| print TXT $aerodromes->{'wpt'}->{$ad}->{'extensions'}->{'aerodrome'}->{'runways'}->{'runway'}->[$rw]->{'surface'}; | |
| print TXT "\n"; | |
| } | |
| } | } |
| } | } |
| close TXT; | |
| close CUP; | close CUP; |
| exit; | exit; |