Voting helps other researchers find interesting modules.
Our TYPE_INTERSECTION features model the point where one or more segments terminate. This is topological definition: it may not match what a typical user would think of as an "intersection". Consider the intersections where Hayes, Market, Larkin, and 9th Street meet near (37.77765, -122.41638) in San Francisco. Most people would probably consider this a single feature, even though we model it as four separate TYPE_INTERSECTION features. The TYPE_INTERSECTION_GROUP is used to model the user's concept of a real-world intersection, which also includes turn lanes or a whole roundabout (a logical intersection). For the purposes of modeling turn restrictions and lane connections, a smaller grouping is needed to model the "core" part of the intersection where there are no lane markings. This is called a core or artifact group. An intersection group must contain at least two intersections or add some information (e.g. a name or a polygon) compared to the intersection itself, or else must not exist. The standard feature properties are interpreted as follows: name - Can be used to specify any "special" names associated with this intersection (e.g. Reads Corner intersection, PEI, Canada). Intersections that are named according to their cross streets do not need to specify this field, since this can be determined by looking at the routes associated with each segment. address - This should always be empty. point - Specifies the center of the intersection. This is basically the point where the intersection name should be rendered. Can be omitted in favor of a polygon. polyline - This should always be empty. polygon - Specifies the two-dimensional extent of the intersection. This may substitute to the point field, though having a center set is desirable in this case. child - This should always be empty.
childGroup
list(GoogleApi.ContentWarehouse.V1.Model.GeostoreFeatureIdProto.t)
nil
groupType
String.t
intersection
parentGroup
GoogleApi.ContentWarehouse.V1.Model.GeostoreFeatureIdProto.t
Unwrap a decoded JSON object into its complex fields.
@type t() :: %GoogleApi.ContentWarehouse.V1.Model.GeostoreIntersectionGroupProto{ childGroup: [GoogleApi.ContentWarehouse.V1.Model.GeostoreFeatureIdProto.t()] | nil, groupType: String.t() | nil, intersection: [GoogleApi.ContentWarehouse.V1.Model.GeostoreFeatureIdProto.t()] | nil, parentGroup: GoogleApi.ContentWarehouse.V1.Model.GeostoreFeatureIdProto.t() | nil }
@spec decode(struct(), keyword()) :: struct()