Entendendo a diferença entre Polygon e Multipolygon para shapefiles no QGIS?

30

A criação da camada de rascunho me dá uma escolha entre Polígono e Multipolígono, então comecei a me perguntar como devo usá-los.

Nova camada temporária de riscos

Lendo um novo livro "Mastering QGIS" (através desta resposta de Joseph para " O que significa buffer no diálogo QGIS Voronoi?" ), O comentário dos autores foi"ESRI shapefiles store geospatial data in multi- type geometry, so using multi- type geometry is a good practice if you plan on converting between formats."

Como devo escolher um deles (polígono ou multipolígono) quando crio uma nova camada de polígono? (Eu confundi multi-polígono com multipart-polygon, então costumava escolher Polygon.)

Uma situação recente em que escolhi Polígono / Multipolígono foi Alterar o comprimento da linha paralela para dividir o polígono no QGIS? no qual eu desenho um polígono fictício como uma camada de fundo. Trabalhando principalmente em shapefiles, parecia que eu deveria escolher o Multipolygon, embora eu precisasse de apenas um polígono. Nesse caso, o que eu precisava era simples geometria poligonal sem nenhum atributo (Não tenho certeza se este exemplo faz alguma distinção.)

Kazuhito
fonte
Você não forneceu informações suficientes para ajudá-lo a escolher. Por favor editar a pergunta para especificar o que a camada de zero é devido a conter. Observe que o livro é enganoso, pois os shapefiles não armazenam geometrias de vários tipos; em vez disso, eles simplesmente não fazem distinção entre linhas ou polígonos de peça única e múltipla.
Vince
Obrigado @Vince. Adicionei uma experiência recente em que precisava escolher um deles. Não tenho certeza se este exemplo simplista faz algum sentido.
Kazuhito 22/01
@Vince Quanto à parte final do seu comentário, é que não preciso me preocupar com single ou multi-, na medida em que vou salvar a camada como shapefile em disco?
Kazuhito 22/01

Respostas:

36

De um ponto de vista mais formal, relato a definição para um polígono e um multipolígono (o texto e as imagens a seguir vêm deste documento das Normas OGC® , todos os créditos para a fonte citada).


Polígono

Um polígono é uma superfície plana definida por 1 limite externo e 0 ou mais limites internos. Cada limite interno define um furo no polígono.

O limite externo LinearRing define o "topo" da superfície, que é o lado da superfície a partir do qual o limite externo parece atravessar o limite no sentido anti-horário. Os LinearRings internos terão a orientação oposta e aparecerão no sentido horário quando vistos do "topo".

As asserções para polígonos (as regras que definem polígonos válidos) são as seguintes:

  1. Os polígonos são topologicamente fechados;
  2. O limite de um polígono consiste em um conjunto de anéis lineares que compõem seus limites exterior e interior;
  3. Não há dois anéis na cruz de fronteira e os anéis na fronteira de um polígono podem se cruzar em um ponto, mas apenas como uma tangente;
  4. Um polígono pode não ter linhas cortadas, pontas ou furos;
  5. O interior de cada polígono é um conjunto de pontos conectados;
  6. O exterior de um polígono com 1 ou mais orifícios não está conectado. Cada furo define um componente conectado do exterior.

Abaixo alguns exemplos de polígonos:

insira a descrição da imagem aqui


Multipolígono

Um MultiPolygon é um MultiSurface cujos elementos são polígonos.

As asserções para MultiPolygons são as seguintes:

  1. Os interiores de 2 polígonos que são elementos de um MultiPolygon não podem se cruzar;
  2. Os limites de quaisquer 2 polígonos que são elementos de um MultiPolygon não podem "cruzar" e podem tocar apenas em um número finito de pontos;
  3. Um MultiPolygon é definido como topologicamente fechado;
  4. Um MultiPolygon pode não ter linhas de corte, pontas ou furos, um MultiPolygon é um conjunto de pontos fechado regular;
  5. O interior de um MultiPolygon com mais de 1 polígono não está conectado; o número de componentes conectados no interior de um MultiPolygon é igual ao número de polígonos no MultiPolygon

