这是我的Java实现:
private static double[] pointRadialDistance(double lat1, double lon1,
double radianBearing, double radialDistance) {
double lat = Math.asin(Math.sin(lat1)*Math.cos(radialDistance)+Math.cos(lat1)
*Math.sin(radialDistance)*Math.cos(radianBearing));
double lon;
if(Math.cos(lat) == 0) { // Endpoint a pole
lon=lon1;
}
else {
lon = ((lon1-Math.asin(Math.sin(radianBearing)*Math.sin(radialDistance)/Math.cos(lat))
+Math.PI) % (2*Math.PI)) - Math.PI;
}
return (new double[]{lat, lon});
}
Run Code Online (Sandbox Code Playgroud)
我将度数轴承转换为弧度,并在调用函数之前将距离(km)转换为弧度距离 - 这不是问题所在.
但是,当我输入坐标时:lat = 49.25705; lon = -123.140259; 轴承225(西南),距离1km
我得到了这个:lat:-1.0085434360125864 lon:-3.7595299668539504
它显然不正确,谁能看到我做错了什么?
谢谢
我在数据库中有多个坐标用于多边形.我的数据库中也有标记的坐标.如何检测标记是否在此多边形内.
注意:我使用cronjob移动标记,在这个cronjob中需要检测它.所以javascript没有涉及!
多边形的形状不仅仅是圆形或方形.它可以是例如国家或海洋.
我有2个坐标.坐标1是"人".坐标2是目的地.
如何将坐标1 100米移近坐标2?
这将用于cron作业,因此只包含php和mysql.
例如:
人是:51.26667,3.4454
目的地是:51.575001,4.83889
我如何计算人物的新坐标距离100米?
这是我第一次使用OpenLayers而且我不明白我做错了什么.
我尝试显示一个从GeoJSON解析的简单点.数据似乎正确解析(我用控制台检查)但无论我给出什么点,它总是显示在我猜测我的矢量图层上的LonLat(0,0)的位置.
我究竟做错了什么 ?
var map, baseLayer, placesLayer, geojsonParser ;
// data below have been simplified and reformated to enhance readability
var geojsonData =
{
"type":"Feature",
"geometry":
{
"type":"Point",
"coordinates":[-4.0280599594116,5.3411102294922]
},
"properties":
{
"id":273,
"name":"ABIDJAN"
}
};
$(document).ready(function(){
map = new OpenLayers.Map('map');
baseLayer = new OpenLayers.Layer.OSM();
placesLayer = new OpenLayers.Layer.Vector();
geojsonParser = new OpenLayers.Format.GeoJSON();
placesLayer.addFeatures(geojsonParser.read(geojsonData));
map.addLayers([baseLayer,placesLayer]);
map.setCenter(
new OpenLayers.LonLat(-4, 5.3).transform(
new OpenLayers.Projection("EPSG:4326"),
map.getProjectionObject()
), 5
);
}); // document ready
我在以下坐标系中有一点:
Java AWT:
0,0|------------------------|
| |
| (middle p. 400,300) |
| |
|------------------------|800,600
Run Code Online (Sandbox Code Playgroud)
我想将其转换为以下系统:
OpenGL的
50,50|------------------------|
| |
| (middle p. 0,0) |
| |
|------------------------|-50,-50
Run Code Online (Sandbox Code Playgroud)
不知道怎么办呢?
在Delphi VCL如果我想看到一个TStringGrid的哪个小区(列和行)我的鼠标盘旋在我会用MouseToCell.对于FireMonkey应用程序,此方法不再适用于Delphi(XE2).有谁知道我怎么能确定我的鼠标结束的细胞?OnMouseMove具有X和Y值,但这些是屏幕坐标而不是单元格坐标.
非常感谢.
我试图覆盖半径,在地图上说5公里.我有中间的坐标.
我需要一种方法来计算并给出该圆上的点的坐标.
说明:

(我需要它从我的服务器获取__Km半径内的坐标点,如果有更好的方法,请分享.ty!)
我会检查坐标是否在圆圈内是否是这样的:
(lan,lon)是一个观点.
if ((lat<x1 && lat>x2) && (lon<y1 && lon>y2))
then the point is inside the circle.
Run Code Online (Sandbox Code Playgroud)
但那么问题就是在世界某些地方它不起作用......
我糊涂了.我该怎么做雷达?
(Android应用程序)
谢谢!
对不起,所有这些问题,我真的不打算打扰你们.
但我遇到的问题是我不知道如何从pygame 函数中分割X和Y坐标get_pos,因为get_pos得到X和Y坐标在一个.
有没有办法将它们分成单独的变量?
提前致谢
我有一个原始的经度/纬度数据,其格式无法由R map处理.所以我想知道是否有一些R函数或算法来帮助我将这些原始数据转换为可读格式.(也许是UTM)这是我的原始数据:
纬度: "32-14-23 N""31-04-27 N""33-45-28 N"
经度: "121-22-38 W""119-30-05 W""122-47-52 W"
我希望将格式转换为(下面的示例是模拟数据):
经度: -2.748
纬度: 53.39
有没有人知道获得一对纬度和经度点的中点的最佳方法?
我使用d3.js在地图上绘制点并需要在两点之间绘制一条曲线,所以我需要创建一个中点来绘制线条中的曲线.
请参阅下面的图片,以便更好地了解我要做的事情:

coordinates ×10
google-maps ×2
java ×2
mysql ×2
php ×2
point ×2
algorithm ×1
android ×1
awt ×1
bearing ×1
d3.js ×1
delphi ×1
firemonkey ×1
geo ×1
geography ×1
geojson ×1
geolocation ×1
ggmap ×1
ggplot2 ×1
gps ×1
javascript ×1
math ×1
mouse ×1
opengl ×1
openlayers ×1
polygon ×1
pygame ×1
python ×1
python-3.x ×1
r ×1
tstringgrid ×1
vector ×1