BH.oM.Adapters.OpenStreetMap.Way¶
A Way is an ordered list of nodes which normally also has at least one tag or is included within a Relation.
Class structure¶
Implemented interfaces and base types¶
The Way is inheriting from the following base type(s) and implements the following interfaces:
- BH.oM.Base.BHoMObject
- BH.oM.Base.IBHoMObject
- BH.oM.Base.IObject
- BH.oM.Adapters.OpenStreetMap.IOpenStreetMapElement
Properties¶
Defining properties¶
The following properties are defined on the class
| Name | Type | Description | Quantity |
|---|---|---|---|
| Nodes | List<Node> | The list of nodes that define this Way. | - |
| OsmID | long | The unique OpenStreetMap id for the Way. | - |
| NodeOsmIds | List<long> | The unique OpenStreetMap ids for the Nodes. | - |
| KeyValues | Dictionary<string, string> | The KeyValue tags describing the geographic attributes of this Way. | - |
Inherited properties¶
The following properties are inherited from the base class of the object
| Name | Type | Description | Quantity |
|---|---|---|---|
| BHoM_Guid | Guid | - | - |
| Name | string | - | - |
| Fragments | FragmentSet | - | - |
| Tags | HashSet<string> | - | - |
| CustomData | Dictionary<string, object> | - | - |
Derived properties¶
The following properties are defined as extension methods in one of the BHoM_Engines
| Name | Type | Description | Quantity | Engine |
|---|---|---|---|---|
| Area | double | Calculate the area of an OpenStreetMap way in metres. | - | OpenStreetMap_Engine |
| AverageNode | Node | Calculate the average node an OpenStreetMap Way. | - | OpenStreetMap_Engine |
Code and Schema¶
C# implementation¶
C#
public class Way : BH.oM.Base.BHoMObject, BH.oM.Base.IBHoMObject, BH.oM.Base.IObject, BH.oM.Adapters.OpenStreetMap.IOpenStreetMapElement
Assembly: OpenStreetMap_oM.dll
The C# class definition is available on github:
All history and changes of the class can be found by inspection the history.
JSON Schema implementation¶
The object is defined as a JSON schema. You can validate a JSON instance against this schema by reference. To do this, use the schema reference below in a validator like this one.
JSON Schema
{
"$ref" : "https://raw.githubusercontent.com/BHoM/BHoM_JSONSchema/develop/OpenStreetMap_oM/Way.json"
}
The JSON Schema is available on github here: