簡體   English   中英

MathTransform在Android項目中不起作用:“類型java.awt.geom.Point2D $ Double無法解析。”

[英]MathTransform doesn't work in Android project: “The type java.awt.geom.Point2D$Double cannot be resolved.”

我需要使用GeoTools轉換坐標。 我的代碼在Java項目中工作正常,但是當我將其放入Android時,我在mathTransform.transform(...)行收到錯誤消息:“類型java.awt.geom.Point2D $ Double無法解析。它是從所需的.class文件間接引用”。 這是我的代碼:

CoordinateReferenceSystem sourceCrs = CRS.decode("EPSG:3765");
    CoordinateReferenceSystem targetCrs = CRS.decode("EPSG:4326");
    boolean lenient = true;
    double x, y;
    MathTransform mathTransform = CRS.findMathTransform(sourceCrs, targetCrs, lenient);

    parts = result.split(" ");
    String coors = "";
    for (int i = 0; i < parts.length; i += 2) {
        x = Double.parseDouble(parts[i]);
        y = Double.parseDouble(parts[i+1]);

        DirectPosition2D srcDirectPosition2D = new DirectPosition2D(sourceCrs, x, y);
        DirectPosition2D destDirectPosition2D = new DirectPosition2D();

        mathTransform.transform(srcDirectPosition2D, destDirectPosition2D);

        x = destDirectPosition2D.x;
        y = destDirectPosition2D.y;

        coors += x + " " + y + " ";
    }

    System.out.println(coors + ";");

現在,我發現了一個可以解釋其原因的問題: 無法在Eclipse中導入Java awt ,但是解決方案是什么?

解決辦法是什么?

您無法使用此JAR,而是找到了一些其他適用於Android的類似庫。

或者,您也可以閱讀之前使GeoTools在Android上運行的嘗試

或者,您可以將代碼更改歸還給項目,從而消除對java.awt類的引用,而用在庫本身中實現的算法替換該代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM