我正在开发一种用于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米。
所以我需要一个简单有效的公式来将米转换为十进制度。
答案 0 :(得分:0)