DotSpatial (C#) 重新投影 - 'InitializeExternalGrids' 导致 .Net 'freeze'

问题描述

我正在尝试将 NTv2 gridshift 包(来自英国军械调查局的 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,1);
}

代码进入“Gridshift.InitializeExternalGrids”和“挂起”。它似乎正在处理,但在 40 分钟后,它已达到 2G RAM 使用量和大约 25% 的 cpu 使用率恒定。

我假设初始化网格不应该花这么长时间,并且出现问题。

我正在使用使用 NuGet 添加的 DotSpatial.Projections 1.9.0,除了此代码之外,项目中没有其他内容,它是一个 .NET Framework 4.7.2 控制台应用程序,x64 平台目标(我也尝试过 x86)。

有没有其他人遇到过这个问题或可以提供任何建议。 谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...