O cálculo da área do círculo no QGIS é impreciso


8

Criei um círculo com um raio de 3 km, calculei a área usando a calculadora de campo e obtive um resultado diferente da área real.

O resultado do QGIS é 28273078.8 enquanto a área calculada manualmente é 28274333.9, que também é o mesmo número que obtive quando calculei a área no ArcMap.

A projeção "on the fly" está desativada e o CRS do projeto está definido como utm32

Alguma idéia do que está causando isso, como obter cálculos de área mais precisos?


3
Como você criou o círculo, em particular quantos vértices você usou para aproximar o círculo?
Jake

Eu tentei dois métodos, o primeiro foi armazenar um círculo em buffer de um ponto com 99 segmentos para aproximar e o segundo foi criar um círculo no ArcMap e usá-lo no QGIS. Ambos os métodos produziram o mesmo problema.
A. Jousef 02/01

Depende do raio, mas prefiro usar pelo menos 181 vértices se a área for importante para mim.
Vince

Veja minha resposta em gis.stackexchange.com/questions/168168/… para precisão da área por densidade de vértices.
Vince

Vince já lhe deu a resposta, mas ainda estou intrigado com o resultado que o QGIS lhe deu. Com 99 vértices e raio de 3 km, o resultado deve ser 28255356.207 m2. Você poderia verificar se a distância do centro do círculo a um dos vértices é de 3 km? Talvez os vértices estejam um pouco mais distantes para obter uma melhor aproximação.
Jake

Respostas:


15

Todas as versões recentes do ArcGIS trapaceiam - o tipo de forma subjacente sabe quando foi gerado como um círculo e relata uma área de círculo perfeita, mesmo quando a contagem de vértices o tornaria um octógono.

Eu acabei de pegar um código de teste utilizando a API do ArcSDE 'C' e obteve os seguintes resultados (todos gerados como um círculo a partir do ponto {0,100000}em PCS_WGS_1984_UTM_32N):

