Dividir polígono irregular em áreas iguais usando o QGIS?

10

Sou inspetor e uso o QGIS para manter registros de testes de solo em projetos civis e recebo constantemente a área do lote de testes ou o número de lotes necessários. Estes são mais frequentemente do que não de forma irregular e estou pensando.

Existe um plugin / solução para cortar uma camada que contém polígonos irregulares em áreas iguais ou número de lotes com uma área especificada, com o resultado sendo o maior número de lotes com base na área fornecida?

Stephen Donaldson
fonte
Algumas das soluções ArcGIS postadas anteriormente podem ser úteis aqui. Em particular, publiquei um algoritmo independente de software .
whuber

Respostas:

5

A maneira mais direta:

  • Abra o QGIS e baixe a extensão mmqgis através do plugin downloader
  • Carregue suas formas e defina sua projeção como CRS do projeto (clique com o botão direito)
  • Vá para mmqgis - create - create layer da grade
  • Defina uma grade com espaçamento suficiente para seus polígonos. Além de retângulos, você também pode definir hexágonos e outras coisas
  • Agora faça um clipe simples com a função no menu vetorial para obter partes igualmente espaçadas dos polígonos. (recorte sua grade gerada com seus polígonos). Isso vai resolver em algo assiminsira a descrição da imagem aqui
  • Agora você pode unir os atributos de sua forma antiga e a nova para manter a tabela de atributos. Você também pode realizar uma união em vez de um clipe para manter os atributos, mas isso pode exigir algum pós-processamento de sua forma, dependendo da estrutura da superfície.
Maçarico
fonte
11
ahh, acabei de notar que esta solução não resolve em áreas igualmente espaçadas por causa do recorte. Desculpa. Talvez possa ser a base de um novo script, se você usar apenas um retângulo completo no núcleo dos polígonos.
Curlew
2

existem algumas maneiras de dividir shapefiles com ferramentas de código-fonte aberto. mas nunca tentei dividi-los em partes iguais quando os arquivos de entrada são um polígono irregular. Ainda assim, você quer tentar, pode tentar seguir as seguintes formas.

  1. shp2tile - pode dividir partes iguais.

  2. você pode ler esta pergunta Como dividir um vetor em partes menores iguais no QGIS ou similar?

  3. você pode obtê-lo usando ogr2ogr com alguma consulta sql e loop for.

     ogr2ogr newshape_1.shp input.shp -sql "SELECT * FROM MyShape WHERE size = 100"
    
Aragão
fonte