如果我有标准NMEA格式的纬度或经度读数有一个简单的方法/公式将该读数转换为米,然后我可以用Java(J9)实现?
编辑:好吧似乎我想做的事情不容易,但我真正想做的是:
假设我有一个lat和一个长途的点和一个lat和很长的用户有一个简单的方法来比较它们来决定何时告诉用户他们在一个合理的距离点的方式点?我觉得合理是主题,但是这很容易做到还是仍然过于数学?
我想在谷歌地图视图上的我的位置显示一个箭头,显示我相对于目的地位置(而不是北方)的方向.
a)我使用磁力计和加速度计的传感器值计算了北方.我知道这是正确的,因为它与谷歌地图视图中使用的指南针对齐.
b)我使用myLocation.bearingTo(destLocation)计算了从我的位置到目的地位置的初始方位;
我错过了最后一步; 从这两个值(a和b)我用什么公式来得出手机相对于目的地位置的方向?
感谢任何有关心灵的帮助!
我使用Google Maps API创建了一张地图,突出了所有明尼苏达州的县.基本上,我使用一组经度/纬度坐标创建了县多边形.这是生成的地图的屏幕截图: -
用户要求之一是能够将类似的地图作为图像,以便它们可以将其嵌入到PowerPoint /主题幻灯片中.我找不到任何有用的Google Maps API,它允许我按原样保存我的自定义地图(如果你知道一种方式,请告诉我),所以我想我应该用Java中的Graphics2D绘制它.
在阅读了将经度/纬度转换为X/Y坐标的公式后,我最终得到以下代码: -
private static final int EARTH_RADIUS = 6371;
private static final double FOCAL_LENGTH = 500;
...
BufferedImage bi = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);
Graphics2D g = bi.createGraphics();
for (Coordinate coordinate : coordinates) {
double latitude = Double.valueOf(coordinate.getLatitude());
double longitude = Double.valueOf(coordinate.getLongitude());
latitude = latitude * Math.PI / 180;
longitude = longitude * Math.PI / 180;
double x = EARTH_RADIUS * Math.sin(latitude) * Math.cos(longitude);
double y = EARTH_RADIUS * Math.sin(latitude) * Math.sin(longitude); …
Run Code Online (Sandbox Code Playgroud) java google-maps latitude-longitude cartesian coordinate-transformation
我需要在Alberta 10 TM Projection中将纬度/经度坐标转换为Easting/Northing坐标.
10 TM投影类似于UTM,但它是加拿大阿尔伯塔省的定制投影.我认为(付出一些努力)我可以自己编码,但如果已经完成,我宁愿不重新发明轮子.