MiCR0 Posted December 9, 2010 Share Posted December 9, 2010 I am trying to work out how to convert DMS to WGS84 I have the coordinate in mysql like latitude longitude 52°39'03.1 N 0°40'36.1 E 52°46'45.2 N 0°06'59.9 W I need to make them WGS84 and I find a functions <?php function DMStoDEC($deg,$min,$sec) { // Converts DMS ( Degrees / minutes / seconds ) // to decimal format longitude / latitude return $deg+((($min*60)+($sec))/3600); } function DECtoDMS($dec) { // Converts decimal longitude / latitude to DMS // ( Degrees / minutes / seconds ) // This is the piece of code which may appear to // be inefficient, but to avoid issues with floating // point math we extract the integer part and the float // part by using a string function. $vars = explode(".",$dec); $deg = $vars[0]; $tempma = "0.".$vars[1]; $tempma = $tempma * 3600; $min = floor($tempma / 60); $sec = $tempma - ($min*60); return array("deg"=>$deg,"min"=>$min,"sec"=>$sec); } I had a go at it doing $lat = explode("°",$data->latitude); $lat2 = explode("'",$lat[1]); $lat3 = explode(" ",$lat2[1]); $longitude = explode("°",$data->longitudeitude); $longitude2 = explode("'",$longitude[1]); $longitude3 = explode(" ",$longitude2[1]); echo $lat['0'].'-'.$lat2[0].'-'.$lat3[0]; echo '<br/>'; echo $longitude['0'].'-'.$longitude[0].'-'.$longitude[0]; echo DMStoDEC($lat['0'],$lat2[0],$lat3[0]); echo DMStoDEC($longitude['0'],$longitude2[0],$longitude3[0]); ?> I am stuck any help would be great. Link to comment https://forums.phpfreaks.com/topic/221118-dms-to-wgs84/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.