我有纽约纽约市的Lat/Long值; 40.7560540,-73.9869510和地球的平面图像,1000像素×446像素.
我希望能够使用Javascript将Lat/Long转换为X,Y坐标,其中该点将反映位置.
因此X,Y坐标形成图像的左上角; 289,111
注意事项:
我有以下情况:
我有一个自定义ListView与ImageView和TextView连续.ImageView有一个onTouchListener,wchich调用我的onTouch方法.以下是它的一些内容:
if (event.getAction()==MotionEvent.ACTION_MOVE) {
layout.leftMargin = (int) event.getX() - dragIcon.getWidth()/2;
layout.topMargin = (int) event.getY() - dragIcon.getHeight()/2;
//Log.d("Tag", "Pozycja: " + event.getX() +", "+ event.getY());
}
dragIcon.setLayoutParams(layout);
Run Code Online (Sandbox Code Playgroud)
当检测到移动时,我正在显示新图像(在ListView中不是这个),我开始根据x和y坐标移动它.
问题是,getX和getY返回相对于列表中ImageView的位置,而不是整个ListView(我想是这样).因此,当我触摸中间的项目并向上滑动手指时,getY返回负值(在ImageView边界上方).
希望,我解释清楚..
任何想法如何获得相对于屏幕尺寸的坐标?谢谢.
是否有一个Python模块,我可以创建具有地理位置坐标(纬度和经度)的对象,并查询所有对象是否在给定坐标的5公里距离(即半径)内?
我一直试图将纬度和经度存储为字典中的键(因为它们被键索引)并使用一些距离查找算法来查询它们.但这感觉就像一个可怕的黑客.
基本上就像PostGIS for PostgreSQL,但都在我的Python应用程序的内存中.
python geolocation geospatial coordinates geographic-distance
我有一个带有自定义TableCellViews的TableView,它上面有UILabel和UIButtons.当其中一个按钮被录音时,我想显示一个描述按钮文本的"工具提示".
除了当我尝试将UIButton的中心坐标转换为rootView(UIView)的坐标时,大多数都工作正常.
这是代码:
- (void) fancyLabelButtonPressed: (UIButton *) button {
CGPoint btnPoint = button.center; // x=200.5 y=27.5
CGPoint rootViewPoint = [button convertPoint:btnPoint toView:rootView];
// rootViewPoint -> x=390.5 y=197.5
CGPoint pointToUse = CGPointMake(btnPoint.x +20, rootViewPoint.y - 23); // Hack to get it close
}
Run Code Online (Sandbox Code Playgroud)
怎么能rootViewPoint.x=390.5当我在纵向视图?!?通过使用按钮中的x和rootViewPoint中的y,我接近它应该是什么,但它只是一个黑客.
有谁看到我做错了什么?或者,还有更好的方法?
我有特定地方的纬度和经度,我想计算距离,所以我该如何计算呢?
我希望有人在那里可以提供给我的方程式(从a.aaa X从c.ccc b.bbb,Y向c.ccc)计算一公里平方左右的指定点,说lat = 53.38292839和lon = -6.1843984?我还需要一个点周围2公里,5公里和10公里的方格.
我试过谷歌搜索无济于事......这是深夜,希望有人可以快速修复方便我钻研三角函数之前......
我将在Javascript中运行所有这些,虽然任何语言都可以.
目标
我想确定测试点是否在定义的四边形内.我可能要在Matlab中实现解决方案,所以我只需要伪代码.
输入
四边形的角:(x1,y1)(x2,y2)(x3,y3)(x4,y4)
测试点:(xt,yt)
产量
1 - 如果在四边形内
0 - 否则
更新
有人指出,识别四边形的顶点不足以唯一地识别它.您可以假设点的顺序决定了四边形的边(点1连接2,2连接到3,3连接到4,4连接到1)
我正在构建一个基于找到一个位置的"方便会面点"的应用程序.
目前我将"方便"定义为"最小化总行程距离".这与查找质心的问题不同,如下例所示(为方便起见,使用笛卡尔坐标而不是纬度和经度):
这些点的最小总行程位置为(0,0),总行程距离为12; 质心位于(0,4),总行程距离为16(4 + 4 + 8).
如果位置被限制在其中一个点上,问题似乎变得更简单,但这不是我想要的约束(不像,例如,这个类似的问题).
我似乎无法做到的是提出任何类型的算法来解决这个问题 - 建议欢迎!
我试图将19行代码汇总到一个for循环中,但我感觉有点难过.我问的原因是因为我希望网格是其他尺寸而不是5.
在Main::drawHexGridAdvanced(),我试图推断每一行之间的相似性,而不是Main::drawHexGridBasic()我硬编码值的地方.
我不确定如何确定x每一行中每列的开始,因为模式n == 5是0, -1 -2 -2 -2在每个连续列刚刚递增之后,除非循环到达中途点...
`n` must be odd
n | columns-per row sequence
--+-------------------------
3 | 2 3 2
5 | 3 4 5 4 3
7 | 4 5 6 7 6 5 4
9 | 5 6 7 8 9 8 7 6 5
Run Code Online (Sandbox Code Playgroud)
int[] columns(int n) {
int[] columns = new int[n];
int h = (int) java.lang.Math.floor(n / 2);
for (int …Run Code Online (Sandbox Code Playgroud) 我有一个缩放到适合的图像.从缩放的图像中,用户正在选择矩形.
然后我根据这个选择重新绘制:
gc.drawImage(imageDisplayed, minX, minY, width, height, imageDisplayed.getBounds().x, imageDisplayed.getBounds().y, imageDisplayed.getBounds().width, imageDisplayed.getBounds().height );
Run Code Online (Sandbox Code Playgroud)
所以现在我希望能够从缩放和缩放的图像中获得原始坐标.它是否正确?:
public Coordinate GetScaledXYCoordinate(int oldX, int oldY, int width, int height, int scaledWidth, int scaledHeight)
{
int newX = (int)(oldX * width)/scaledWidth;
int newY = (int)(oldY * height)/scaledHeight;
Coordinate retXY = new Coordinate(newX, newY);
return retXY;
}
public Coordinate GetZoomedXYCoordinate(int oldX, int oldY, int startX, int endX, int startY, int endY,
int width, int height,int scaledWidth, int scaledHeight)
{
// First get x,y after scaling
Coordinate xy = …Run Code Online (Sandbox Code Playgroud)