ArcGISの最近のすべてのバージョンはチートです-基礎となるシェイプタイプは、それがいつ円として生成されたかを認識し、頂点の数によって八角形になった場合でも、完全な円領域を報告します。
ArcSDE 'C' APIを使用していくつかのテストコードを作成し、次の結果を得ました(すべて、から円として生成さ{0,100000}
れます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_shape_get_area()
、及びArea_ACTUAL
面積関数を呼び出す前に、ポリゴンに単純な線状及び背面にポリゴンを変換して生成しました。(円の面積関数から実際の面積を取得するには、9.3.1sp2 APIに戻る必要がありました。)
質問(28273078.8 m2
)で報告された領域とコメント(28273147.55 m2
)で報告された領域は、99および397の頂点(または98、100、384、385、386、 387、396、または398、その問題について)。正確な座標データなしでそれを評価する簡単な方法はありませんが)測地計算が含まれるか、値が32ビット浮動小数点に計算された可能性があります。
ここでの教訓は次のとおりだと思います。ジオメトリ領域に本当に関心がある場合は、円に多数の頂点が含まれていることを確認する必要があります。