как сделано в PHP из формата 52.593800, 21.448850 формат + 52 ° 35 '37.68 ", + 21 ° 26' 55.86", как сделать это google http://maps.google.pl/maps?hl=pl&t=m&q=52.593800,21.448850 ?
Источник
<?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); }
Должно быть тривиально изменить массив на нужную строку.
Прямо из Википедии :
Учитывая десятичную продольную координату, такую как -87.728055, тривиально преобразовать ее в форму DMS. Необходимо будет определить, является ли это широтной или продольной координатой, чтобы полностью ее преобразовать. Способ заключается в следующем:
Тип Dir. Тест знака Широта N +> 0 Широта S - <0 Длинный. E +> 0 Длинный. W - <0
Координата с 0 ° 0'0 "широта или долгота не является ни Северным, ни Южным, Восточным и Западным. Это просто нулевая широта или нулевая долгота.
Конечный результат: W 87 ° 43'41 ".