Compare commits
No commits in common. "207df8dcd7446203a853a51a1acca0ee6180c629" and "2ba8bca5903be73fd44120483d02596723c6ba99" have entirely different histories.
207df8dcd7
...
2ba8bca590
@ -1,36 +0,0 @@
|
|||||||
// ReSharper disable InconsistentNaming
|
|
||||||
// ReSharper disable UnusedMember.Global
|
|
||||||
namespace OSM_Graph.Enums;
|
|
||||||
|
|
||||||
public enum HighwayType
|
|
||||||
{
|
|
||||||
NONE,
|
|
||||||
motorway,
|
|
||||||
trunk,
|
|
||||||
primary,
|
|
||||||
secondary,
|
|
||||||
tertiary,
|
|
||||||
unclassified,
|
|
||||||
residential,
|
|
||||||
motorway_link,
|
|
||||||
trunk_link,
|
|
||||||
primary_link,
|
|
||||||
secondary_link,
|
|
||||||
tertiary_link,
|
|
||||||
living_street,
|
|
||||||
service,
|
|
||||||
pedestrian,
|
|
||||||
track,
|
|
||||||
bus_guideway,
|
|
||||||
escape,
|
|
||||||
raceway,
|
|
||||||
road,
|
|
||||||
busway,
|
|
||||||
footway,
|
|
||||||
bridleway,
|
|
||||||
steps,
|
|
||||||
corridor,
|
|
||||||
path,
|
|
||||||
cycleway,
|
|
||||||
construction
|
|
||||||
}
|
|
@ -1,6 +0,0 @@
|
|||||||
namespace OSM_Graph.Enums;
|
|
||||||
|
|
||||||
public enum WayDirection
|
|
||||||
{
|
|
||||||
Forwards, Backwards, Both
|
|
||||||
}
|
|
@ -1,6 +1,5 @@
|
|||||||
using System.Runtime.Serialization;
|
using System.Runtime.Serialization;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using OSM_Graph.Enums;
|
|
||||||
|
|
||||||
namespace OSM_Graph;
|
namespace OSM_Graph;
|
||||||
|
|
||||||
@ -8,41 +7,6 @@ public class Way(ulong id, Dictionary<string, string> tags, List<ulong> nodeIds)
|
|||||||
{
|
{
|
||||||
public readonly ulong ID = id;
|
public readonly ulong ID = id;
|
||||||
public readonly List<ulong> NodeIds = nodeIds;
|
public readonly List<ulong> NodeIds = nodeIds;
|
||||||
|
|
||||||
public WayDirection GetDirection()
|
|
||||||
{
|
|
||||||
if (Tags.TryGetValue("oneway", out string? onewayStr))
|
|
||||||
return onewayStr switch
|
|
||||||
{
|
|
||||||
"yes" => WayDirection.Forwards,
|
|
||||||
"1" => WayDirection.Forwards,
|
|
||||||
"no" => WayDirection.Both,
|
|
||||||
"-1" => WayDirection.Backwards,
|
|
||||||
_ => WayDirection.Both
|
|
||||||
};
|
|
||||||
HighwayType[] impliedTypes = [HighwayType.motorway, HighwayType.motorway_link];
|
|
||||||
if (impliedTypes.Contains(GetHighwayType()))
|
|
||||||
return WayDirection.Forwards;
|
|
||||||
return WayDirection.Both;
|
|
||||||
}
|
|
||||||
|
|
||||||
public HighwayType GetHighwayType()
|
|
||||||
{
|
|
||||||
if (!Tags.TryGetValue("highway", out string? highwayTypeStr))
|
|
||||||
return HighwayType.NONE;
|
|
||||||
if (!Enum.TryParse(highwayTypeStr, out HighwayType highwayType))
|
|
||||||
return HighwayType.NONE;
|
|
||||||
return highwayType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public byte GetMaxSpeed()
|
|
||||||
{
|
|
||||||
if (!Tags.TryGetValue("maxspeed", out string? maxSpeedStr))
|
|
||||||
return 0;
|
|
||||||
if (!byte.TryParse(maxSpeedStr, out byte speed))
|
|
||||||
return 0;
|
|
||||||
return speed;
|
|
||||||
}
|
|
||||||
|
|
||||||
public string Serialize()
|
public string Serialize()
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user