|
@@ -113,18 +113,35 @@ function findWay($joinA, $joinB, $path = array()) {
|
|
|
return $subPaths[$key];
|
|
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(100,110))->asText();
|
|
|
#echo joins2lineString($res = findWay(25690,20134))->asText();
|
|
#echo joins2lineString($res = findWay(25690,20134))->asText();
|
|
|
$timeStart = microtime();
|
|
$timeStart = microtime();
|
|
|
-$path = joins2lineString(findWay(25690,23039));
|
|
|
|
|
|
|
+#$path = joins2lineString(findWay(25690,23039));
|
|
|
|
|
+$path = joins2lineString(findWay(findJoinInDB(142),findJoinInDB(147)));
|
|
|
$timeEnd = microtime();
|
|
$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($usecStart, $secStart) = explode(" ", $timeStart);
|
|
|
list($usecEnd, $secEnd) = explode(" ", $timeEnd);
|
|
list($usecEnd, $secEnd) = explode(" ", $timeEnd);
|