Todas las versiones recientes de ArcGIS engañan - el tipo de forma subyacente sabe cuando se generó como un círculo, y reporta un área de círculo perfecto, incluso cuando el conteo de vértices lo haría un octágono.
Acabo de crear un código de prueba utilizando la API 'C' de ArcSDE y he obtenido los siguientes resultados (todos generados como un círculo a partir de un punto {0,100000}
en 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_PERFECT
se generó utilizando SE_shape_get_area()
y Area_ACTUAL
se generó convirtiendo el polígono en una forma de línea simple y de nuevo en 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 reportada en la pregunta ( 28273078.8 m2
) y el que se ha señalado en los comentarios ( 28273147.55 m2
) no se corresponden exactamente con los vértices 99 y 397 (o 98, 100, 384, 385, 386, 387, 396 o 398, en realidad). Puede que haya un cálculo geodésico involucrado (aunque no tengo una forma fácil de evaluarlo sin los datos exactos de las coordenadas), o el valor puede haber sido calculado a un flotador de 32 bits.
Supongo que la lección aquí es: Si usted realmente se preocupa por el área de la geometría, debe asegurarse de que los círculos contengan un lote de vértices.
3 votos
¿Cómo creaste el círculo, en particular cuántos vértices utilizaste para aproximar el círculo?
0 votos
Intenté dos métodos, el primero fue amortiguar un círculo desde un punto con 99 segmentos para aproximar y el segundo fue crear un círculo en ArcMap y usarlo en QGIS. Ambos métodos produjeron el mismo problema.
0 votos
Depende del radio, pero yo prefiero usar al menos 181 vértices si el área es importante para mí.
0 votos
Véase mi respuesta en gis.stackexchange.com/questions/168168/ para la precisión del área por la densidad de los vértices.
0 votos
Vince ya te dio la respuesta, pero me sigue intrigando el resultado que te dio QGIS. Con 99 vértices y 3 km de radio, el resultado debería ser
28255356.207 m2
. ¿Podría comprobar si la distancia del centro del círculo a uno de los vértices es de 3 km? Tal vez los vértices estén un poco más lejos para obtener una mejor aproximación.0 votos
Intentaré aumentar mi respuesta con una comparación de áreas para vértices 98, 99 y 100 (segmentos 97, 98 y 99) utilizando la API C de ArcSDE, para comparar.
0 votos
He intentado repetir el flujo de trabajo de nuevo. 99 segmentos para aproximar produjeron 397 vértices y un área de 28273147,55 m2
0 votos
@Jake Siento no haber sido lo suficientemente detallado. El área que mencioné en el post era de un círculo creado con ArcMap, tiene 386 vértices. No conozco el método que utiliza ArcMap para determinar el número de vértices al dibujar un círculo utilizando la herramienta Círculo de la barra de herramientas de edición avanzada.