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 も試しました)。
他の誰かがこの問題を抱えているか、アドバイスを提供できますか. ありがとう。