使用 Reproject 方法进行 DotSpatial shapefile 重投影,结果出乎意料

问题描述

我正在学习使用 DotSpatial,我有一个基本问题,希望有人能回答。

Shapefile shapefile = Shapefile.OpenFile("LR_poly_SAMPLE.shp");
shapefile.Features.ToList().ForEach(feature =>
{
     //POINT A
     shapefile.Reproject(KNownCoordinateSystems.Geographic.World.WGS1984);
     //POINT B
}

这只是加载一个示例文件,其中的多边形坐标为 OSGB1936 格式。

如果我将代码捕获为 POINT A,我可以看到坐标采用 OSGB1936 格式,然后在 POINT B,它们是 WGS1984,正如预期的那样。但是,如果我通过将 POINT A & B 之间的上述行替换为:

,将已知坐标系更改为 OSGB1936
shapefile.Reproject(KNownCoordinateSystems.Geographic.Europe.OSGB1936);

...并运行代码(我希望什么都不做,因为它重新投影到相同的坐标系)我得到了相同的结果,在 B 点坐标仍然更改为 WGS1984,即使我没有提到那个坐标系。 显然我误解了这种方法。 除了描述此方法的 API 参考之外,我正在努力寻找有关 Dot Spatial 的任何文档:

“投影此特征集的所有 in-ram 顶点。这也会将投影更新为指定的投影。”

我认为这意味着它会投影到指定的坐标系。 任何人都可以对此有所了解吗? 此外,我发现文档和教程链接只是链接回 codeplex 存档站点,该站点似乎会自行循环。有谁知道这些文件是否仍然存在于网络上的某个地方?

谢谢

解决方法

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

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

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

相关问答

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