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.Text.RegularExpressions;
|
||||
using OSM_Graph.Enums;
|
||||
|
||||
namespace OSM_Graph;
|
||||
|
||||
@ -9,41 +8,6 @@ public class Way(ulong id, Dictionary<string, string> tags, List<ulong> nodeIds)
|
||||
public readonly ulong ID = id;
|
||||
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()
|
||||
{
|
||||
string tags = string.Join(',', Tags.Select(t =>
|
||||
|
Loading…
Reference in New Issue
Block a user