|
|
@ -24,23 +24,19 @@ if (abs($lat) > 90.00 || abs($long) > 180.00) {
|
|
|
|
$finallat = $lat;
|
|
|
|
$finallat = $lat;
|
|
|
|
$finallong = $long;
|
|
|
|
$finallong = $long;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$failtowater = false;
|
|
|
|
|
|
|
|
|
|
|
|
if ($database->has('terrain', ["AND" => ["latitude" => $lat, "longitude" => $long]])) {
|
|
|
|
if ($database->has('terrain', ["AND" => ["latitude" => $lat, "longitude" => $long]])) {
|
|
|
|
// We're good
|
|
|
|
// We're good
|
|
|
|
} else if ($database->has('terrain', ["AND" => ["latitude" => $lat + .01, "longitude" => $long]])) {
|
|
|
|
} else if ($database->has('terrain', ["AND" => ["latitude" => $lat + .01, "longitude" => $long]])) {
|
|
|
|
$finallat = $lat + 0.01;
|
|
|
|
$finallat = $lat + 0.01;
|
|
|
|
} else if ($database->has('terrain', ["AND" => ["latitude" => $lat, "longitude" => $long + .01]])) {
|
|
|
|
} else if ($database->has('terrain', ["AND" => ["latitude" => $lat, "longitude" => $long + .01]])) {
|
|
|
|
$finallong = $long + 0.01;
|
|
|
|
$finallong = $long + 0.01;
|
|
|
|
} else {
|
|
|
|
} else if ($database->has('terrain', ["AND" => ["latitude" => $lat + .01, "longitude" => $long + .01]])) {
|
|
|
|
// last resort
|
|
|
|
|
|
|
|
$tries = 0;
|
|
|
|
|
|
|
|
while (!$database->has('terrain', ["AND" => ["latitude" => $finallat, "longitude" => $finallong]]) && $tries < 5) {
|
|
|
|
|
|
|
|
$finallat = $finallat + 0.01;
|
|
|
|
$finallat = $finallat + 0.01;
|
|
|
|
$finallong = $finallong + 0.01;
|
|
|
|
$finallong = $finallong + 0.01;
|
|
|
|
$tries++;
|
|
|
|
} else {
|
|
|
|
}
|
|
|
|
$failtowater = true;
|
|
|
|
if ($tries >= 5) {
|
|
|
|
|
|
|
|
sendError("Terrain data not found for the given coordinates or anything nearby.", true);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
$terrainstrings = [
|
|
|
|
$terrainstrings = [
|
|
|
@ -60,6 +56,10 @@ $terrainstrings = [
|
|
|
|
13 => "Urban and Built"
|
|
|
|
13 => "Urban and Built"
|
|
|
|
];
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
|
|
$terrainid = $database->select('terrain', 'type', ["AND" => ["latitude" => $finallat, "longitude" => $finallong]])[0];
|
|
|
|
if ($failtowater) {
|
|
|
|
|
|
|
|
$terrainid = 0;
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
$terrainid = $database->select('terrain', 'type', ["AND" => ["latitude" => $finallat, "longitude" => $finallong]])[0];
|
|
|
|
|
|
|
|
}
|
|
|
|
$out = ["status" => "OK", "type" => $terrainid, "latitude" => $finallat, "longitude" => $finallong, "name" => $terrainstrings[$terrainid]];
|
|
|
|
$out = ["status" => "OK", "type" => $terrainid, "latitude" => $finallat, "longitude" => $finallong, "name" => $terrainstrings[$terrainid]];
|
|
|
|
echo json_encode($out);
|
|
|
|
echo json_encode($out);
|
|
|
|