1

NTv2 グリッドシフト パッケージ (UK Ordnance Survey の OSTN15) をいくつかの DotSpatial 再投影に適用しようとしています。これは私がこれまでに持っているコードです:

const string Proj4_4326 = "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs";
const string OSTN15 = @"+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy +units=m +no_defs +nadgrids=D:\directory\OSTN15_NTv2_OSGBtoETRS.gsb";

static void Main(string[] args)
{
    double[] polygonPoints = new double[2] { 530624.974, 178388.464 };
    double[] zp = new double[10];

    ProjectionInfo srcProjection = ProjectionInfo.FromProj4String(OSTN15);
    ProjectionInfo desProjection = ProjectionInfo.FromProj4String(Proj4_4326);
    GridShift.InitializeExternalGrids(@"D:\directory\OSTN15-NTv2", false);

    Reproject.ReprojectPoints(polygonPoints, zp, srcProjection, desProjection, 0, 1);
}

コードは「Gridshift.InitializeExternalGrids」に到達し、「ハング」します。処理しているように見えますが、40 分後には 2G の RAM が使用され、約 25% の CPU 使用率が安定しています。

グリッドを初期化するのにそれほど時間はかからず、何か問題が発生していると思います。

NuGet を使用して追加された DotSpatial.Projections 1.9.0 を使用しています。このコード以外にプロジェクトには何もありません。これは .NET Framework 4.7.2 コンソール アプリであり、x64 プラットフォーム ターゲットです (x86 も試しました)。

他の誰かがこの問題を抱えているか、アドバイスを提供できますか. ありがとう。

4

0 に答える 0