我关注了这篇文章https://docs.microsoft.com/en-us/ef/core/modeling/spatial但没有工作。
var seattle = new Point(-122.333056, 47.609722) { SRID = 4326 };
var redmond = new Point(-122.123889, 47.669444) { SRID = 4326 };
var distance = seattle.ProjectTo(2855).Distance(redmond.ProjectTo(2855));
此代码返回距离 = 17062 米
从网站距离计算器我得到距离 = 17.02 公里
对于文章中的示例,距离大致相同。
但是如果我选择这个坐标:
var seattle = new Point(1.230469, 19.973349) { SRID = 4326 };
var redmond = new Point(17.753906, 19.642588) { SRID = 4326 };
var distance = seattle.ProjectTo(2855).Distance(redmond.ProjectTo(2855));
此代码返回距离 = 1926891 米
从网站,距离 = 1,728 公里
相差约200米。我在其他位置进行了测试,结果更糟
文章中有评论://不同的数据需要不同的坐标系。
这是什么意思?我应该使用 2855 以外的其他坐标系吗?哪一个?