xmlns="http://earth.google.com/kml/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://earth.google.com/kml/2.0 http://members.home.nl/cybarber/geomatters/kml.xsd" 0 Track length: ]]> Maximum Elevation: ]]> Elevation range: ]]> Minimum Elevation: ]]> East-West range dec-deg: ]]> East-West range: ]]> Bounderies Lon/Lat: (]]>, ) (, ]]> Track Bounderies The bounding box for the track defining the minimum, maximum longitudes, latitudes of the the track region. 60 25 #polygonStyle 1 1 relativeToGround ,, ,, ,, ,, ,, Views change Placemarks to camera placemarks Eye alt 50.000 Km #viewStyle 50000000 0 0 Eye alt 5.000 Km #viewStyle 5000000 0 0 Eye alt 2.500 Km #viewStyle 2500000 0 0 Eye alt 1.000 Km #viewStyle 1000000 0 0 Eye alt 100 Km #viewStyle 100000 0 0 Eye alt 50 Km #viewStyle 50000 0 0 Eye alt 25 Km #viewStyle 25000 0 0 Eye alt 10 Km #viewStyle 10000 0 0 Eye alt 5 Km #viewStyle 5000 0 0 Eye alt Km #viewStyle 0 0 North #viewStyle 66 0 North-East #viewStyle 66 45 East #viewStyle 66 90 South-East #viewStyle 66 135 South #viewStyle 66 180 South-West #viewStyle 66 225 West #viewStyle 66 270 North-West #viewStyle 66 315 Waypoints 1 0 Tracks 1 1 1 1 Points 0 0 Routes 0 0 Credits and Copyrights Script: William A Slabbekoorn - Aug 2005 __ / _) _ __ _ _ __ |(_ \\ /||_) //_\ ||_)||_) ||_ ||_) \__) || ||__)|| | || \||__)||_ || \ This is a MSXML3/4/5 XSLT transformation application which converts RoboGEO XML format to to Goolge Earth KML 2.0 file format. The RoboGEO.xml input file contains Image names, GPS coord, elevation, Date/Time. msxsl:script extension is allows the use of JScript functions JScript functions are with modifications based on © 2002-2005 Chris Veness http://www.movable-type.co.uk/scripts/LatLong.html http://www.movable-type.co.uk/scripts/LatLongVincenty.html Copyright: Cybarber Web Services, William A Slabbekoorn, August 2005. http://members.home.nl/cybarber/geomatters/PhotoTrack2KML.xslt Todo: make an elevation profile adaptation for tracks which run more North-South then West-East. ]]> 0 0 0 0 0 Date: ]]>Time: ]]> Altitude]]>Bearing:]]> Climbed: ]]>Distance to Next: ]]> To Climb:]]>Slope: ]]>
]]> GPS Location stamped in EXIF using RoboGEO
XSLT © 2005 Wim A Slabbekoorn.
All rights reserved. Terms of Use | Trademarks | Privacy Statement
]]>
1 1 relativeToGround ,,
,, ,, Path 1 #lineStyle clampedToGround clampedToGround ,,0, START: , END: , , 0 #pointStyle ,,0, style='float:right;width: 160' href=' src=' 0 0 0 0 0 0 0 0 Track Elevation Profile Profile is based on the data of the Photo placemarks which are a selection of the total track points. (todo: import of original GPX file data for more accurate Profile plotting) 10000 0 90 #polygonStyle 1 1 relativeToGround ,, ,, Hoogte Lijnen Noord-Zuid Level 3: ]]> Level 2: ]]> Level 1: ]]> Lowest Altitude: ]]> Altitude range: ]]> #HoogtelijnWit 1 1 relativeToGround ,, ,, 1 1 relativeToGround ,, ,, 1 1 relativeToGround ,, ,, 1 1 relativeToGround ,, ,, 1 1 relativeToGround ,, ,, 1 1 relativeToGround ,, ,, 1 1 relativeToGround ,, ,, 1 1 relativeToGround ,, ,, 0 1 clampedToGround ,, ,, ,, ,, Track Elevation Profile Profile is based on the data of the Photo placemarks which are a selection of the total track points. (todo: import of original GPX file data for more accurate Profile plotting) 10000 0 0 #polygonStyle 1 1 relativeToGround ,, ,, Hoogte Lijnen West-Oost Level 3: ]]> Level 2: ]]> Level 1: ]]> Lowest Altitude: ]]> Altitude range: ]]> #HoogtelijnWit 1 1 relativeToGround ,, ,, 1 1 relativeToGround ,, ,, 1 1 relativeToGround ,, ,, 1 1 relativeToGround ,, ,, 1 1 relativeToGround ,, ,, 1 1 relativeToGround ,, ,, 1 1 relativeToGround ,, ,, 1 1 relativeToGround ,, ,, 0 1 clampedToGround ,, ,, ,, ,, 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'; } ]]>