Hello Weilun

Welcome! Below is a few comments:

(note: since this is a public mailing list, it may be a little bit risky
to post here your personal information; I recommend that you keep those
coordinates in your project proposal document).

Le 07/03/2017 à 18:03, 熊伟伦 a écrit :
> The project proposal and schedule in:
> https://github.com/Azard/apache-sis-android/wiki/Proposal

I suggest to organize the document in a way similar to
http://write.flossmanuals.net/gsocstudentguide/writing-a-proposal/ page:
title, synopsis, benefits to the community, problems to resolve,
deliverable, related work, bibliographical information. You already
listed the main problems to resolve in your proposal; the document can
be completed with information you posted in your email.

On the JAXB task, there is actually more than 500 classes using JAXB
classes or annotations in Apache SIS. The "org.apache.sis.internal.jaxb"
package alone contains about 145 classes. So the JAXB issue is probably
the most difficult task of this project. We can not replace XML by JSON
because the intend is to support the XML format described by the ISO
19139 international standard. If there is no practical solution that can
read and write this XML format, then it may be better to just drop JAXB
without replacement on the SIS Androis branch.

The Java2D task is easier. Java2D usage in SIS is currently limited (we
do not use java.awt.Graphics2D yet). The main classes are
java.awt.Shape, java.awt.geom.Point2D, java.awt.geom.Line2D,
java.awt.geom.Quad2D, java.awt.geom.Rectangle2D and
java.awt.geom.AffineTransform. I presume that Android has some
equivalent classes.

On EPSG database, one task will be to test that the SQL queries executed
by Apache SIS are compatible with SQLite. This particular task can be
done directly on the main SIS branch instead than the Android branch,
because SQLite support is of wide interest (not just Android).

Another task is to document the changes needed for Android support, so
future maintainers know how to incorporate future SIS developments in
the Android branch.

Finally, SIS had an old Android branch with a "sis-android" module, but
that work never seriously started. It can be used as inspiration if
useful, but it is probably better to start a new branch from scratch.

    Martin


Reply via email to