Tag: 坐标

在Redis中存储和检索坐标数据

我使用Redis作为caching系统来存储数据,以避免在API上不必要的消耗。 我在想的是在从API获得结果之后,将坐标(例如作为关键字)和数据存储在Redis上,然后再次使用外部API,然后在Redis中传递新的坐标检查与保存的坐标(以米为单位)相匹配,如果匹配,则将存储的数据带给我。 我已经search了至less1小时,找不到符合我需要的相关结果。 例如, GEOADD无法帮助我,因为它不会由Redis自动过期。 唯一的解决scheme是将坐标存储为带有json值的键(例如: -51.356156,-50.356945 ),如果与其他坐标匹配,则使用函数式编程检查所有键(坐标)。 但它不雅,也performance不佳。 有任何想法吗? 我在NodeJS(Express)中使用Redis。

极坐标至笛卡尔坐标function不输出正确的数据

我有一个纬度/经度和海拔的飞行路线,我需要将它转换为cartesin X,Y,Z for cesium.js。 我正在跑到墙上试图转换这个,因为我似乎没有从我的function得到正确的结果。 var R = 6371; function polarToCartesian(latitude, longitude, elevation){ x = (R+elevation) * math.cos(latitude) * math.cos(longitude); y = (R+elevation) * math.cos(latitude) * math.sin(longitude); z = (R+elevation) * math.sin(latitude); var ar = [x,y,z]; return ar; } 我不能有正确的极地笛卡尔公式,或者我没有正确的地球半径。 我发现我的半径应该是6371,但似乎无法find相同的问题作为参考。 我部分地检查我的代码是否正确,方法是在给定位置手动添加地球的半径+飞行path的高度,并查看是否等于我的x,y,z向量的长度。 例如:x,y,z (3689.2472215653725,3183.2401988117012,13306.90338789763)是我输出的时候输出的 -93.028,44.6942,7800 纬度,经度,海拔 有人可以指出我find正确的JS代码来完成这个转换?