|
@@ 132-138 (lines=7) @@
|
| 129 |
|
if (preg_match('#^([\\+\\-])([0-9]{2}|[0-9]{4}|[0-9]{6})(\\.[0-9]+)?([\\+\\-])([0-9]{3}|[0-9]{5}|[0-9]{7})(\\.[0-9]+)?(([\\+\\-])([0-9]{3}|[0-9]{5}|[0-9]{7})(\\.[0-9]+)?)?/$#', $ISO6709string, $matches)) { |
| 130 |
|
@list($dummy, $lat_sign, $lat_deg, $lat_deg_dec, $lon_sign, $lon_deg, $lon_deg_dec, $dummy, $alt_sign, $alt_deg, $alt_deg_dec) = $matches; |
| 131 |
|
|
| 132 |
|
if (strlen($lat_deg) == 2) { // [+-]DD.D |
| 133 |
|
$ISO6709parsed['latitude'] = (($lat_sign == '-') ? -1 : 1) * floatval(ltrim($lat_deg, '0').$lat_deg_dec); |
| 134 |
|
} elseif (strlen($lat_deg) == 4) { // [+-]DDMM.M |
| 135 |
|
$ISO6709parsed['latitude'] = (($lat_sign == '-') ? -1 : 1) * floatval(ltrim(substr($lat_deg, 0, 2), '0')) + floatval(ltrim(substr($lat_deg, 2, 2), '0').$lat_deg_dec / 60); |
| 136 |
|
} elseif (strlen($lat_deg) == 6) { // [+-]DDMMSS.S |
| 137 |
|
$ISO6709parsed['latitude'] = (($lat_sign == '-') ? -1 : 1) * floatval(ltrim(substr($lat_deg, 0, 2), '0')) + floatval(ltrim(substr($lat_deg, 2, 2), '0') / 60) + floatval(ltrim(substr($lat_deg, 4, 2), '0').$lat_deg_dec / 3600); |
| 138 |
|
} |
| 139 |
|
|
| 140 |
|
if (strlen($lon_deg) == 3) { // [+-]DDD.D |
| 141 |
|
$ISO6709parsed['longitude'] = (($lon_sign == '-') ? -1 : 1) * floatval(ltrim($lon_deg, '0').$lon_deg_dec); |
|
@@ 140-146 (lines=7) @@
|
| 137 |
|
$ISO6709parsed['latitude'] = (($lat_sign == '-') ? -1 : 1) * floatval(ltrim(substr($lat_deg, 0, 2), '0')) + floatval(ltrim(substr($lat_deg, 2, 2), '0') / 60) + floatval(ltrim(substr($lat_deg, 4, 2), '0').$lat_deg_dec / 3600); |
| 138 |
|
} |
| 139 |
|
|
| 140 |
|
if (strlen($lon_deg) == 3) { // [+-]DDD.D |
| 141 |
|
$ISO6709parsed['longitude'] = (($lon_sign == '-') ? -1 : 1) * floatval(ltrim($lon_deg, '0').$lon_deg_dec); |
| 142 |
|
} elseif (strlen($lon_deg) == 5) { // [+-]DDDMM.M |
| 143 |
|
$ISO6709parsed['longitude'] = (($lon_sign == '-') ? -1 : 1) * floatval(ltrim(substr($lon_deg, 0, 2), '0')) + floatval(ltrim(substr($lon_deg, 2, 2), '0').$lon_deg_dec / 60); |
| 144 |
|
} elseif (strlen($lon_deg) == 7) { // [+-]DDDMMSS.S |
| 145 |
|
$ISO6709parsed['longitude'] = (($lon_sign == '-') ? -1 : 1) * floatval(ltrim(substr($lon_deg, 0, 2), '0')) + floatval(ltrim(substr($lon_deg, 2, 2), '0') / 60) + floatval(ltrim(substr($lon_deg, 4, 2), '0').$lon_deg_dec / 3600); |
| 146 |
|
} |
| 147 |
|
|
| 148 |
|
if (strlen($alt_deg) == 3) { // [+-]DDD.D |
| 149 |
|
$ISO6709parsed['altitude'] = (($alt_sign == '-') ? -1 : 1) * floatval(ltrim($alt_deg, '0').$alt_deg_dec); |
|
@@ 148-154 (lines=7) @@
|
| 145 |
|
$ISO6709parsed['longitude'] = (($lon_sign == '-') ? -1 : 1) * floatval(ltrim(substr($lon_deg, 0, 2), '0')) + floatval(ltrim(substr($lon_deg, 2, 2), '0') / 60) + floatval(ltrim(substr($lon_deg, 4, 2), '0').$lon_deg_dec / 3600); |
| 146 |
|
} |
| 147 |
|
|
| 148 |
|
if (strlen($alt_deg) == 3) { // [+-]DDD.D |
| 149 |
|
$ISO6709parsed['altitude'] = (($alt_sign == '-') ? -1 : 1) * floatval(ltrim($alt_deg, '0').$alt_deg_dec); |
| 150 |
|
} elseif (strlen($alt_deg) == 5) { // [+-]DDDMM.M |
| 151 |
|
$ISO6709parsed['altitude'] = (($alt_sign == '-') ? -1 : 1) * floatval(ltrim(substr($alt_deg, 0, 2), '0')) + floatval(ltrim(substr($alt_deg, 2, 2), '0').$alt_deg_dec / 60); |
| 152 |
|
} elseif (strlen($alt_deg) == 7) { // [+-]DDDMMSS.S |
| 153 |
|
$ISO6709parsed['altitude'] = (($alt_sign == '-') ? -1 : 1) * floatval(ltrim(substr($alt_deg, 0, 2), '0')) + floatval(ltrim(substr($alt_deg, 2, 2), '0') / 60) + floatval(ltrim(substr($alt_deg, 4, 2), '0').$alt_deg_dec / 3600); |
| 154 |
|
} |
| 155 |
|
|
| 156 |
|
foreach (array('latitude', 'longitude', 'altitude') as $key) { |
| 157 |
|
if ($ISO6709parsed[$key] !== false) { |