QGISでの円の面積計算が不正確


8

半径3 kmの円を作成し、フィールド計算機を使用して面積を計算し、実際の面積とは異なる結果を得ました。

QGISの結果は28273078.8ですが、手動で計算した面積は28274333.9です。これは、ArcMapで面積を計算したときに取得した数値と同じです。

「オンザフライ」プロジェクションが無効になり、プロジェクトCRSがutm32に設定されます

これを引き起こしているアイデア、より正確な面積計算を行う方法はありますか?


3
どのようにして円を作成しましたか。特に、円を近似するために使用した頂点の数はいくつですか。
Jake

2つの方法を試してみました。1つ目は、近似する99セグメントのポイントから円をバッファリングする方法、もう1つは、ArcMapで円を作成してQGISで使用する方法です。どちらの方法でも同じ問題が発生しました。
A.ジョセフ2016年

半径によって異なりますが、面積が重要な場合は、少なくとも181個の頂点を使用することをお勧めします。
Vince

頂点密度による面積精度については、gis.stackexchange.com / questions / 168168 /…で私の回答を参照してください。
Vince

ヴィンスはすでに答えを出しましたが、QGISが与えた結果にはまだ興味をそそられます。頂点が99、半径が3 kmの場合、結果はになります28255356.207 m2。円の中心から頂点の1つまでの距離が3 kmであるかどうかを確認できますか?たぶん、より良い近似を得るために、頂点は実際には少し離れているかもしれません。
Jake

回答:


15

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ビット浮動小数点に計算された可能性があります。

ここでの教訓は次のとおりだと思いますジオメトリ領域に本当に関心がある場合は、円に多数の頂点が含まれていることを確認する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.