gpt4 book ai didi

kml - 使用 pyephem 检索的卫星轨迹的可视化已关闭

转载 作者:行者123 更新时间:2023-12-02 02:29:43 26 4
gpt4 key购买 nike

使用下面的代码,并使用 pyephem 和 fastkml,我想从 TLE 中提取卫星的地面轨迹。代码如下:

import numpy as np
import ephem
import datetime as dt
from fastkml import kml
from shapely.geometry import Point, LineString, Polygon

name = "ISS (ZARYA)"
line1 = "1 25544U 98067A 16018.27038796 .00010095 00000-0 15715-3 0 9995"
line2 = "2 25544 51.6427 90.6544 0006335 30.9473 76.2262 15.54535921981506"

tle_rec = ephem.readtle(name, line1, line2)

start_dt = dt.datetime.today()
intervall = dt.timedelta(minutes=1)

timelist = []
for i in range(100):
timelist.append(start_dt + i*intervall)

positions = []
for t in timelist:
tle_rec.compute(t)
positions.append((tle_rec.sublong,tle_rec.sublat,tle_rec.elevation))

k = kml.KML()
ns = '{http://www.opengis.net/kml/2.2}'
p = kml.Placemark(ns, 'Sattrack', 'Test', '100 Minute Track')
p.geometry = LineString(positions)#, tesselate=1,altitudemode="absolute")
k.append(p)

with open("test.kml", 'w') as kmlfile:
kmlfile.write(k.to_string())

遗憾的是,当我将 kml 加载到 Google Earth 中时,轨迹如下所示: Alleged track of ISS

有什么想法哪里出了问题吗?

最佳答案

您的地面轨迹是围绕 0°N(赤道上)和 0°E(格林威治正南,靠近几内亚湾)位置的环路。这表明您正在使用以弧度表示的角度,其值最多可达 6.2 左右,并将它们传递给 map 软件,该软件将它们读取为度数。

您应该首先尝试将它们转换为度数:

positions.append((tle_rec.sublong / ephem.degree,
tle_rec.sublat / ephem.degree,
tle_rec.elevation))

关于kml - 使用 pyephem 检索的卫星轨迹的可视化已关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34852806/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com