El cálculo del área del círculo en QGIS es inexacto

8

Creé un círculo con un radio de 3 km, calculé el área usando la calculadora de campo y obtuve un resultado diferente del área real.

El resultado de QGIS es 28273078.8, mientras que el área calculada manualmente es 28274333.9, que también es el mismo número que obtuve cuando calculé el área en ArcMap.

La proyección "sobre la marcha" está desactivada y el proyecto CRS está configurado en utm32

¿Alguna idea de lo que está causando esto, cómo obtener cálculos de área más precisos?

A. Jousef
fuente
3
¿Cómo creaste el círculo, en particular cuántos vértices usaste para aproximar el círculo?
Jake
Probé dos métodos, el primero fue almacenar un círculo en un búfer desde un punto con 99 segmentos para aproximarse y el segundo fue crear un círculo en ArcMap y usarlo en QGIS. Ambos métodos produjeron el mismo problema.
A. Jousef
Depende del radio, pero prefiero usar al menos 181 vértices si el área es importante para mí.
Vince
Vea mi respuesta en gis.stackexchange.com/questions/168168/… para la precisión del área por densidad de vértices.
Vince
Vince ya te dio la respuesta, pero todavía estoy intrigado por el resultado que QGIS te dio. Con 99 vértices y 3 km de radio, el resultado debería ser 28255356.207 m2. ¿Podría verificar si la distancia desde el centro del círculo a uno de los vértices es de 3 km? Quizás los vértices estén un poco más alejados para obtener una mejor aproximación.
Jake

Respuestas:

15

Todas las versiones recientes de trucos de ArcGIS: el tipo de forma subyacente sabe cuándo se generó como un círculo e informa un área de círculo perfecta, incluso cuando el conteo de vértices lo convertiría en un octágono.

Acabo de crear un código de prueba usando la API 'C' de ArcSDE y obtuve los siguientes resultados (todos generados como un círculo desde el punto {0,100000}de entrada 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_PERFECTse generó usando SE_shape_get_area(), y Area_ACTUALse generó al convertir el polígono en una forma de línea simple y volver a un polígono antes de llamar a la función de área. (Tuve que volver a la API 9.3.1sp2 para obtener un área REAL de la función de área de la forma del círculo).

No estoy muy seguro de lo que está haciendo QGIS, ya que el área informada en la pregunta ( 28273078.8 m2) y la informada en los comentarios ( 28273147.55 m2) no corresponden exactamente a los vértices 99 y 397 (o 98, 100, 384, 385, 386, 387, 396 o 398, para el caso). Puede haber un cálculo geodésico involucrado (aunque no tengo una manera fácil de evaluar eso sin los datos de coordenadas exactos), o el valor podría haberse calculado en un flotante de 32 bits.

Supongo que la lección aquí es: si realmente te importa el área de geometría, debes asegurarte de que los círculos contengan muchos vértices.

Vince
fuente