首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将坐标转换为WGS84

将坐标转换为WGS84
EN

Stack Overflow用户
提问于 2016-02-14 16:31:01
回答 3查看 1.4K关注 0票数 1

我有下面的函数,它在给定质心的情况下绘制一个圆,但我希望坐标为WGS84。

代码语言:javascript
复制
var coords = new List<Tuple<double, double>>();
const double EARTH_RADIUS_NM = 3437.670013352;
var lat = (latIn * Math.PI) / 180;
var lon = (lonIn * Math.PI) / 180;
double d = radiusIn / EARTH_RADIUS_NM;
for (int x = 0; x <= 360; x++)
{
    double brng = (x * Math.PI) / 180; 
    var latRadians = Math.Asin(Math.Sin(lat) * Math.Cos(d) + Math.Cos(lat) * Math.Sin(d) * Math.Cos(brng));
    var lngRadians = lon + Math.Atan2(Math.Sin(brng) * Math.Sin(d) * Math.Cos(lat), Math.Cos(d) - Math.Sin(lat) * Math.Sin(latRadians));

    coords.Add(new Tuple<double, double>(latRadians, lngRadians));
}
EN

回答 3

Stack Overflow用户

发布于 2016-02-15 18:44:15

您说转换为WGS84,但是从哪里转换呢?

看看像http://www.gdal.org/http://dotspatial.codeplex.com/这样的东西(如果您正在使用数据库中的空间支持,也可以这样做)。

这份关于地理信息系统的答案将有助于解释WGS84 / EPSG:4326

https://gis.stackexchange.com/questions/23690/is-wgs84-itself-a-coordinate-reference-system

当您的圆变成椭圆时,这将有所帮助:)

SQL Server Circle

票数 1
EN

Stack Overflow用户

发布于 2016-02-14 17:25:41

编辑**:很抱歉我一开始就误解了这个问题。我不太理解您的命名约定,所以我不会一开始就写代码。此外,我是一个微分几何爱好者,所以笑话都在我身上…

首先,我们看一下任何球体表面上的距离:

作为对坐标的提醒:R≥0,0≤θ≤π和0≤φ< 2π。( ==纬度,==经度)现在,由于我们的位移ds,被限制在表面上,所以我们有dr,==,0,θ,dr,φ。我们还可以考虑距离点a= r,0,0的距离为ds的圆盘

然后,这些点必须满足ds == r dθ,它给出b= r,ds/r,0。这很简单,因为φ实际上是什么并不重要,它可以从0到2π,这个距离保持不变,所以任何点b= r,ds/r,φ都在我们寻找的坐标圆盘上。

所以如果我们从a=r开始,你可能会问,为什么不通过添加变换向量t= 0,-θ,-φ,a= r,0,θ,φ,愿原力与你同在

票数 0
EN

Stack Overflow用户

发布于 2020-04-24 21:51:23

这个可能对其他人有用的老问题的答案是,弧度的结果需要转换回度数。

代码的以下部分将度数转换为弧度:

代码语言:javascript
复制
var lat = (latIn * Math.PI) / 180;
var lon = (lonIn * Math.PI) / 180;

在将结果添加到列表之前,需要将它们转换回度数:

代码语言:javascript
复制
var latDegrees = (180/Math.PI) * latRadians;
var lngDegrees = (180/Math.PI) * lngRadians;

coords.Add(new Tuple<double, double>(latDegrees, lngDegrees));

已确认在Mapview中工作:

有关更多信息,请参阅http://www.edwilliams.org/avform.htm的简介部分

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35389834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档