View Source GoogleApi.ContentWarehouse.V1.Model.GeostoreBorderProto (google_api_content_warehouse v0.4.0)

A border represents a line of division between two features of the same type (i.e. United States and Mexico, but not California and Mexico). Borders are only used for features that tile an area. For example, country features have borders with one another because they tile an area of land. Country features do not have borders with province features because those two types of features may intersect with each other. The geometry of a border will often be similar (or derived from) the geometry of the two features that it separates. However, it is useful to have borders represented by stand-alone features for map-styling purposes. Ideally, the geometry in a border feature would be exactly the same as the common edges of the polygonal geometry of the two features. This may not always be true in practice. At some point in the future we would like to build a network of borders for features that are supposed to tile with each other. The network would be composed of different border types meeting at endpoint intersections. In the process of building this network, we would perform small geometry corrections to ensure that the borders align properly at all zoom levels. Border features are intended primarily for map drawing, and they would rarely be useful for geocoding. One exception would be for famous borders like the "Mason Dixon Line" or the "Berlin Wall." The standard feature properties have the following interpretations: name - Borders rarely have names unless they notable in their own right (e.g. "Mason Dixon Line", "Berlin Wall"). point - A border should not have point geometry. polyline - A border should have a single polyline that represents the division between the two features. polygon - A border should not have polygon geometry.

Attributes

  • featureIdLeft (type: GoogleApi.ContentWarehouse.V1.Model.GeostoreFeatureIdProto.t, default: nil) - The ids of the area features to the left and right of the border, relative to the start and end of this borders' polyline geometry. These features should have the same type as the "type" attribute above. These ids are not required because the corresponding features may be nonexistent or difficult to obtain.
  • featureIdRight (type: GoogleApi.ContentWarehouse.V1.Model.GeostoreFeatureIdProto.t, default: nil) -
  • logicalBorder (type: list(GoogleApi.ContentWarehouse.V1.Model.GeostoreFeatureIdProto.t), default: nil) - The logical borders which this border is a part of.
  • overrideStatus (type: list(GoogleApi.ContentWarehouse.V1.Model.GeostoreOverrideBorderStatusProto.t), default: nil) - List of border status overrides. Due to legal reasons, we may be required to display some borders differently on some domains for instance.
  • status (type: String.t, default: nil) - The border status identifies the legal status of the border line.
  • type (type: integer(), default: nil) - The type of the features this border separates. Should always be a subtype of TYPE_POLITICAL. NOTE: as of December 2019, we currently require this to be equal to TYPE_COUNTRY or TYPE_ADMINISTRATIVE_AREA1. In the future, we may support TYPE_BORDER for lower types of political features.

Summary

Functions

Unwrap a decoded JSON object into its complex fields.

Types

@type t() :: %GoogleApi.ContentWarehouse.V1.Model.GeostoreBorderProto{
  featureIdLeft:
    GoogleApi.ContentWarehouse.V1.Model.GeostoreFeatureIdProto.t() | nil,
  featureIdRight:
    GoogleApi.ContentWarehouse.V1.Model.GeostoreFeatureIdProto.t() | nil,
  logicalBorder:
    [GoogleApi.ContentWarehouse.V1.Model.GeostoreFeatureIdProto.t()] | nil,
  overrideStatus:
    [GoogleApi.ContentWarehouse.V1.Model.GeostoreOverrideBorderStatusProto.t()]
    | nil,
  status: String.t() | nil,
  type: integer() | nil
}

Functions

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

Unwrap a decoded JSON object into its complex fields.