Add code to support 4, 6, 8 char gridsquares
这个提交包含在:
		
							父节点
							
								
									671467b38f
								
							
						
					
					
						当前提交
						c65bac1bb4
					
				
					共有  1 个文件被更改,包括 31 次插入 和 23 次删除
				
			
		|  | @ -176,35 +176,43 @@ function get_bearing($lat1, $lon1, $lat2, $lon2) { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function qra2latlong($strQRA) { | function qra2latlong($strQRA) { | ||||||
| 
 |     if (strpos($strQRA, ',') !== false) { | ||||||
| 	if (strpos($strQRA, ',') !== false) { |  | ||||||
|         $gridsquareArray = explode(',', $strQRA); |         $gridsquareArray = explode(',', $strQRA); | ||||||
|         $strQRA = $gridsquareArray[0]; |         $strQRA = $gridsquareArray[0]; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| 	if (strlen($strQRA) %2 == 0) { |     if (strlen($strQRA) % 2 == 1 && strlen($strQRA) <= 8) { | ||||||
| 		$strQRA = strtoupper($strQRA); |         $strQRA = strtoupper($strQRA); | ||||||
| 		if (strlen($strQRA) == 4)  $strQRA .= "MM"; |         if (strlen($strQRA) < 8) { | ||||||
| 		if(strlen($strQRA) > 6) { |             $strQRA .= str_repeat("MM", (8 - strlen($strQRA)) / 2); | ||||||
| 			$strQRA = substr($strQRA, 0, 6); |         } | ||||||
| 		} |  | ||||||
| 
 | 
 | ||||||
| 		if (!preg_match('/^[A-R]{2}[0-9]{2}[A-X]{2}$/',$strQRA)) return false; |         if (!preg_match('/^[A-R]{2}[0-9]{2}[A-X]{2}$/', $strQRA)) { | ||||||
| 		list($a,$b,$c,$d,$e,$f) = str_split($strQRA,1); |             return false; | ||||||
| 		$a = ord($a) - ord('A'); |         } | ||||||
| 		$b = ord($b) - ord('A'); | 
 | ||||||
| 		$c = ord($c) - ord('0'); |         list($a, $b, $c, $d, $e, $f, $g, $h) = str_split($strQRA, 1); | ||||||
| 		$d = ord($d) - ord('0'); |         $a = ord($a) - ord('A'); | ||||||
| 		$e = ord($e) - ord('A'); |         $b = ord($b) - ord('A'); | ||||||
| 		$f = ord($f) - ord('A'); |         $c = ord($c) - ord('0'); | ||||||
| 		$nLong = ($a*20) + ($c*2) + (($e+0.5)/12) - 180; |         $d = ord($d) - ord('0'); | ||||||
| 		$nLat = ($b*10) + $d + (($f+0.5)/24) - 90; |         $e = ord($e) - ord('A'); | ||||||
| 		$arLatLong = array($nLat,$nLong); |         $f = ord($f) - ord('A'); | ||||||
| 		return($arLatLong); |         $g = ord($g) - ord('A'); | ||||||
| 	} else { |         $h = ord($h) - ord('A'); | ||||||
| 		return array(0, 0); | 
 | ||||||
| 	} |         $nLong = ($a * 40) + ($c * 5) + (($e + 2.5) / 60) - 180; | ||||||
|  |         $nLat = ($b * 20) + ($d * 2) + (($f + 1) / 24) - 90; | ||||||
|  |         $nLong += (($g + 0.5) / 120); | ||||||
|  |         $nLat += (($h + 0.5) / 240); | ||||||
|  | 
 | ||||||
|  |         $arLatLong = array($nLat, $nLong); | ||||||
|  |         return $arLatLong; | ||||||
|  |     } else { | ||||||
|  |         return array(0, 0); | ||||||
|  |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| /* End of file Qra.php */ | /* End of file Qra.php */ | ||||||
|  |  | ||||||
		正在加载…
	
		在新工单中引用