Voting helps other researchers find interesting modules.
This class holds information about a single access point. An access point establishes a relationship between a feature (like a POI or building) and some other feature. For example, consider a TYPE_LOCALITY feature like Seattle. An access point might be the TYPE_AIRPORT feature for Seattle-Tacoma International Airport. The airport feature defines the access point to gain airplane-based access to Seattle. A feature like Seattle will typically have multiple access points. You can get to Seattle using airplanes, various forms of public transit, or by driving a car. Thus Seattle would have multiple access points. You may be able to get to Seattle by flying into SeaTac, or you might be able to fly into Boeing Field, or Paine Field in Everett. You could drive in from the North/South using I-5, or you could drive in from the East using I-90. Many access points are from the road network. Thus the access point for some building at 123 Main Street would likely be a segment that defines the 100-200 block of "Main Street". A feature at the corner of "Hollywood" and "Vine" streets might have access points from both named streets. Access points are an optional field. Data editors may ignore them when creating features or editing other fields. In these cases, other quality teams will synthesize and update them. Several fields are also optional, as they are derivable from other fields. Access points to non-TYPE_SEGMENT features should always have the following fields set: - feature_type - feature_id - point Location and reference fields: BASIC vs DERIVABLE Access points to TYPE_SEGMENT features must have all the following BASIC fields: - feature_type (of the segment, e.g. TYPE_ROAD or TYPE_VIRTUAL_SEGMENT) - point_off_segment (or point; see "fuzzy point" note below) - unsuitable_travel_mode (may be empty) - level (indoor access points only) The following are DERIVABLE fields, which should only be added if the supplier is confident about their accuracy: - feature_id - point_on_segment - segment_position Editing clients are encouraged to set all fields, but they may set only the BASIC fields, in which case quality teams may use the BASIC fields to snap to an appropriate segment and derive the remaining fields. Example: The segment is split, so that the portion that the access point is on has a new feature ID. Quality teams notice that the point_on_segment is no longer on the segment with feature_id, finds the new nearest segment based on feature_type and existing point_on_segment, and re-derives a new feature_id, point_on_segment, and segment_position, keeping other fields consistent. Fuzzy point special case If the editor does not have side-of-road information for access points or is otherwise unsure of the precise placement of the access point, it may supply the point field (and not point_off_segment) as basic data instead, in which case quality teams may generate the point_off_segment. Identity Access points are considered semantically equivalent if they have the same geometry, including derived fields, and the same references to other features (feature_id, level_feature_id). For the exact definition, see cs/symbol:geostore::AreAccessPointsEquivalent. Field definitions
canEnter
boolean()
nil
canExit
featureId
GoogleApi.ContentWarehouse.V1.Model.GeostoreFeatureIdProto.t
featureType
integer()
levelFeatureId
metadata
GoogleApi.ContentWarehouse.V1.Model.GeostoreFieldMetadataProto.t
point
GoogleApi.ContentWarehouse.V1.Model.GeostorePointProto.t
pointOffSegment
pointOnSegment
priority
String.t
segmentPosition
number()
unsuitableTravelMode
list(String.t)
Unwrap a decoded JSON object into its complex fields.
@type t() :: %GoogleApi.ContentWarehouse.V1.Model.GeostoreAccessPointProto{ canEnter: boolean() | nil, canExit: boolean() | nil, featureId: GoogleApi.ContentWarehouse.V1.Model.GeostoreFeatureIdProto.t() | nil, featureType: integer() | nil, levelFeatureId: GoogleApi.ContentWarehouse.V1.Model.GeostoreFeatureIdProto.t() | nil, metadata: GoogleApi.ContentWarehouse.V1.Model.GeostoreFieldMetadataProto.t() | nil, point: GoogleApi.ContentWarehouse.V1.Model.GeostorePointProto.t() | nil, pointOffSegment: GoogleApi.ContentWarehouse.V1.Model.GeostorePointProto.t() | nil, pointOnSegment: GoogleApi.ContentWarehouse.V1.Model.GeostorePointProto.t() | nil, priority: String.t() | nil, segmentPosition: number() | nil, unsuitableTravelMode: [String.t()] | nil }
@spec decode(struct(), keyword()) :: struct()