我有一个问题让我在某些项目中停滞了一段时间。
我基本上希望使用我编写的某些脚本绘制的 x、y 点来捕获多边形。纬度、经度是多边形的中心 GPS 线,我正在寻找其周围的多边形。
这是我的Python代码的一部分:
def getcords(lat, lon, dr, bearing):
lat2=asin(sin(lat)*cos(dr)+cos(lat)*sin(dr)*cos(bearing))
lon2=lon+atan2(sin(bearing)*sin(dr)*cos(lat),cos(dr)-sin(lat)*sin(lat2))
return [lat2,lon2]
Run Code Online (Sandbox Code Playgroud)
我的输入是这样的:
但是对于输入:
getcorsds1(42.189275, -76.85823, 0.5/3958.82, 30)
Run Code Online (Sandbox Code Playgroud)
我得到输出: [-1.3485899508698462, -76.8576637627568],但是这[42.2516666666667, -76.8097222222222]是正确的答案。
至于角距离,我简单地通过将英里距离除以地球半径(= 3958.82)来计算。
有人吗?
View我在将视图(我的类扩展)放置在特定位置时遇到问题。我设计了一款将屏幕视为网格的游戏。我从用户那里获取特定视图的 x 和 y 坐标(我有不同类型的视图)。
我的第一个任务是在其位置上设置正确的视图。我该怎么做?我用的RelativeLayout是屏幕。
PS我不想使用AbsoluteLayout参数,因为它被截断了。
我希望有人能为我阐明这个问题。如果给我一个点 (i, j, k),我可以制作以下立方体:
8______K_______7 1 = i , j , k
/| /| 2 = i+1, j , k
L/ | J/ | 3 = i+1, j+1, k
/ |H / | 4 = i , j+1, k
5/______I_____/6 |G 5 = i , j , k+1
| | | | 6 = i+1, j , k+1
| | | | 7 = i+1, j+1, k+1
E| 4|________|F__|3 8 = i , j+1, k+1
| / c | / …Run Code Online (Sandbox Code Playgroud) 我有一个如下所示的等边三角形网格:

现在,鉴于 2D 坐标原点是图像左下角的红点,我需要找到该三角形网格的索引。
给定输入:感兴趣点(浮点)的 X 和 Y 坐标、三角形边长和高度
需要输出:三角形的 X 和 Y 索引。(图像中看到的示例索引)
获取三角形的 Y(行)坐标很简单,因为它只是 (GivenY / TRIANGLE_HEIGHT) 的整数部分,但我无法在不进行大量操作的情况下计算所需的 X 坐标。
我搜索并找到了几个可以 执行此操作的在线网络服务,但我想知道公共领域是否有一个数据库提供标准时区线的纬度和经度列表?我希望能够在不使用网络服务的情况下计算坐标所在的时区。我认为时区边界大多是静态的,并且可能是由某个委员会决定的,因此应该在某个地方有 CSV 或 GPX 或 KML。
我希望能够检查坐标位于哪个时区,例如:
48.856667 2.350833 是 GMT+1 或 CET
standards timezone geolocation latitude-longitude coordinates
我正在尝试比较地图的纬度/经度坐标数组,以查看是否有任何“集群”或组合在一起。我想删除那些靠得太近的,所以如果地图上有 4-5 个堆叠在一起,它只会显示 1,直到你放大一点,然后它会再次重新计算所有这些。
我尝试将数组与其自身进行比较,但似乎没有给出一致的结果。以前有人尝试过类似的事情吗?
JSON 示例:
[
{
Latitude = "44.033843";
Longitude = "-79.48865499999999";
},
{
Latitude = "44.033843";
Longitude = "-79.48865499999999";
}]
Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,用户输入一个位置,我必须获取该位置的纬度和经度。所以这里我没有Location对象,只有一个String.
Location我想到了使用它创建对象的选项,String但这是不可能的。
我知道使用 Google 的地方 API 是可能的,并且我知道如何使用它,但我更喜欢使用 SDK 中提供的任何方法。
有什么办法可以做到吗?
当检测鼠标x和y坐标时,最好像这样使用event.clientX和event.clientY:
function show_coords(event){
var x=event.clientX;
var y=event.clientY;
alert("X coords: " + x + ", Y coords: " + y);
}
Run Code Online (Sandbox Code Playgroud)
或者使用 x 和 y,如下所示:
function show_coords(event){
var x=event.x;
var y=event.y;
alert("X coords: " + x + ", Y coords: " + y);
}
Run Code Online (Sandbox Code Playgroud)
一种方法比另一种更好/更快吗?它们对我来说似乎工作方式相同。
我尝试获取单元格的坐标,现在我编写下一个代码:
for (Row row : sheet) {
for(Cell cell : row){
// how to get a cell coordinates?
}
}
Run Code Online (Sandbox Code Playgroud)
如何获取单元格的坐标 (dx1, dx2, dy1, dy2) ?
我有一个问题无法解决。我在游戏中使用 FitViewport 风格的舞台。
stage = new Stage(new FitViewport(SCREEN_WIDTH, SCREEN_HEIGHT));
Run Code Online (Sandbox Code Playgroud)
但是当我尝试获取触地坐标而屏幕上出现黑条时出现问题(如果屏幕具有正确的比例,则没有问题)。
@Override
public boolean touchDown(int screenX, int screenY, int pointer, int button)
{
xTouch = (int) (screenX * SCREEN_WIDTH/Gdx.graphics.getWidth());
yTouch = (int) ((SCREEN_HEIGHT) - screenY * (SCREEN_HEIGHT)/Gdx.graphics.getHeight());
}
Run Code Online (Sandbox Code Playgroud)
我用这种方法获得的坐标给出了屏幕上的位置,而不是我的游戏世界上的位置。camera.unproject 做同样的事情。我的问题是,如何忽略黑条来获取游戏世界中的位置?我花了很多时间搜索但没有找到任何有用的解决方案。