Different types of locations are identified by a string, being the id in the dictionary. For each string, a list of locations are stored.
Node locations can be specified with a chainage value of MinValue.
A Z value can be specified together with the locations.public Dictionary<string, IList<IZLocation>> UserDefinedLocations { get; set; }