[geotk] Transformation Lambert 72 -> WGS84

Martin Desruisseaux martin.desruisseaux at geomatys.fr
Tue Oct 5 04:13:57 EDT 2010


Hello Alexandre

The referencing module in Geotoolkit.org requires the java.awt.geom package. 
More specifically, the following classes are extensively used:

   * java.awt.geom.AffineTransform
   * java.awt.geom.Rectangle2D
   * java.awt.geom.Point2D

Unfortunatly Android excludes the whole java.awt package from their JVM. 
Consequently Geotk can not run on Android at this time.

I don't think we can replace the above dependencies by our own classes. In 
addition of code duplication, it would also break the Java2D interoperability 
goal (those classes appear in public method signatures). In addition, even if we 
rewrote those classes, we don't know if other missing classes would popup.

Does anyone tried to put a (potentially modified) copy of 
java.awt.geom.AffineTransform directly in their project? Would it be accepted by 
Android?

	Martin




Le 04/10/10 20:31, Alexandre a écrit :
> Je me permets de vous contacter suite à une discussion sur votre channel irc
> (merci acuster). J'aimerai transformer des coordonnées d'un service web à
> Bruxelles venant au format Lambert 72 en WGS84 pour les afficher dans une Google
> Map sur les appareils Android.
>
> Je pense avoir le code correct pour ce faire :
>
>   CoordinateReferenceSystem sourceCRS = CRS.decode("EPSG:9803") ;
>   CoordinateReferenceSystem targetCRS = DefaultGeographicCRS.WGS84;
>   MathTransform tr = CRS.findMathTransform(sourceCRS, targetCRS);
>   DirectPosition sourcePt = new GeneralDirectPosition(coordinates.getDouble(0), coordinates.getDouble(1), 0);
>   DirectPosition targetPt = tr.transform(sourcePt, null);
>   System.out.println("Source point: " + sourcePt);
>   System.out.println("Target point: " + targetPt);
>
> Mais voici que survient le gros problème de Android : Le geotoolkit.jar (extrait
> du pack) ne fonctionne pas sur Android. En fait, une autre VM est utilisé sur
> Android : La JVM "Dalvik". Erreur de "VerifyError", probablement due à la
> version java & vm de compilation du jar.
>
> En copiant collant les sources de geotoolkit dans l'appli Android, je me suis
> rendu compte que c'est le package java.awt qui pose probleme dans les sources.
>
> Donc je suis un peu perdu, que faire pour arriver à faire ma transformation de
> calcul sur Android ?
>
> Merci d'avance!
> Alexandre Gherschon


More information about the Geotoolkit mailing list