Changed calls to new backend.

Pathfinder now finds the result and returns itself.
Pathfinder includes PathResult for later usage.
This commit is contained in:
glax 2023-04-20 19:41:40 +02:00
parent 23429c8a00
commit b87d8a0300
2 changed files with 20 additions and 15 deletions

View File

@ -16,20 +16,19 @@ var app = builder.Build();
app.MapGet("/getRoute", (float latStart, float lonStart, float latEnd, float lonEnd, Tag.SpeedType vehicle, double stayOnSameRoadPriority, double useHigherLevelRoadsPriority, double useRoadsWithLessJunctionsPriority) => app.MapGet("/getRoute", (float latStart, float lonStart, float latEnd, float lonEnd, Tag.SpeedType vehicle, double stayOnSameRoadPriority, double useHigherLevelRoadsPriority, double useRoadsWithLessJunctionsPriority) =>
{ {
Pathfinder result = new Pathfinder("D:/stuttgart-regbez-latest").AStar(new Coordinates(latStart, lonStart),
PathResult result = Pathfinder.AStar("D:/stuttgart-regbez-latest", new Coordinates(latStart, lonStart),
new Coordinates(latEnd, lonEnd), vehicle, useHigherLevelRoadsPriority, stayOnSameRoadPriority, new Coordinates(latEnd, lonEnd), vehicle, useHigherLevelRoadsPriority, stayOnSameRoadPriority,
useRoadsWithLessJunctionsPriority); useRoadsWithLessJunctionsPriority);
return result; return result.pathResult;
} }
); );
app.MapGet("/getShortestRoute", (float latStart, float lonStart, float latEnd, float lonEnd) => app.MapGet("/getShortestRoute", (float latStart, float lonStart, float latEnd, float lonEnd) =>
{ {
PathResult result = Pathfinder.AStar("D:/stuttgart-regbez-latest", new Coordinates(latStart, lonStart), Pathfinder result = new Pathfinder("D:/stuttgart-regbez-latest").AStar(new Coordinates(latStart, lonStart),
new Coordinates(latEnd, lonEnd), Tag.SpeedType.any, 0, 0, new Coordinates(latEnd, lonEnd), Tag.SpeedType.any, 0, 0,
0); 0);
return result; return result.pathResult;
} }
); );

View File

@ -1,4 +1,5 @@
using System.Drawing; using System.Drawing;
using System.Drawing.Imaging;
using OSMDatastructure; using OSMDatastructure;
using OSMDatastructure.Graph; using OSMDatastructure.Graph;
using Pathfinding; using Pathfinding;
@ -11,25 +12,30 @@ public class Server
public static void Main(string[] args) public static void Main(string[] args)
{ {
ConsoleWriter newConsole = new ConsoleWriter(); ConsoleWriter newConsole = new();
Console.SetOut(newConsole); Console.SetOut(newConsole);
Console.SetError(newConsole); Console.SetError(newConsole);
string workingDir = "D:/stuttgart-regbez-latest";
//RegionConverter.ConvertXMLToRegions("D:/stuttgart-regbez-latest.osm", "D:/stuttgart-regbez-latest"); //RegionConverter.ConvertXMLToRegions("D:/stuttgart-regbez-latest.osm", "D:/stuttgart-regbez-latest");
//RegionConverter.ConvertXMLToRegions("D:/map.osm", "D:/map"); //RegionConverter.ConvertXMLToRegions("D:/map.osm", "D:/map");
//RegionConverter.ConvertXMLToRegions("D:/germany-latest.osm", "D:/germany-latest"); //RegionConverter.ConvertXMLToRegions("D:/germany-latest.osm", "D:/germany-latest");
Coordinates start = new (48.7933798f, 9.8275859f);
Coordinates start = new Coordinates(48.7933798f, 9.8275859f); Coordinates finish = new (48.795918f, 9.021618f);
Coordinates finish = new Coordinates(48.795918f, 9.021618f); Pathfinder result = new Pathfinder(workingDir).AStar(start,
PathResult result = Pathfinder.AStar("D:/stuttgart-regbez-latest", start,
finish, Tag.SpeedType.car, 0.01, 0.0001, finish, Tag.SpeedType.car, 0.01, 0.0001,
0); 0);
Console.WriteLine("Drawing area"); string parentFolder = new DirectoryInfo(workingDir).Parent!.FullName;
ValueTuple<Image, Renderer.Bounds> area = Renderer.DrawArea(result.regionManager); string resultFileName = $"{new DirectoryInfo(workingDir).Name}-{DateTime.Now.ToFileTime()}.result";
result.SaveResult(Path.Join(parentFolder, resultFileName));
Console.WriteLine("Drawing route");
Renderer.DrawGraph(result.name, area.Item1, area.Item2); string renderFileName = $"{new DirectoryInfo(workingDir).Name}-{DateTime.Now.ToFileTime()}.render.png";
Image render = Renderer.DrawPathfinder(result);
#pragma warning disable CA1416
render.Save(Path.Join(parentFolder, renderFileName), ImageFormat.Png);
#pragma warning restore CA1416
} }
} }