Преглед изворни кода

Białe plamy - funkcja znajdująca ID punktu joins w arrayu z serialize na podstawie ID z bazy

Mariusz Muszyński пре 9 година
родитељ
комит
89146a8c60
1 измењених фајлова са 21 додато и 4 уклоњено
  1. 21 4
      SE/dev/php-cli/biale_plamy-find_ways.php

+ 21 - 4
SE/dev/php-cli/biale_plamy-find_ways.php

@@ -113,18 +113,35 @@ function findWay($joinA, $joinB, $path = array()) {
 				return $subPaths[$key];
 			}
 		}
-		else return null;
+		else {
+			return null;
+		}
 	}
 }
 
+function findJoinInDB($id) {
+	global $joins_asText;
+	$join = DB::getPDO()->fetchValue("select astext(the_geom) from Rozdzielcza_test_bzyk_joins where ID='{$id}'");
+	if ($join) {
+		$join = Vendor_Geophp::load($join, 'wkt')->asText();
+		$key = array_search($join, $joins_asText);
+		if ($key) return $key;
+		else return null;
+	} else return null;
+}
+
 #echo joins2lineString($res = findWay(100,110))->asText();
 #echo joins2lineString($res = findWay(25690,20134))->asText();
 $timeStart = microtime();
-$path = joins2lineString(findWay(25690,23039));
+#$path = joins2lineString(findWay(25690,23039));
+$path = joins2lineString(findWay(findJoinInDB(142),findJoinInDB(147)));
 $timeEnd = microtime();
 
-echo $path->asText()."\n";
-echo "Dlugosc: ".$path->greatCircleLength()."\n";
+if ($path) {
+	echo $path->asText()."\n";
+	echo "Dlugosc: ".$path->greatCircleLength()."\n";
+} else echo "Brak drogi";
+echo $ways_asText[141];
 
 list($usecStart, $secStart) = explode(" ", $timeStart);
 list($usecEnd, $secEnd) = explode(" ", $timeEnd);