RLMGeospatialPolygon

Objective-C

@interface RLMGeospatialPolygon : NSObject <RLMGeospatial>

Swift

class RLMGeospatialPolygon : NSObject, RLMGeospatial, @unchecked Sendable

Uma classe que representa um polígono, que pode ser utilizada em uma query geoespacial geoWithin .

Um RLMGeospatialPolygon descreve uma forma composta de um Polygon externo, chamado outerRing, e 0 ou mais Polygons internos, chamado holes, que representa um número ilimitado de orifícios internos dentro do Polygon externo. Um Polygon descreve uma forma composta por pelo menos três segmentos, onde o último e o primeiro RLMGeospatialPoint devem ser iguais para indicar um polígono fechado (o que significa que você precisa de pelo menos 4 pontos para definir um polígono). Os orifícios internos em um RLMGeospatialPolygon devem estar inteiramente dentro do anel externo

Um hole tem as seguintes restrições:

  • Os orifícios não podem se cruzar, ou seja, o limite de um orifício não pode cruzar o interno e o externo de qualquer outro orifício.
  • Os orifícios não podem compartilhar bordas, ou seja, se um orifício contiver uma borda BI, nenhum outro orifício poderá contê-la.
  • Os orifícios podem compartilhar vérxes, no entanto, nenhum vértex pode aparecer duas vezes em um único orifício.
  • Nenhum vazio pode estar vazio.
  • Apenas um aninhamento é permitido.

Aviso

Esta classe não pode ser persistente e só pode ser utilizada dentro de uma query geoespacial geoWithin .

  • O anel externo (externo) do polígono.

    Declaração

    Objective-C

    @property (strong, readonly) NSArray<RLMGeospatialPoint *> *_Nonnull outerRing;

    Swift

    var outerRing: [RLMGeospatialPoint] { get }
  • Os orifícios (se houver) no polígono.

    Declaração

    Objective-C

    @property (strong, readonly, nullable) NSArray<NSArray<RLMGeospatialPoint *> *> *holes;

    Swift

    var holes: [[RLMGeospatialPoint]]? { get }
  • Inicialize um RLMGeospatialPolygon, com seus anéis externos e orifícios (se houver).

    Retorna nil se o RLMGeospatialPoints que representa um polígono (anel externo ou orifícios) não tiver pelo menos 4 pontos. Returns nil if the first and the last RLMGeospatialPoint in a polygon are not the same.

    Declaração

    Objective-C

    - (nullable instancetype)initWithOuterRing:
        (nonnull NSArray<RLMGeospatialPoint *> *)outerRing;

    Swift

    init?(outerRing: [RLMGeospatialPoint])

    Parâmetros

    outerRing

    O anel externo (externo) do polígono.

  • Inicialize um RLMGeospatialPolygon, com seus anéis externos e orifícios (se houver).

    Retorna nil se o RLMGeospatialPoints que representa um polígono (anel externo ou orifícios) não tiver pelo menos 4 pontos. Returns nil if the first and the last RLMGeospatialPoint in a polygon are not the same.

    Declaração

    Objective-C

    - (nullable instancetype)
        initWithOuterRing:(nonnull NSArray<RLMGeospatialPoint *> *)outerRing
                    holes:
                        (nullable NSArray<NSArray<RLMGeospatialPoint *> *> *)holes;

    Swift

    init?(outerRing: [RLMGeospatialPoint], holes: [[RLMGeospatialPoint]]?)

    Parâmetros

    outerRing

    O anel externo (externo) do polígono.

    holes

    Os orifícios (se houver) no polígono.