[GDAL/OGR In CSharp] C#のOGRを使って作図する(Polygon)

前回はGDAL/OGRを使って点(Point)を作図するという記事を書きましたが、今回はポリゴンを作図してみたいと思います。
基本的な流れは前回と同じなのですが、Polygonのジオメトリ(wkbPolygon)はポリゴンを構成するリング(wkbLinearRing)から構成されているのがポイントの場合とは異なるところです。
また、穴あきポリゴンも、二つのリングをPolygonのジオメトリに追加してあげることにより作図することが出来ます。
サンプルソースでは、50~55行目で外側リング、58~63行目で内側リングを作成し、これらのリングを元に66~68行目でポリゴンを作図しています。

作図した図はこんな感じで、ちょっと不格好ですが中抜けのポリゴンが出来ているかと思います。

作図した中抜けのポリゴン


2017 Nov. 18追記
ポリゴンを構成するリングを閉じるときは「CloseRings」メソッドを使った方が良さそうです。
(サンプル、55行目、63行目;修正済み)


毎度のオマケ:OGR.Ogr.RegisterAll()で「System.TypeInitializationException」が出たときは、構成マネージャーでx68かx64に変更(64bit版GDALを入れていればx64、32bit版ならx86)すると幸せになれるでしょう。


この記事を作成するにあたって、下記のサイトを参考にさせていただきました。
https://pcjericks.github.io/py-gdalogr-cookbook/geometry.html