GeostoreAddressRangeProto

GoogleApi.ContentWarehouse.V1.Model.GeostoreAddressRangeProto


Table of Contents ▼

Jump to a specific part of the page:

Description

This class represents a range of numbers in an address. It is an optional additional field in the 'AddressComponentProto' message. This structure can be used to model both single addresses and address ranges. There are two primary use-cases for address ranges: definitions and references. Ranges are being defined when they are present on the addresses of segment features. Ranges are being referenced when they are present on non-segment features. NOTE: If you add fields in this proto, consider updating the AreAddressRangesEquivalent() function in google3/geostore/base/internal/addressrange.cc

Attributes List

This module has the following attributes (case-insensitive ascending order):

View Attributes

Attributes

  1. number (type: list(integer()), default: nil)
    - Two or more address numbers. Each number represents an address that was mentioned by the data provider.
  2. parameter (type: list(number()), default: nil)
    - For address range definitions: Two or more interpolation parameter values. The length of this array must match the length of the number array, and each parameter number specifies the position of the corresponding address number. Each value is an interpolation between 0.0 and 1.0 inclusive. The value is proportional to the distance traveled along the segment's polyline starting at its origin. The parameters must be provided in increasing order and the values in the number array must be in strictly increasing or decreasing order. We make an exception for singleton addresses, which are represented as two copies of a (number, parameter) pair, for backwards compatibility. For address range references: This array must be empty.
  3. prefix (type: String.t, default: nil)
    - If specified, the prefix or suffix is applied to all numbers in the range. For example, this can be used to indicate that addresses B1 through B99 are on one side of the street, while A1 through A99 are on the other side of the street.
  4. sameParity (type: boolean(), default: nil)
    - If 'same_parity' is true, then all 'number' values must have the same parity (even or odd), and this address range only includes addresses whose parity is the same as the given 'number' values.
  5. suffix (type: String.t, default: nil)
    -
  6. temporaryData (type: GoogleApi.ContentWarehouse.V1.Model.Proto2BridgeMessageSet, default: nil)
    - A place for clients to attach arbitrary data to an address range. Never set in MapFacts. Here are some examples: Example #1: Single non-numeric address (e.g., "Twelve") At the moment this can only be represented as a street number (with the value in the parsed_name field of the AddressComponentProto). We have future plans to make other changes so we can handle this case. Example #2: Single semi-numeric address (e.g., "12bis") The number array contains two copies of the single numeric value (12). The prefix is empty and the suffix contains "bis". The parameter array has two identical values specifying the position of the single address. Example #3: Simple address range (e.g., "100 to 198, even numbers only") The number array contains the two values "100" and "198". The prefix and suffix strings are empty in this example. The parameter array has two values, one for each number. The same_parity flag is set in this example.

Type

@type t() :: %GoogleApi.ContentWarehouse.V1.Model.GeostoreAddressRangeProto{
number: [integer()] | nil,
parameter: [number()] | nil,
prefix: String.t() | nil,
sameParity: boolean() | nil,
suffix: String.t() | nil,
temporaryData: GoogleApi.ContentWarehouse.V1.Model.Proto2BridgeMessageSet.t() | nil
}

Function

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

Data sourced from HexDocs : GoogleApi.ContentWarehouse.V1.Model.GeostoreAddressRangeProto