ArcSDE 10.2 Dynamic ASCII Table Utility  Sat Jan 02 15:37:30 2016
------------------------------------------------------------------------
         1
              Radius: 3000.00
              nVerts: 9
               Shape: Area shape (1 part, 9 vertices)
          PiRSquared: 28274333.88230814
        Area_PERFECT: 28274333.88230814
         Area_ACTUAL: 25455900.00000000
          pct_ACTUAL: 90.03182924
         2
              Radius: 3000.00
              nVerts: 13
               Shape: Area shape (1 part, 13 vertices)
          PiRSquared: 28274333.88230814
        Area_PERFECT: 28274333.88230814
         Area_ACTUAL: 26999987.41125000
          pct_ACTUAL: 95.49292133
         3
              Radius: 3000.00
              nVerts: 19
               Shape: Area shape (1 part, 19 vertices)
          PiRSquared: 28274333.88230814
        Area_PERFECT: 28274333.88230814
         Area_ACTUAL: 27703641.02895000
          pct_ACTUAL: 97.98158692
         4
              Radius: 3000.00
              nVerts: 37
               Shape: Area shape (1 part, 37 vertices)
          PiRSquared: 28274333.88230814
        Area_PERFECT: 28274333.88230814
         Area_ACTUAL: 28131014.34700000
          pct_ACTUAL: 99.49311083
         5
              Radius: 3000.00
              nVerts: 91
               Shape: Area shape (1 part, 91 vertices)
          PiRSquared: 28274333.88230814
        Area_PERFECT: 28274333.88230814
         Area_ACTUAL: 28251381.25285000
          pct_ACTUAL: 99.91882168
         6
              Radius: 3000.00
              nVerts: 99
               Shape: Area shape (1 part, 99 vertices)
          PiRSquared: 28274333.88230814
        Area_PERFECT: 28274333.88230814
         Area_ACTUAL: 28254960.01385000
          pct_ACTUAL: 99.93147896
         7
              Radius: 3000.00
              nVerts: 100
               Shape: Area shape (1 part, 100 vertices)
          PiRSquared: 28274333.88230814
        Area_PERFECT: 28274333.88230814
         Area_ACTUAL: 28255353.61820000
          pct_ACTUAL: 99.93287105
         8
              Radius: 3000.00
              nVerts: 181
               Shape: Area shape (1 part, 181 vertices)
          PiRSquared: 28274333.88230814
        Area_PERFECT: 28274333.88230814
         Area_ACTUAL: 28268601.72120000
          pct_ACTUAL: 99.97972663
         9
              Radius: 3000.00
              nVerts: 361
               Shape: Area shape (1 part, 361 vertices)
          PiRSquared: 28274333.88230814
        Area_PERFECT: 28274333.88230814
         Area_ACTUAL: 28272903.62000000
          pct_ACTUAL: 99.99494148
        10
              Radius: 3000.00
              nVerts: 385
               Shape: Area shape (1 part, 385 vertices)
          PiRSquared: 28274333.88230814
        Area_PERFECT: 28274333.88230814
         Area_ACTUAL: 28273075.88680000
          pct_ACTUAL: 99.99555075
        11
              Radius: 3000.00
              nVerts: 386
               Shape: Area shape (1 part, 386 vertices)
          PiRSquared: 28274333.88230814
        Area_PERFECT: 28274333.88230814
         Area_ACTUAL: 28273079.37910000
          pct_ACTUAL: 99.99556310
        12
              Radius: 3000.00
              nVerts: 387
               Shape: Area shape (1 part, 387 vertices)
          PiRSquared: 28274333.88230814
        Area_PERFECT: 28274333.88230814
         Area_ACTUAL: 28273082.09195000
          pct_ACTUAL: 99.99557270
        13
              Radius: 3000.00
              nVerts: 396
               Shape: Area shape (1 part, 396 vertices)
          PiRSquared: 28274333.88230814
        Area_PERFECT: 28274333.88230814
         Area_ACTUAL: 28273146.91000000
          pct_ACTUAL: 99.99580194
        14
              Radius: 3000.00
              nVerts: 397
               Shape: Area shape (1 part, 397 vertices)
          PiRSquared: 28274333.88230814
        Area_PERFECT: 28274333.88230814
         Area_ACTUAL: 28273144.96360000
          pct_ACTUAL: 99.99579506
        15
              Radius: 3000.00
              nVerts: 398
               Shape: Area shape (1 part, 398 vertices)
          PiRSquared: 28274333.88230814
        Area_PERFECT: 28274333.88230814
         Area_ACTUAL: 28273150.34970000
          pct_ACTUAL: 99.99581411
        16
              Radius: 3000.00
              nVerts: 721
               Shape: Area shape (1 part, 721 vertices)
          PiRSquared: 28274333.88230814
        Area_PERFECT: 28274333.88230814
         Area_ACTUAL: 28273981.39730000
          pct_ACTUAL: 99.99875334

16 rows read in 6.69 ms

Area_PERFECTfoi gerado usando SE_shape_get_area()e Area_ACTUALfoi gerado convertendo o polígono em uma forma de linha simples e retornando a um polígono antes de chamar a função area. (Eu tive que voltar à API 9.3.1sp2 para obter uma área REAL da função de área da forma do círculo.)

Não sei bem o que o QGIS está fazendo, pois a área relatada na pergunta ( 28273078.8 m2) e a relatada nos comentários ( 28273147.55 m2) não correspondem exatamente aos vértices 99 e 397 (ou 98, 100, 384, 385, 386, 387, 396 ou 398). Pode haver um cálculo geodésico envolvido (embora eu não tenha uma maneira fácil de avaliar isso sem os dados exatos das coordenadas) ou o valor possa ter sido calculado para um flutuador de 32 bits.

Acho que a lição aqui é: Se você realmente se importa com a área geométrica, verifique se os círculos contêm muitos vértices.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.