コンテンツにスキップ

C# NetTopologySuiteでshapeファイルの情報を取得する

Topic

  • .shpの情報を読み込む

Install

パッケージマネージャーコンソールでNetTopologySuiteをインストール

Install-Package NetTopologySuite

Esriのshapeファイルを読み込むサポートライブラリをインストール

NuGet\Install-Package NetTopologySuite.IO.Esri.Shapefile -Version 1.0.0

Usage

.shpファイルのパスを渡すことで読み込む

string shpPath = "sample.shp";

foreach (var feature in Shapefile.ReadAllFeatures(shpPath))
{
    foreach (var attrName in feature.Attributes.GetNames())
    {
        Console.WriteLine($"{attrName,10}: {feature.Attributes[attrName]}");
    }
    Console.WriteLine($"     SHAPE: {feature.Geometry}");
    Console.WriteLine();
}
  • feature.Attributesのコレクションには、ArcMapやQGISなどで読み込める属性テーブルの情報が参照できる
  • feature.Geometryには、平面直角座標系の位置情報やジオメトリタイプ等のデータが確認できる

Reference