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 Polygon
s 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 oRLMGeospatialPoints
que representa um polígono (anel externo ou orifícios) não tiver pelo menos 4 pontos. Returnsnil
if the first and the lastRLMGeospatialPoint
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 oRLMGeospatialPoints
que representa um polígono (anel externo ou orifícios) não tiver pelo menos 4 pontos. Returnsnil
if the first and the lastRLMGeospatialPoint
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.