Voting helps other researchers find interesting modules.
Describes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.
boundingMarker
list(GoogleApi.ContentWarehouse.V1.Model.GeostoreBoundingMarkerProto.t)
nil
conjoinedCategory
String.t
distanceToNextLane
number()
flow
GoogleApi.ContentWarehouse.V1.Model.GeostoreFlowLineProto.t
laneConnection
list(GoogleApi.ContentWarehouse.V1.Model.GeostoreLaneProtoLaneConnection.t)
laneDividerCrossing
laneFollowsSegmentBeginFraction
laneFollowsSegmentEndFraction
laneNumber
integer()
laneToken
metadata
GoogleApi.ContentWarehouse.V1.Model.GeostoreFieldMetadataProto.t
restriction
list(GoogleApi.ContentWarehouse.V1.Model.GeostoreRestrictionProto.t)
shared
boolean()
stopLine
list(GoogleApi.ContentWarehouse.V1.Model.GeostoreFeatureIdProto.t)
surface
type
width
Unwrap a decoded JSON object into its complex fields.
@type t() :: %GoogleApi.ContentWarehouse.V1.Model.GeostoreLaneProto{ boundingMarker: [GoogleApi.ContentWarehouse.V1.Model.GeostoreBoundingMarkerProto.t()] | nil, conjoinedCategory: String.t() | nil, distanceToNextLane: number() | nil, flow: GoogleApi.ContentWarehouse.V1.Model.GeostoreFlowLineProto.t() | nil, laneConnection: [GoogleApi.ContentWarehouse.V1.Model.GeostoreLaneProtoLaneConnection.t()] | nil, laneDividerCrossing: String.t() | nil, laneFollowsSegmentBeginFraction: number() | nil, laneFollowsSegmentEndFraction: number() | nil, laneNumber: integer() | nil, laneToken: String.t() | nil, metadata: GoogleApi.ContentWarehouse.V1.Model.GeostoreFieldMetadataProto.t() | nil, restriction: [GoogleApi.ContentWarehouse.V1.Model.GeostoreRestrictionProto.t()] | nil, shared: boolean() | nil, stopLine: [GoogleApi.ContentWarehouse.V1.Model.GeostoreFeatureIdProto.t()] | nil, surface: String.t() | nil, type: String.t() | nil, width: number() | nil }
@spec decode(struct(), keyword()) :: struct()