This protocol buffer supports a name per region per language, allowing it to represent the name of a given feature in different regions and languages. For example, the Persian Gulf has different English names in UAE versus Lebanon; each would need to be represented as distinct RegionSpecificNameProtos.
Author: Darth Autocrat
GeostoreRelationProto
This message is embedded within a FeatureProto, and represents a geographic or logical relationship of that feature to some other feature. Note that some relation types are there purely for the purpose of grouping together other relation types. They are noted as ABSTRACT in comments. Other relation types are no longer supported / in use. They are noted as DEPRECATED in comments (and marked with the standard deprecated option, too). Other relation types are reserved for future use or just not intended for use at all, for various internal reasons. They are noted as RESERVED in comments. WARNING: Updates to this proto within a FeatureProto’s related_feature field handled by standalone pipelines and are NOT atomic with regard to updates to the features being referenced; we do not guarantee that a given MapFacts snapshot will be consistent between this field and the related features.
GeostoreRestrictionProto
A restriction is an expression that limits when an action can be taken. Each restriction has a set of conditions. If all of the conditions are true, then the restriction applies and the action cannot be taken. For example, the restriction "no turns 3-5pm except buses" would have two conditions: "time is 3-5pm" and "vehicle is not a bus". If both of these conditions apply, the restriction is true, and the turn is prohibited. Multiple restrictions may apply to the same action. Clients handle this by always declaring RestrictionProto as a "repeated" element. The semantics of having multiple restrictions are that if any restriction applies, then the action cannot be taken. In other words, restrictions are OR-ed together. Putting all of this together, a set of RestrictionProtos can be interpreted as a bool expression in disjunctive normal form: (A and B) or (D and E and F) or (G and H) The action is prohibited if this expression is true. Note that a restriction with no conditions is always true, i.e. its action is always prohibited. NOTE: RestrictionProtos are often compared against one another (e.g. to check for duplicate/redundant restrictions) by canonicalizing them via GetCanonicalRestriction() in google3/geostore/base/internal/restriction.cc. Any fields that don’t contribute to the definition of a restriction in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalRestriction(). LINT.IfChange
GeostoreRoadConditionalProto
A RoadConditionalProto defines conditions that affect when the road traversal information is applicable.
GeostoreRoadSignComponentProto
Below is some horrible ASCII art and a description of the components of a road sign. +——————-+ | A11 E50 Paris | | Chartres | +——————-+ This sign would be composed of four components (all of them text components, the only option we support for now). The three in the first row would all have a "major_position" of zero. Their "minor_position" values would be zero for "A11", one for "E50", and two for "Paris". The component in the second row would have "major_position" value of one. This message provides the details of a single component of a road sign. A component defines its position within a sign, its type, and its content.
GeostoreRouteAssociationProto
This protocol buffer holds metadata about the association between a segment and a route.
GeostoreSchoolDistrictProto
This protocol buffer holds school district specific attributes for features of TYPE_SCHOOL_DISTRICT.
GeostoreSegmentProto
————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————
GeostoreServiceAreaProto
This proto represents the geographic area served by an establishment. WARNING: This proto is not meant to be used directly. Please use the provided libraries. http://google3/geostore/base/public/service_area.h http://google3/java/com/google/geostore/base/ServiceArea.java
GeostoreSkiBoundaryProto
This protocol buffer holds attributes for features of TYPE_SKI_BOUNDARY.