谁帮58同城做的网站,建筑模板有几种,电子工程信息建设网,wordpress 定向次数过多1.背景
国产化趋势越来越强#xff0c;从软件到硬件#xff0c;从操作系统到CPU#xff0c;甚至显卡#xff0c;就产生了在国产ARM CPU和Kylin系统下部署Orekit的需求#xff0c;且之前的开发是基于Python的#xff0c;需要做适配。
2.X86架构下安装Python/Orekit开发环…1.背景
国产化趋势越来越强从软件到硬件从操作系统到CPU甚至显卡就产生了在国产ARM CPU和Kylin系统下部署Orekit的需求且之前的开发是基于Python的需要做适配。
2.X86架构下安装Python/Orekit开发环境
比较简单参考Orekit官网介绍通常通过conda建好Python虚拟环境后直接通过 conda install conda-forge::orekit 命令一般就能顺利安装成功。建议选择Python3.9以上的版本。
参考https://anaconda.org/conda-forge/orekit
3.Linux/aarch64架构下安装Python/Orekit开发环境
本人走了很多弯路有尝试失败或耐心不足中途放弃等原因仅作参考重点在第4条前面废话。
1首先在linux/aarch64环境下执行conda install conda-forge::orekit会提示找不到包的。 基本符合预期参考https://anaconda.org/conda-forge/orekit页面上介绍只提供了linux-64、win-64、osx-arm64、osx-64这四种架构(2025年5月)后两个时苹果系统前两个分别时Linux和windows的x64架构。
2在第1步失败后了解到可以通过conda build命令自己本地编译但是由于目前官方的代码没有适配linux/aarch64还需要修改环境且还有jcc、jdk等依赖需要安装和配置折腾了大半天最终放弃。
3后来看到https://github.com/petrushy/orekit_python_artifacts这个链接想着通过提示的“mvn -B package -Ppython-jar --file pom.xml”能够编译出安装包由于对内容不熟悉对Java不熟悉瞎折腾后也放弃没有找到pom.xml从orekit的仓库下瞎拷贝过来的也不太行编译不过...
4重点 突然在anaconda.org还是在orekit.org搜索orekit看到了orekit_jpype这个包特别是在https://gitlab.orekit.org/orekit/orekit_jpype/-/tree/master 还有详细示例并且不限定架构还能够通过conda安装大喜 遂尝试且通过于是产生了这篇奔走相告的博客。总而言之建议在Linux/aarch64架构通过“conda install conda-forge::orekit_jpype”命令安装安装完成后参考https://gitlab.orekit.org/orekit/orekit_jpype/-/tree/master 仓库下的示例进行验证如果偷懒的话参考后面的简单验证代码。
conda install conda-forge::orekit_jpype
4.Linux/aarch64架构下orekit_jpype环境验证代码
如果以下代码执行没有报错或异常那么恭喜你
import orekit_jpype as orekit
orekit.initVM()from orekit_jpype.pyhelpers import setup_orekit_data
需要提前安装orekit-data 或者通过setup_orekit_data(../orekit-data) 使用手工下载的数据路径
setup_orekit_data() from jpype import JImplements, JOverridefrom org.hipparchus.geometry.euclidean.threed import RotationOrder
from org.hipparchus.geometry.euclidean.threed import Vector3D
from org.hipparchus.ode.events import Actionfrom org.orekit.attitudes import AttitudeProvider;
from org.orekit.attitudes import AttitudesSequence;
from org.orekit.attitudes import LofOffset;
from org.orekit.bodies import CelestialBodyFactory, OneAxisEllipsoid;
from org.orekit.errors import OrekitException;
from org.orekit.frames import FramesFactory;
from org.orekit.frames import LOFType;
from org.orekit.orbits import KeplerianOrbit;
from org.orekit.orbits import Orbit;
from org.orekit.propagation import Propagator;
from org.orekit.propagation import SpacecraftState;
from org.orekit.propagation.analytical import EcksteinHechlerPropagator;
from org.orekit.propagation.events import EclipseDetector;
from org.orekit.propagation.events import EventDetector;
from org.orekit.propagation.events.handlers import EventHandler
from org.orekit.propagation.sampling import OrekitFixedStepHandler
from org.orekit.time import AbsoluteDate;
from org.orekit.time import TimeScalesFactory;
from org.orekit.utils import Constants, IERSConventions, AngularDerivativesFilter
from org.orekit.utils import PVCoordinates;
from org.orekit.utils import PVCoordinatesProviderinitialDate AbsoluteDate(2004, 1, 1, 23, 30, 00.000, TimeScalesFactory.getUTC())
position Vector3D(-6142438.668, 3492467.560, -25767.25680);
velocity Vector3D(505.8479685, 942.7809215, 7435.922231);
initialOrbit KeplerianOrbit(PVCoordinates(position, velocity),FramesFactory.getEME2000(), initialDate,Constants.EIGEN5C_EARTH_MU);
print(initialOrbit)5.参考链接
1、orekit_jpype示例
https://gitlab.orekit.org/orekit/orekit_jpype/-/blob/master/examples/Example_EarthObservation_-_Attitude_Sequence-jpype.ipynb
2、orekit-feedstock https://github.com/petrushy/orekit-feedstock https://github.com/conda-forge/orekit-feedstock https://anaconda.org/conda-forge/orek 3、orekit_jpype-feedstock https://anaconda.org/conda-forge/orekit_jpype //for conda https://gitlab.orekit.org/orekit/orekit_jpype/-/tree/master //官网 https://github.com/conda-forge/orekit_jpype-feedstock //fork