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
