DotSpatial を使用して緯度経度に再投影できます。シェープファイルを読み込んでいて、.prj ファイルがそこにあるので投影がわかる場合、必要なことは次のとおりです。
Shapefile sf = Shapefile.OpenFile("C:\myshapefile.shp");
sf.Reproject(DotSpatial.Projections.KnownCoordinateSystems.Geographic.World.WGS1984);
ただし、.prj ファイルが見つからない場合は、最初に次のように射影を定義する必要があります。
Shapefile sf = Shapefile.OpenFile("C:\myshapefile.shp");
sf.Projection = DotSpatial.Projections.KnownCoordinateSystems.Projected.UtmWgs1984.WGS1984UTMZone32N;
sf.Reproject(DotSpatial.Projections.KnownCoordinateSystems.Geographic.World.WGS1984);
しかし、たとえばシェープファイルがなく、ある投影から別の投影に一連の座標を再投影したいだけの場合は、再投影ユーティリティを直接使用できます。
// interleaved x and y values, so like x1, y1, x2, y2 etc.
double[] xy = new double[]{456874.625438354,5145767.7929015327};
// z values if any. Typically this is just 0.
double[] z = new double[]{0};
// Source projection information.
ProjectionInfo source = DotSpatial.Projections.KnownCoordinateSystems.Projected.UtmWgs1984.WGS1984UTMZone32N;
// Destination projection information.
ProjectionInfo dest = DotSpatial.Projections.KnownCoordinateSystems.Geographic.World.WGS1984;
// Call the projection utility.
DotSpatial.Projections.Reproject.ReprojectPoints(xy, z, source, dest, 0, 1);
この最後のメソッドは、そのような配列を使用して、データ モジュールを直接参照しなくても射影モジュールが機能できるようにします。