[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orekit Developers] New snapshot with new orbit parameters forms and eclipse detection



On Tue, Aug 23, 2011 at 7:38 PM, MAISONOBE Luc <luc.maisonobe@c-s.fr> wrote:
>> If I understood correctly what the profiling report said, it seems to
>> be linked with the usage of the FastMath class of Apache Common Math.
>> When you use FastMath.log() (which is a static method), the virtual
>> machine will call a hidden method named FastMath.<clinit> which will
>> run all the static fields of the FastMath class if it's the first time
>> you meet this class. And in FastMath.java there is a part named "//
>> Initialize tables" which use FastMath.slowexp (40.8%), FastMath.expint
>> (39.2%) (the bottleneck of expint() seems to be FastMath.quadmult() --
>> 95.6%) and FastMath.slowlog (18.2%).
>
> I understand then. It's not UTC loading per se.
> I know about this bottleneck. As I am also a developper of Apache Commons
> Math, it would be interesting to improve this. Would you mind opening an
> issue in the bug tracker at <https://issues.apache.org/jira/browse/MATH> ?
> We should discuss the problem there rather than on the Orekit lists.

The bug report is here : https://issues.apache.org/jira/browse/MATH-650

>> By the way, I have just a question : I was trying to add TLE download
>> from the web, but don't really know if there is any public web
>> services to get TLE data. I've heard of Celestrak but as I don't see
>> any API, maybe there is an other way (or maybe I didn't look far
>> enough). Is there a place where I can find that ? Thanks :)
>
> I don't know of any publicly available data with a service-like API for
> individual TLEs.
> There are web forms like celestrack, where you can download some TLEs. There
> are also complete files available for exemple from AGI
> <http://www.agi.com/resources/downloads/data/> (requires subscription).
> There are also some agreements and contracts between several space entities
> so one team can donwload files prepared by another team using authentication
> to access the server. In operational environments, special set ups will be
> the rule.
>
> Thinking further about that, perhaps we should simply rely on copy-paste
> done by uther between a web browser and Orekit, and on TLE files on the
> sdcard (using the various identifiers to select the TLE from a large file,
> as already available in Orekit).

There is also the possibility of making a simple intent named
"org.orekit.android.TLE_SOURCE" that external applications could
declare to support, and would return the two TLE lines. So it could be
easy to make an external plugin for specific deployments. Would it be
ok ?

By the way, when I told you that it is possible to add event detector
as external applications, I was wrong. The problem is deserialization.

In fact, the EventDetector object is created by the load() method and
the data serialized is only the parameters to create the
EventDetector. That means if we create an external application, it
will need to have an EventXYZProxy with its own load() method, but
when Orekit will try to deserialize this EventXYZProxy class, it will
not find the class in its classpath (and its parent EventProxy is an
abstract class with an empty load() method). Serialization is great,
but it only serialize data, not code :)

Otherwise, it would work for changing the selectors on Orekit (as we
keep the proxy classes intact), but I don't know if it's really useful
:)

Alexis