3000
GML2KML file
This KML file was transformed by XSLT from a Polygon containing GML file
Bounds
The bounding box for the track defining the minimum, maximum longitudes, latitudes of the the track region.
30000
0
0
#polygonStyle
1
1
clampedToGround
,,
,,
,,
,,
,,
A GML to KML transform
1
relativeToGround
1
relativeToGround
1
relativeToGround
0
0
0?klim:klim=0;
return klim.toFixed(0);
}
function downhillMeters(elev1, elev2)
{
var down = elev2 - elev1;
down<0?down:down=0;
return down.toFixed(0);
}
function distCosineLaw (lon1,lat1,lon2,lat2)
{
var ratio = Math.PI / 180;
var R = 6371000;
lon1 *= ratio
lat1 *= ratio
lon2 *= ratio
lat2 *= ratio
var d =( Math.acos( Math.sin(lat1) * Math.sin(lat2) + Math.cos(lat1) * Math.cos(lat2) * Math.cos(lon2 - lon1) ) * R).toFixed(0) ;
return d;
}
function bearing (lon1, lat1, lon2, lat2)
{
var y = Math.sin(lon2 - lon1) * Math.cos(lat2);
var x = Math.cos(lat1) * Math.sin(lat2) - Math.sin(lat1) * Math.cos(lat2) * Math.cos(lon2 - lon1);
return Math.atan2(y, x);
}
function bearingDeg (lon1, lat1, lon2, lat2)
{
var ratio = Math.PI / 180;
lon1 *= ratio
lat1 *= ratio
lon2 *= ratio
lat2 *= ratio
var y = Math.sin(lon2 - lon1) * Math.cos(lat2);
var x = Math.cos(lat1) * Math.sin(lat2) - Math.sin(lat1) * Math.cos(lat2) * Math.cos(lon2 - lon1);
var result = Math.floor(Math.atan2(y, x) * 180 / Math.PI);
result<0?result = 360 + result:result;
return result
}
function radToBrng (rad) { return radToDegMinSec((rad+2*Math.PI) % (2*Math.PI)); }
function radToDegMinSec(rad) { return ((rad<0?'-':"") + _dms(rad)); }
function _dms(rad)
{
var d = Math.abs(rad * 180 / Math.PI);
var deg = Math.floor(d);
var min = Math.floor((d-deg)*60);
var sec = Math.round((d-deg-min/60)*3600);
// add leading zeros if required
if (deg<100) deg = '0' + deg; if (deg<10) deg = '0' + deg;
if (min<10) min = '0' + min;
if (sec<10) sec = '0' + sec;
return deg + '\u00B0' + min + '\u2032' + sec + '\u2033';
}
]]>