繁体   English   中英

将坐标从 Dealul Piscului 1970 坐标参考系转换为 wgs84

[英]Convert coordinates from Dealul Piscului 1970 coordinate reference system to wgs84

目标是将多边形从过时的罗马尼亚 Dealul Piscului 1970 坐标参考系统转换为 WGS-84。 问题 - 使用像 pro.net 这样的可用库(我使用 .NET nugets),转换后我有正确的几何形状,但位置完全错误。

这是我尝试进行转换的代码:

string wkt25831 = "PROJCS[\"Dealul Piscului 1970/ Stereo 70\",GEOGCS[\"Dealul Piscului 1970\",DATUM[\"Dealul_Piscului_1970\",SPHEROID[\"Krassowsky 1940\",6378245,298.3],TOWGS84[28,-121,-77,0,0,0,0]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4317\"]],PROJECTION[\"Oblique_Stereographic\"],PARAMETER[\"latitude_of_origin\",46],PARAMETER[\"central_meridian\",25],PARAMETER[\"scale_factor\",0.99975],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_northing\",500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AUTHORITY[\"EPSG\",\"31700\"]]";

var gcsWgs84 = GeographicCoordinateSystem.WGS84;

var cf = new CoordinateSystemFactory();
var f = new ProjNet.CoordinateSystems.Transformations.CoordinateTransformationFactory();
var sys32639 = cf.CreateFromWkt(wkt25831);

var transformTo3857 = f.CreateFromCoordinateSystems(sys32639, gcsWgs84);
double[] fromPoint = { latitude, longitude };
double[]? xy = transformTo3857.MathTransform.Transform(fromPoint);

return new CoordinatePoint(xy[0], xy[1]);

//请忽略某些字段名称可能没有正确的数字,因为我是这方面的新手。

此代码将从以下坐标转换:经度:605057.24196916714,纬度:361091.237746394

为此:“long”:46.930562111606726,“lat”:23.173950579639786

但正确的是:“long”:26.325139519105466,“lat”:44.741816543663873

假设这里的准确性并不重要,这个点移动得如此之大,以至于罗马尼亚不是卢森堡某处的多边形......

我也尝试过 - new CoordinateSystemFactory().CreateFromXml("...xml from epsg.io for 1970 crs..."); 但它抛出未实现的异常。

在线翻译正确完成这项工作: https://epsg.io/transform#s_srs=31600&t_srs=4326&x=605057.2419692&y=361091.2377464

所以我的问题 - 是否可以使用 pro.net 或者是否有任何其他方法可以手动转换坐标(使用数学计算)以获得 WGS84?

好的,看起来我找到了可行的解决方案。 不幸的是,ProjNet nuget 没有按预期工作,但 Proj4 做得很好。 以下是带有示例的完整说明: https://www.codeproject.com/Tips/1072197/Coordinate-Transformation-Using-Proj-in.NET

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM