问题标签 [wgs84]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
532 浏览

d3.js - 由于缩放和变换导致的 D3 和 topojson Nan 错误

我的代码:

我收到错误:

由于访问源策略,我无法创建小提琴。 http://jsfiddle.net/338bowdr/3/

如果我缩放到 9000 并使用坐标,我不会收到任何错误。

状态.特征:

在此处输入图像描述

0 投票
2 回答
2618 浏览

c++ - 为什么 boost::geometry 地理文森蒂距离在赤道附近不准确?

我需要一个函数来高精度计算一对WGS 84位置之间的距离,并且我计划使用boost geometry 中geographic的函数。

升压几何 Design Rational状态:

有 Andoyer 方法,快速而精确,还有 Vincenty 方法,速度更慢,更精确。

但是,当同时使用和策略测试boost::geometry::distance函数时,我得到了以下结果:AndoyerVincenty

沿长半轴(即围绕赤道)的Vincenty距离小于围绕北极和南极之间的短半轴的距离。那不可能是正确的。

Semiminor 和Andoyer距离看起来很合理。除非这些点位于地球的另一侧,否则boost Andoyer函数返回零!

问题出在:Vincenty算法,boost geometry它的实现,还是我的测试代码?

测试代码:

0 投票
1 回答
1939 浏览

c# - C# 方位角和距离计算(使用文森蒂公式)导致 NaN?

在运行结果为 NaN 时,按照本文计算从纬度和经度到方位和距离的点?

下面的文章:

给出了一种使用 Vincenty 公式计算椭球地球模型目标点的方法:

将起点纬度“lat1”(在 -90 到 90 范围内)转换为弧度。lat1 = lat1 * PI/180 将起点经度“lon1”(在 -180 到 180 范围内)转换为弧度。lon1 = lon1 * PI/180 将方位角“brg”(在 0 到 360 范围内)转换为弧度。brg = brg * PI/180 椭球地球模型

注意:下面的变量“flat”表示在各种椭球模型中使用的地球极地展平。对于常用的 WGS-84,令 flat = 298.257223563。

给定以米为单位的距离 s,以米为单位的半长轴“a”,以米为单位的半短轴“b”和极地展平“平”。使用文森蒂公式计算目的地点。使用缩短的变量名称。

循环遍历以下 while 条件为真。

循环后继续计算。

如果 lon2 超出 -180 到 180 的范围,则加或减 360 使其回到该范围内。如果 finalBrg 或 backBrg 超出 0 到 360 的范围,则加或减 360 以使它们回到该范围内。注意:上面的变量'a'、'b'和'flat'有如下关系:

所以将这个公式移植到 c# 我最终得到:

但是当运行结果为 lat2 和 lon2 的 NaN 时?

预期结果应该是:

纬度:50°23′02″N 50.38384479 经度:3°55′49″W -3.93037298 最终轴承:224°59′32″ 224.99234101 后轴承:44°59′32″ 44.99234101

c# calc 是否做了一些不同的事情,我在那里犯了一个我看不到的错误:(

谢谢

0 投票
2 回答
282 浏览

javascript - AngularJS 将地理坐标从 Lambert 2 转换为 WSG84

现在我有Lambert 2的地理坐标,就像这样

为了在谷歌地图中显示这个地方,我需要WSG84的相关地理坐标,像这样

是否有包含此功能的 angularjs 库?提前致谢。

0 投票
2 回答
3111 浏览

r - 使用包 SP 在 R 中进行数据投影

我试图在 R 中投影我的 GPS 数据时有点卡住了。

我正在阅读 R 包“T-LoCoH”的小插图中的教程,并使用这些说明尝试将我的数据从 WGS84 投影到 UTM37(埃塞俄比亚区域)。

我的数据集称为“d”,坐标位于称为“经度”和“纬度”的列中。

你能告诉我我做错了什么吗?

另外,如果我的数据集中有更多列,我如何指定我只想将数据投影到包含纬度和经度的 2 列中?

我将非常感谢您的帮助。

谢谢,林迪

0 投票
1 回答
139 浏览

google-maps - 将坐标转换为谷歌地图

我想找到以下坐标在谷歌地图上的位置。

我知道谷歌地图在 WGS 84 标准中工作,但是,我无法弄清楚这个坐标在什么标准下工作。一直在无助地寻找互联网,但我找不到可靠的来源:

知道如何将它们转换为 WGS 84 吗?谢谢

0 投票
1 回答
1148 浏览

gdal - 使用 gdalwarp 从 wgs84 转换为 EPSG:3857 不覆盖世界

我正在使用 gdal 1.10 和 2.1.1。

我在 WGS84 中有一个 VRT 数据源,我将角坐标强制设置为 EPSG:3857 (-180,85.5,180,-85.5) 的最小值/最大值。

此 VRT 的 gdalinfo 输出如下所示:

基本上,我的世界减去了两极。

现在我想将其转换为 EPSG:3857。

我为此使用 gdalwarp,使用双线性插值:

在 wmerc 上运行 gdalinfo 然后给出:

请注意,左上/下角的角坐标看起来正确,但右上/下角(经度)的角坐标缺少 32 个单位。广义地说,我在右侧缺少一条条子,但仅与坐标有关。数据在那里,但右边的坐标似乎是错误的。

这是为什么?

可以使用 gdal_translate 修改坐标以匹配世界(纵向),但我担心我在这里忽略了其他可能会回来咬我的东西。

0 投票
1 回答
1222 浏览

shapefile - 将坐标从 SVY21 转换为 WGS84

我正在尝试将我必须的 SVY21 坐标转换为 WGS84 坐标系。

我尝试使用GDAL 软件并在安装后将以下内容粘贴到命令中: ogr2ogr -f GeoJSON –t_srs WGS84 <jsonFileName>.json <shapefile>.shp

它导致失败:

无法使用以下驱动程序打开数据源“WGS84”

并列出了驱动程序。

我也尝试使用 python utm 包将 N48 utm 坐标转换为 WGS48,但我没有设法将 SVY21 坐标转换为 N48 utm 参考点。

我发现这篇旧帖子中提出的解决方案在术语方面令人困惑,我更喜欢使用一些现有的解决方案。

是否有一个“简单”的解决方案可以利用我以前的方法或快速适用于我的问题?如果有人可以更准确地解释旧帖子中的方法,我也会很高兴。

提前致谢。

编辑:我尝试编写一个 python 脚本,从前面提到的“旧帖子”中实现 vicenty 直接计算。如果有人可以确认从原始 svy21 (e,n) 中减去投影原点的错误坐标 (28001.642mE,38744.572mN) 并使用投影原点(未标记点)(103° 50' 00",这也会有所帮助, 1° 22' 00") 是正确的。

0 投票
2 回答
2132 浏览

c++ - WGS84中2个“线性”移动物体之间的碰撞检测

[由 Spektre 完成重新编辑] 基于评论

我有两个 3D 起点和速度矢量(WGS84)我如何检查它们是否在某个指定时间内以 3D 形式发生碰撞?

样本输入:

在这里正确地将位置转换为笛卡尔坐标(使用下面链接的在线转换器):

这些使用我从下面链接的 QA 进行的转换(差异可能是由不同的椭球和/或浮点错误引起的):

我的问题是:如何检测物体是否会碰撞以及何时发生碰撞?

我真正需要的是如果在某个指定时间内发生碰撞,例如_min_t.

当心速度是在[km/h]局部North,East,High/Up向量的方向上!有关将此类速度转换为笛卡尔坐标的更多信息,请参阅相关:

要验证/检查 WGS84 位置变换,您可以使用以下在线计算器:

如果可能的话,我想避免使用网格、基元或类似的东西。


这是安德烈试图解决这个问题(基于我的回答,但缺少速度转换)从原始帖子中留下:

这应该是有效的笛卡尔变换位置和速度,但由于x, y, z参数顺序错误而错误变换。上面的数据是正确的lon, lat, altx, y, z这显然不是:

更不用说速度仍然不在笛卡尔空间上......

编辑:新测试用例

另一个测试用例:

测试用例 3 碰撞时间为 0

最后一个测试案例:

最终测试用例:

最终代码:

0 投票
2 回答
3226 浏览

math - 如何将球面速度坐标转换为笛卡尔坐标

我有一个高度、经度、高度的速度向量,我想将其转换为笛卡尔坐标 vx,vy,vz。格式来自 WGS84 标准。

这是公式