米到十进制度。高精准度

时间:2016-06-14 14:11:12

标签: java gis geospatial jts

我正在开发一种用于Java精确度的GPS工具。 我对Lat Lon有一点意见,需要建立一个具有一定半径的圆。

有很多这样的问题,但在我的情况下,半径通常在10米左右,+ -5米,我需要它超级精简。

为了构建一个圆圈,我使用了JTS

有一个代码示例:

    import com.vividsolutions.jts.geom.*;



    public static final int SRID = 4326;
    public static PrecisionModel precisionModel = new PrecisionModel(PrecisionModel.maximumPreciseValue);
    public static GeometryFactory geometryFactory = new GeometryFactory(precisionModel, SRID);

    public static Polygon createCircle(Point initialPoint, int coverArea){

    GeometricShapeFactory gsf = new GeometricShapeFactory(geometryFactory);
    ArrayList<Point> pointsOfIntersection = new ArrayList<>();

       // double radius = getRadius(point);
        double size = 0.0001 * coverArea/100;

        gsf.setSize(size);
        gsf.setNumPoints(50);
        gsf.setCentre(point.getCoordinate());
        Polygon circle = gsf.createCircle();

       return circle;
      }

基本上我有一个带坐标的中心点,并且会得到一个基于该点(5 - 20米)的直径,之后我需要将该半径调整为coverArea系数(1 - 100%)并设置十进制度的圆的大小。

目前我使用0.0001值进行测试,其中wikipedia的值约为10.247米。

所以我需要一个简单有效的公式来将米转换为十进制度。

1 个答案:

答案 0 :(得分:0)

十进制度数的精度取决于您使用的小数点数。

https://en.wikipedia.org/wiki/Decimal_degrees

只需使用更多来实现您所需要的(5-15米长)。