Every body in GIS field wants to calculate the distance between two points on earth, the coordinates he/she reaches when he heads x km in y direction or create buffers in the form of rectangle or circle. Just remember that creating buffer on earth is not a simple mathematics. This is little complicated than we expect. Adjacent image displays two buffers of 1000 Km on equator and 60° latitude respectively. Notice the bulginess in their shapes. You can remember that a similar example was shown in Earth Basics to show that same longitude difference at different latitude cover different distances.
GIS experts have to deal with a large number of coordinates received from non-GIS people generally in the form of excel sheets. They have to convert these excels to GIS forms like shapefiles or other formats to carry out geospatial analysis and calculations. Out of all the GIS vector formats shapefiles, KML, GML & geoJson proved to be very easily handled and flexible.
Two Buffers with 1000 km radius
var x = GeographicLib.Geodesic.WGS84, r; // Find the distance from Wellington, NZ (25.5N, 100.24E) to // Salamanca, Spain (27.56N, 105.332E)... r = x.Inverse(25.5, 100.24, 27.56, 105.332); alert("The distance is " + r.s12.toFixed(3) + " m."); // This prints "The distance is 503116.080 m."
Check out the following working example:
var x = GeographicLib.Geodesic.WGS84, r; // Find the point 2000 km NE of Columbo (6.9271N, 79.8612E) r = x.Direct(6.9271, 79.8612, 45, 2000e3); alert("The position is (" + r.lat2.toFixed(8) + ", " + r.lon2.toFixed(8) + ")."); // This prints "The position is (19.42041951, 93.22745832)."
Check out the following working example
Just remember that this application doest not take the first row into account while creating geometry graphics in shapefiles and the coordinates has to be in Degree Decimals only. You need to host this application in a web server to download shapefiles (You can also use MS4W Apache web server). KML download does not require this condition.