有一个简单的公式来计算这个?我一直在研究一些数学但是我只能找到一种方法来计算指向盒子中心的距离,而不是指向最近的点..这个问题有一些资源吗?
好的,所以我编写了大部分程序,可以让我确定两个圆是否重叠.
除了一个问题,我的程序没有任何问题:程序不会接受我为两个中心点之间的距离编写的代码.我可以弄清楚if/else逻辑告诉用户取决于稍后的距离值会发生什么,但我想知道现在有什么问题.Eclipse,我编写的程序,告诉我应该将距离解析为数组,但我已经告诉过你它是一个int.
这是我的代码:
package circles;
import java.util.Scanner;
public class MathCircles {
// variable for the distance between the circles' centers
public static int distance;
// variable for the lengths of the radii combined
public static int radii;
public static void main(String[] args) {
// Get the x-value of the center of circle one
System.out.println("What is the x-coordinate for the center of circle one?");
Scanner keyboard = new Scanner(System.in);
int x1 = keyboard.nextInt();
//Get the y-value of the center of circle …Run Code Online (Sandbox Code Playgroud) 存在具有顶点坐标列表的折线= [(x1,y1),(x2,y2),(x3,y3),...]和点(x,y).在Shapely中,geometry1.distance(geometry2)返回两个几何之间的最短距离.
>>> from shapely.geometry import LineString, Point
>>> line = LineString([(0, 0), (5, 7), (12, 6)]) # geometry2
>>> list(line.coords)
[(0.0, 0.0), (5.0, 7.0), (12.0, 6.0)]
>>> p = Point(4,8) # geometry1
>>> list(p.coords)
[(4.0, 8.0)]
>>> p.distance(line)
1.4142135623730951
Run Code Online (Sandbox Code Playgroud)
但我还需要找到最接近点(x,y)的线上的点的坐标.在上面的示例中,这是LineString对象上距离Point(4,8)1.4142135623730951单位的点的坐标.方法distance()在计算距离时应该有坐标.有没有办法让它从这个方法返回?
我在地球上有一个线段(大圆圈部分).线段由其末端的坐标定义.显然,两个点定义了两个线段,所以假设我对较短的线段感兴趣.
我得到了第三点,我正在寻找线和点之间的(最短)距离.
所有坐标均以经度\纬度(WGS 84)给出.
我该如何计算距离?
任何合理的编程语言都可以使用解决方案.
我正在寻找最快的距离变换算法.
根据这个网站http://homepages.inf.ed.ac.uk/rbf/HIPR2/distance.htm,它描述了:"距离变换可以使用聪明的算法在两次通过中更有效地计算(例如Rosenfeld和Pfaltz 1968)."
搜索周围,我发现:"Rosenfeld,A和Pfaltz,J L. 1968.数字图片上的距离函数.模式识别,1,33-61."
但我相信我们应该拥有比1968年更好更快的算法?事实上,我找不到1968年的来源,所以任何帮助都受到高度赞赏.
我试图使用Levenshtein距离算法将单个搜索项与可能匹配的字典进行匹配.该算法返回一个距离,表示为将搜索字符串转换为匹配字符串所需的操作数.我想在排名最高的"N"(比方说10)比赛的百分比列表中显示结果.
由于搜索字符串可以比单个字典字符串更长或更短,因此将距离表示为百分比的适当逻辑将定性地反映出查询字符串的每个结果与"百分比"的接近程度,100 %表示完全匹配.
我考虑了以下选项:
Q = query string
M = matched string
PM = Percentage Match
Option 1. PMi = (1 - Lev_distance(Q, Mi)/Strlen(Q)) * 100
Option 2. PMi = (1 - Lev_distance(Q, Mi)/max(Strlen(Q), strlen(Mi))) * 100
Run Code Online (Sandbox Code Playgroud)
如果距离大于搜索字符串长度(匹配字符串为长),则选项1可能为负百分比.例如查询"ABC"与"ABC Corp."匹配 会导致负匹配百分比.
选项2似乎不会在一组Mi中给出一致的百分比,因为每个计算可能使用不同的分母,因此得到的百分比值不会被标准化.
只有我能想到的另一种方法是抛弃lev_distance与字符串长度的比较,而是将顶部"N"匹配的比较距离表示为反百分位数等级(100百分位等级).
有什么想法吗?有更好的方法吗?我必须遗漏一些东西,因为Levenshtein距离可能是最常见的模糊匹配算法,这一定是一个非常常见的问题.
我想知道R中是否有内置函数可以找到两个数组之间的余弦相似度(或余弦距离)?
目前,我实现了自己的功能,但我不禁认为R应该已经配备了一个.
我试图弄清楚我的数据集中有多少孤立的某些点.我使用两种方法来确定隔离,最近邻居的距离和给定半径内的相邻站点的数量.我所有的坐标都是纬度和经度
这就是我的数据:
pond lat long area canopy avg.depth neighbor n.lat n.long n.distance n.area n.canopy n.depth n.avg.depth radius1500
A10 41.95928 -72.14605 1500 66 60.61538462
AA006 41.96431 -72.121 250 0 57.77777778
Blacksmith 41.95508 -72.123803 361 77 71.3125
Borrow.Pit.1 41.95601 -72.15419 0 0 41.44444444
Borrow.Pit.2 41.95571 -72.15413 0 0 37.7
Borrow.Pit.3 41.95546 -72.15375 0 0 29.22222222
Boulder 41.918223 -72.14978 1392 98 43.53333333
Run Code Online (Sandbox Code Playgroud)
我想把最近的邻近池塘的名称放在列邻居,它的纬度和长度在n.lat和n.long,两个池塘之间的距离n.distance,以及区域,冠层和avg.depth in每个适当的列.
其次,我想把目标池塘1500米范围内的池塘数量调到半径1500.
有谁知道一个功能或包,可以帮助我计算我想要的距离/数字?如果这是一个问题,输入我需要的其他数据并不困难,但最近邻居的名字和距离加上1500米以内的池塘数量是我真正需要帮助的.
谢谢.
我正在尝试使用谷歌地图找到两点之间的位置.这是我正在使用的代码:
function initialize() {
var myOptions = {
center: new google.maps.LatLng(36.8813329,-103.6975488),
zoom: 4,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map-canvas"), myOptions);
var impactCoordinates = [
new google.maps.LatLng(37.772323, -122.214897),
new google.maps.LatLng(34.1633766,-81.6487862),
];
var ImpactPath = new google.maps.Polyline({
path: impactCoordinates,
strokeColor: "#FF0000",
strokeOpacity: 1.0,
strokeWeight: 2
});
ImpactPath.setMap(map);
var loc1 = new google.maps.LatLng(37.772323, -122.214897);
var loc2 = new google.maps.LatLng(34.1633766,-81.6487862);
alert(google.maps.geometry.spherical.computeDistanceBetween(loc1, loc2));
}
Run Code Online (Sandbox Code Playgroud)
这是我从控制台得到的错误:
未捕获的TypeError:无法读取未定义的属性"球形"
我想用来hclust聚类数据.但我不想使用"dist()"来生成dist对象.然后我发现我不能将对称矩阵作为距离矩阵传递给hclust.
如何将对称矩阵转换为"dist"对象?
distance ×10
r ×3
geometry ×2
3d ×1
algorithm ×1
arrays ×1
geos ×1
geospatial ×1
gis ×1
java ×1
javascript ×1
math ×1
matrix ×1
percentage ×1
python ×1
ranking ×1
shapely ×1
similarity ×1
transform ×1
trigonometry ×1