GeostorePolygonProto

AI Overview😉

  • The potential purpose of this module is to provide a way to store and represent complex geographical polygons, such as shapes with holes or multiple disconnected regions, in a way that allows for efficient querying and analysis. This could be used to improve the accuracy of location-based searches, such as finding businesses or points of interest within a specific area.
  • This module could impact search results by allowing Google to more accurately determine the relevance of a search result based on its geographical location. For example, if a user searches for "restaurants near me", Google could use this module to determine which restaurants are actually within the user's vicinity, rather than just returning a list of restaurants in the general area. This could lead to more accurate and relevant search results.
  • To be more favorable for this function, a website could ensure that its geographical data is accurate and up-to-date, and that it provides Google with access to this data through APIs or other means. Additionally, a website could use schema markup or other techniques to provide Google with additional context about its geographical location and boundaries. This could help Google to better understand the website's location and relevance, leading to more accurate search results.

Interesting Module? Vote 👇

Voting helps other researchers find interesting modules.

Current Votes: 0

GoogleApi.ContentWarehouse.V1.Model.GeostorePolygonProto (google_api_content_warehouse v0.4.0)

A general non-self-intersecting spherical polygon, consisting of one or more loops defining multiple disconnected regions possibly with holes. All loops should be oriented CCW around the region they define. This applies to the exterior loop(s) as well as any holes. Within MapFacts (and underlying infrastructure) the data fields may be replaced by a single shape_id stored in internal_feature. Any such PolygonProtos shouldn't be expected to work with public functions in //geostore/base/public/polygon.h.

Attributes

  • baseMeters (type: number(), default: nil) - The polygon loops above are basically flat: each point has a latitude and a longitude but no altitude. We don't want to build real 3D models here, but we do want to be able to generate 2.5D models. A 2.5D model is built by translating the flat polygon upward some distance (base) then extruding it upward some additional distance (height). The elevation of the bottom of the extruded polygon (above ground level).
  • cellId (type: String.t, default: nil) - DEPRECATED This is part of a splitting strategy for large polygons, which was never fully launched and we decided not to pursue. For features with very complex polygonal geometry, we break up the polygon into pieces that align with S2 cells at various levels. We do this for performance reasons as some geometry operations have quadratic complexity with regards to the total number of vertices. In these cases, we store the S2 cell ID corresponding to the piece of the overall polygon that is described by this specific PolygonProto message. Each polygon piece is expected to be fully contained by the S2 cell corresponding to this cell ID. However, note that the S2 cell ID is not required to correspond to the smallest S2 cell that fully contains the polygon (and often won't be). In addition, polygon pieces are required to not have any overlap (which translates to having entirely disjoint S2 cell IDs, i.e. one can not be parent (or grand parent, etc.) of another).
  • encoded (type: String.t, default: nil) - Encoding of the polygon using S2Polygon::Encode()'s compressed representation.
  • heightMeters (type: number(), default: nil) - The distance from the bottom of the extruded polygon to the top.
  • loop (type: list(GoogleApi.ContentWarehouse.V1.Model.GeostorePolyLineProto.t), default: nil) - DEPRECATED We have switched to using exclusively the encoded form in the wire format to and from MapFacts, so this field should never be populated there. See go/encoded-polygons for more info. "Classic" polygon representation, defined by one or more loops. The last vertex of each polyline is implicitly connected to the first vertex. All loops should be specified in CCW order.
  • metadata (type: GoogleApi.ContentWarehouse.V1.Model.GeostoreFieldMetadataProto.t, default: nil) - Field-level metadata for this polygon.
  • temporaryData (type: GoogleApi.ContentWarehouse.V1.Model.Proto2BridgeMessageSet.t, default: nil) - A place for clients to attach arbitrary data to a polygon. Never set in MapFacts.
  • unsuitableForDisplay (type: boolean(), default: nil) - Some polygons are known to be rough proxies for a feature's "real" polygonal representation. Such polygons are generally unsuitable for display. Rendering clients should not show these in most cases. Polygons unsuitable for display do have other uses, such as user location or containment analysis, or as an input to learning algorithms. This is an orthogonal concept to FeatureProto.synthetic_geometry, which only pertains to the method by which a polygon was created, rather than its fidelity to ground truth. For features that have multiple polygons, this bit should be consistently set to the same value on all polygons.

Summary

Types

t()

Functions

decode(value, options)

Unwrap a decoded JSON object into its complex fields.

Types

Link to this type

t()

@type t() :: %GoogleApi.ContentWarehouse.V1.Model.GeostorePolygonProto{
  baseMeters: number() | nil,
  cellId: String.t() | nil,
  encoded: String.t() | nil,
  heightMeters: number() | nil,
  loop: [GoogleApi.ContentWarehouse.V1.Model.GeostorePolyLineProto.t()] | nil,
  metadata:
    GoogleApi.ContentWarehouse.V1.Model.GeostoreFieldMetadataProto.t() | nil,
  temporaryData:
    GoogleApi.ContentWarehouse.V1.Model.Proto2BridgeMessageSet.t() | nil,
  unsuitableForDisplay: boolean() | nil
}

Functions

Link to this function

decode(value, options)

@spec decode(struct(), keyword()) :: struct()

Unwrap a decoded JSON object into its complex fields.