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

Re: [Orekit Developers] [SOCIS] New snapshot

Alexis Robert <alexis.robert@gmail.com> a écrit :


Hello Alexis,

I've just released a new snapshot for Orekit on the forge. You can download
it here :

New changes since the since snapshot :

Thanks a lot. I'll look at it soon.

* Add a 2D plot of the orbit in the Event part
* A bit more optimized for Android 3.x (using the holographic theme and the
native actionbar when Honeycomb and later is detected)
* The "black boxes" issue is now fixed on Android 3.x
* The semaphore which locks Orekit calls has been removed and has been
replaced by a Wakelock which ensures that your device won't go to sleep and
pauses the computation if the screen goes off.
* New OrbitView class which can show orbits in a tabular way for nicer
compute results display.
* Now TLEExampleSource fetchs sample data from Celestrak.com
* The next button on Vector3D fields in the "Frame conversion" part should
be fixed now (except on Android 3.x and I just figured it out)
* It doesn't automatically click on "Ok" when you select a favorite
anymore, allowing you to change a the details of the orbit before applying

Wow, this is impressive. You have clearly done a lot of work.

Just a little word about the 2D plot : I was trying to finish it for the
SOCIS deadline so it can be a little bit unefficient or not properly
designed, but it works and I didn't feel it to be particularly slow with 2
to 3 days propagation. It slows down for 1 month propagation but you can
still scroll with a 1 - 2 sec lag on a Nexus One.

If you want to make an EventDetector support plotting, you just need to
make the EventDetector implement the GraphableEvent interface, which will
make you implement two methods : getGraphStyle() and getGraphTitle().
getGraphStyle() will return a Paint object which correspond to the event
state color, and getGraphTitle() is the title so you can select the graph
to display if you have multiple events.

Then, the class "Grapher" will implement OrekitFixedStepHandler and will
route the handleStep events to multiple instances of Grapher.GraphContext.
Grapher.GraphContext which will store the points (Grapher.GraphPoint to
store the paint along the position) and has a render(Canvas c) method which
plots the graph on the selected canvas (with the background map layer)

By the way, I don't know if it's normal but I think I failed using the
Mercator projection. When I use a Visibility detector for a station in
Paris, I get a circle which is not centered in Paris at all, but more in
Russia. The y coordinate seems plausible. (The map layer is using Mercator

This may be due to a confusion in frames. Did you use an Earth frame (like ITRF 2005) or an inertial frame ? The Z axis of both frames are almost aligned (along North pole), but the X and Y axis are Earth fixed for the former and star fixed for the latter, this induces shifts in longitude, which depend on time. I'm not sure however that this is the problem since the shift in your case seems to be time-independent.

Also, I just remember I forgot to add a detection when the object has done
a 360° rotation, so you have weird horizontal lines because it will still
joins the points.

About Android 3.x : I went to the Android Developer Days last Friday about
programming for tablets and Google & Samsung gave each one of us a Galaxy
Tab 10.1 so beside behing pretty happy, I could finally try to optimize the
application for tablets. Yes I got it at the exact last day of the SOCIS :)
There is still a fallback mode for Android 2.x which renders the same as
before, but on Android 3.x it can still render weirdly. Using the native
Actionbar was mandatory because the home-made one rendered badly with the
Holographic theme (the native theme for Android 2.x). Also I currently
don't understand why the edit boxes are still boxes and not a nice line
like on every app adapter for Android 3.x. I can still revert these changes
if you want.

Have a nice day :)

Thanks again for your hard work. You've done a tremendous job.



This message was sent using IMP, the Internet Messaging Program.