O limite de um MultiPolygon é um conjunto de curvas fechadas (LineStrings) correspondentes aos limites do seu elemento Polygons. Cada curva no limite do MultiPolygon está exatamente no limite de 1 elemento Polygon e toda curva no limite de um elemento Polygon está no limite do MultiPolygon.

Abaixo alguns exemplos de MultiPolygons:

insira a descrição da imagem aqui

mgri
fonte
+1 Muito obrigado! É muito útil. Deve ter demorado muito tempo para resumi-los em um estilo tão conciso, que não consigo imaginar como poderia fazê-lo ... Portanto, parece ser um conjunto de polígonos da coleção, um conjunto de superfícies e apoiado por diretrizes bastante frouxas. termos de topologia (apenas minha primeira impressão). Vou ler e reler material vinculado, é muito interessante!
Kazuhito 22/01
Eu acho que você precisa pensar em um multipolígono do ponto de vista geométrico. A diferença mais clara que vejo é que, a partir de qualquer local na superfície do polígono, você pode chegar a qualquer outro local, enquanto que para um multipolígono nem sempre é verdadeiro (consulte, para referência, os últimos exemplos de ambas as categorias nas imagens anexadas acima) )
MGRI
Entendi, obrigado. Sim, geometria contígua única ou não, faz grande diferença. A única questão que ainda estou enfrentando é: como colocamos um objeto multipartes em termos dessa distinção.
Kazuhito 22/01
1
O que faz o primeiro exemplo do MultiPolygon pertencer a esse local?
Stijn
1
@Stijn o primeiro exemplo é um multipolígono porque, em alguns casos, dois pontos dentro dele podem ser conectados por uma linha que não está totalmente contida no próprio polígono. Esse comportamento não é permitido para um polígono, portanto, é um multipolígono.
MGRI
13

Os polígonos de shapefile são construídos a partir de um ou mais anéis fechados. Se uma forma tiver vários anéis, eles podem ser externos e internos (por exemplo, formar uma rosquinha) ou múltiplos externos (por exemplo, cadeia de ilhas). insira a descrição da imagem aqui

Obviamente, ter vários exteriores não impede que haja um ou mais anéis internos em cada forma. A especificação shapefile afirma que:

  1. Os anéis externos devem girar no sentido horário, enquanto os anéis internos devem girar no sentido anti-horário (essa convenção é conhecida como regra da mão direita, pois a forma sempre fica do seu lado direito à medida que você caminha pelo perímetro; infelizmente, também pode ser conhecida como regra da mão esquerda , porque os anéis externos seguem a direção de uma mão esquerda enrolada com o polegar apontado para cima a partir do topo da figura)
  2. Os anéis internos devem sempre seguir o anel externo que partem
  3. Nenhum anel externo ou interno pode se sobrepor ou compartilhar uma borda comum (esses recursos podem ser preenchidos, mas são inválidos e podem causar falhas estranhas no geoprocessamento).

Os arquivos de forma não fazem distinção entre esses objetos - todos são polígonos (e cada geometria é associada a um registro do dBase).

No entanto, algumas ferramentas de fazer fazer uma distinção, qgis sendo um deles. Se tudo o que você tem em um shapefile é simples de um anel formas, então você pode escolher com segurança Polygon. Se as formas puderem conter "furos", também é seguro escolher Polígono. Se, no entanto, algumas formas podem conter vários anéis externos , você precisa escolher Multipolígono.

Vince
fonte
1
Este é um ótimo resumo detalhado sobre o shapefile, muito obrigado! Agora entendo que a maior parte da minha experiência passada se enquadra no uso do Polygon. No futuro, usarei o Multipolygon quando precisar digitalizar buracos, algo como lagos. Mais uma vez obrigado!
Kazuhito 22/01
1
Obrigado por adicionar a figura, então o do lado direito é o anel externo múltiplo, para o qual eu preciso escolher Multipolygon ... não aquele no centro com o furo!
Kazuhito 22/01
3
Eu tenho que voltar e classificá-los, mas sim, o polígono verde é a única multipolígono
Vince
1
No caso de Dois Anéis (Multipolígono), esses dois anéis compartilhariam o mesmo registro se virmos a tabela de atributos? (ou seja, o shapefile possui apenas um registro)?
Kazuhito 22/01
1
Sim, é uma geometria em um registro
Vince