Classe GeoPolygon
Um polígono descreve uma forma composta por 3 ou mais segmentos de linha para uma query geoespacial GeoWithin(IEmbeddedObject?, GeoShapeBase) .
namespace: Realms
Conjunto: Realm.exe
Sintaxe
public class GeoPolygon : GeoShapeBase
Observações
Um polígono é composto por um anel externo e 0 ou mais anéis representando orifícios com as seguintes restrições:
- Cada anel deve consistir em pelo menos 3 pontos distintos (vírgulos). O primeiro e o último ponto devem ser iguais para indicar um anel fechado (o que significa que você precisa de pelo menos 4 pontos para definir o polígono).
- Os anéis não podem se cruzar, ou seja, o limite de um anel não pode cruzar o lado interno e o externo de qualquer outro anel.
- Os anéis não podem compartilhar bordas, ie, se um anel contém uma borda BI, então nenhum outro anel pode conter aba ou aba.
- Os anéis podem compartilhar vér acessos, no entanto, nenhum vértex pode aparecer duas vezes em um único anel.
- Nenhum anel pode estar vazio.
Os orifícios podem estar aninhados uns dentro dos outros e, nesse caso, um local será considerado "dentro" do polígono se estiver incluído em um número ímpar de anéis. Por exemplo, um polígono representando um quadrado com lado 10 centralizado em (0,0) com orifícios representando quadrados com lados 5 e 2, centralizados em (0,0) incluirá o local (1, 1) porque está contido em 3 anéis, mas não (3, 3), porque está contido em 2.
Construtores
| Editar esta página Ver fonteGeoPolygon(params GeoPoint[])
Inicializa uma nova instância da classe GeoPolygon a partir de uma collection de GeoPoints sem orifícios.
Declaração
public GeoPolygon(params GeoPoint[] outerRing)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
GeoPoint[] | anel externo | Os pontos representando o anel externo do polígono. |
Observações
outerRing
deve conter pelo menos 3 pontos únicos. O primeiro e o último pontos podem ser idênticos, mas nenhuma outra duplicata é permitida. Cada par subsequente de pontos representa uma borda no polígono com o primeiro e o último pontos sendo implicitamente conectados.
GeoPolygon(IEnumerable<GeoPoint>, params IEnumerable<GeoPoint>[])
Inicializa uma nova instância da classe GeoPolygon com um anel externo e uma collection de orifícios.
Declaração
public GeoPolygon(IEnumerable<GeoPoint> outerRing, params IEnumerable<GeoPoint>[] holes)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
IEnumerable<GeoPoint> | anel externo | Uma collection de GeoPoints representando o anel externo do polígono. |
IEnumerable<GeoPoint></] | Buracos | Uma collection de collections de GeoPoints representando os anéis internos do polígono. |
Observações
outerRing
deve conter pelo menos 3 pontos únicos. O primeiro e o último pontos podem ser idênticos, mas nenhuma outra duplicata é permitida. Cada par subsequente de pontos representa uma borda no polígono com o primeiro e o último pontos sendo implicitamente conectados.
Cada collection em holes
deve conter pelo menos 3 pontos únicos com as mesmas regras de outerRing
.
Nenhum dois anéis podem se cruzar ou compartilhar uma borda, embora possam compartilhar vértiques.
Um ponto é considerado "dentro" do polígono se estiver contido por um número ímpar de anéis e "fora" se estiver contido por um número par de anéis.
Propriedades
| Editar esta página Ver fonteBuracos
Obtém os orifícios no polígono.
Declaração
public IReadOnlyList<IReadOnlyList<GeoPoint>> Holes { get; }
Valor da propriedade
Tipo | Descrição |
---|---|
IReadOnlyList<IReadOnlyList<GeoPoint> | Os orifícios (se houver) no polígono. |
Anel externo
Obtém o anel externo do polígono.
Declaração
public IReadOnlyList<GeoPoint> OuterRing { get; }
Valor da propriedade
Tipo | Descrição |
---|---|
IReadOnlyList<GeoPoint> | O anel externo do polígono. |
Métodos
| Editar esta página Ver fonteToString()
Retorna uma representação de string do valor.
Declaração
public override string ToString()
Devoluções
Tipo | Descrição |
---|---|
string | Uma representação de string do valor. |