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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
diff -ur gpsdrive-2.10pre4.orig/scripts/gpsfetchmap.pl gpsdrive-2.10pre4/scripts/gpsfetchmap.pl
--- gpsdrive-2.10pre4.orig/scripts/gpsfetchmap.pl 2007-12-28 18:49:44.000000000 +0100
+++ gpsdrive-2.10pre4/scripts/gpsfetchmap.pl 2008-01-04 19:01:35.000000000 +0100
@@ -35,6 +35,7 @@
modified (Jul 2005) by Jaroslaw Zachwieja <grok\@filippa.org.uk>
modified (Dec 2005) by David Pollard <david dot pollard\@optusnet.com.au>
modified (Jul 2007) by Maciek Kaliszewski <mkalkal\@interia.pl>
+modified (Jan 2008) by Gernot Hillier <gernot\@hillier.de> (added Openstreetmap support)
Version svn-$Version
";
@@ -176,6 +177,25 @@
15812 => 3 ,
7906 => 2,
3953 => 1
+ },
+ openstreetmap_tah => {
+ 256*576000 => 1,
+ 128*576000 => 2,
+ 64*576000 => 3,
+ 32*576000 => 4,
+ 16*576000 => 5,
+ 8*576000 => 6,
+ 4*576000 => 7,
+ 2*576000 => 8,
+ 576000 => 9,
+ 288000 => 10,
+ 144000 => 11,
+ 72000 => 12,
+ 36000 => 13,
+ 18000 => 14,
+ 9000 => 15,
+ 4500 => 16,
+ 2250 => 17
}
};
@@ -331,7 +351,6 @@
exit();
}
-
# Verify that we have the options that we need
pod2usage(1) if (&error_check);
@@ -417,6 +436,13 @@
print "+-----------------------------------------------------------+\n";
print "| Landsat Maps are Copyright, ..... |\n";
print "| They are free for non commercial use. |\n";
+}elsif ( $mapserver eq 'openstreetmap_tah' ){
+ print "+-----------------------------------------------------------+\n";
+ print "| OpenStreetmap Maps are Copyright by the OpenStreetmap |\n";
+ print "| project. |\n";
+ print "| They are free for use under the terms of the |\n";
+ print "| Creative Commons \"Attribution-Share Alike 2.0 Generic\" |\n";
+ print "| license. See http://www.openstreetmap.org for details. |\n";
} elsif ( ! $force) {
print "You are violating the map servers copyright!\n";
print "Are you sure you want to continue? [y|n] ";
@@ -700,6 +726,11 @@
{
($url,$mapscale)=googlemap_url($lati,$long,$scale);
}
+ elsif ( $mapserver eq 'openstreetmap_tah')
+ {
+ $filename=~s/\.gif/.png/;
+ ($url,$mapscale)=openstreetmap_tah_url($lati,$long,$scale);
+ }
else
{
print "Unknown map sever :", $mapserver, "\n";
@@ -935,6 +966,37 @@
return ($url,$mapscale);
}
+#############################################################################
+sub openstreetmap_tah_url($$$){
+ my $lati = shift;
+ my $long = shift;
+ my $scale = shift;
+
+ my $mapscale = $scale;
+ my $zoom = undef;
+ for my $s ( sort keys %{$Scale2Zoom->{openstreetmap_tah}} ) {
+ next unless $s == $scale;
+ $zoom = $Scale2Zoom->{openstreetmap_tah}->{$s};
+ $mapscale = $s;
+ last;
+ }
+
+ unless ( $zoom ) {
+ print "Error calculating Zoomlevel for Scale: $scale\n";
+ return (undef,undef);
+ }
+
+ if ($debug) {
+ print "\n";
+ print "Using openstreetmap_tah zoom ", $zoom, " for requested scale ", $scale, ":1 actual scale ", $mapscale, ":1\n";
+ print "lat: $lati\n";
+ print "lon: $long\n";
+ }
+
+ my $url = "http://tah.openstreetmap.org/MapOf/?lat=$lati&long=$long&z=$zoom&w=1280&h=1024&format=png";
+# print "$url\n";
+ return ($url,$mapscale);
+}
#############################################################################
sub eniro_url($$$){
@@ -2284,7 +2346,7 @@
=item B<--mapserver <MAPSERVER>>
Mapserver to download from. Default: 'expedia'.
-Currently can use: landsat or expedia.
+Currently usable: landsat, expedia or openstreetmap_tah.
geoscience, gov_au, incrementp, googlesat, googlemap and eniro have download stubs,
but they are !!!NOT!!!! in the right scale.
@@ -2294,6 +2356,9 @@
landsat covers the whole world with satelite Photos
+openstreetmap_tah: Free maps from the OpenStreetmap Tiles@Home project, see
+ http://www.openstreetmap.org and http://tah.openstreetmap.org.
+
gov_au is for Australia
incrementp for japanese Maps
|