标题:如何计算二维地图距离
只看楼主
hams
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:18
帖 子:912
专家分:3670
注 册:2008-7-30
结帖率:100%
已结贴  问题点数:10 回复次数:4 
如何计算二维地图距离
一个二维的坐标,如何计算最近或最远的点?

比如,以下坐标:

222:333
210:245
100:100
200:300
300:423
501:233
101:101

如何搜索离200:200最近的一个或多个点?或计算离200:200在若干个点距离范围内的坐标?
搜索更多相关主题的帖子: 地图 距离 
2010-04-22 12:08
gupiao175
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:40
帖 子:1787
专家分:7527
注 册:2007-6-27
得分:4 
整体设计起来可能代码比较多,这里给你一个计算单一2个坐标间距离的JS以供参考! 把以下代码保存为a.html测试即可!
 <script language="JavaScript">   
//定义二维数组并初始化   
function dis()
{
 var start=document.getElementById("start").value;
 var str1=start.split(",");
 var end=document.getElementById("end").value;
 var str2=end.split(",");
var c1=(str1[0]-str2[0])*(str1[0]-str2[0]);
var c2=(str1[1]-str2[1])*(str1[1]-str2[1]);
var c3=Math.sqrt(c1+c2);
document.getElementById("con").innerText=c3;
//alert(end);
}
 </script>   
开始坐标:<input type="text" id="start">二唯坐标请用逗号割开!<br>
结束坐标:<input type="text" id="end">二唯坐标请用逗号割开!<br>
 <input type="button" onclick="dis();"value="测算距离">
 <div id="con"></div>

Q:1428196631,百度:开发地 即可找到我,有事请留言!
2010-04-22 14:22
hams
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:18
帖 子:912
专家分:3670
注 册:2008-7-30
得分:0 
谢谢
我现在也想到了用求直角三角形斜边的方式,只是,不知用在数据库上,有没有简单的查询公式?

俺不高手,俺也是来学习的。
俺的意见不一定就对,当你不认同时请点忽视按钮。
当走到十字路口不知该如何走时,可在论坛问下路,但你若希望别人能一路把你送到目的地,显然是不现实的,因为别人也有自己要走的路。
2010-04-22 17:25
zzy_420
Rank: 4
等 级:业余侠客
威 望:2
帖 子:78
专家分:217
注 册:2009-3-26
得分:0 
很难
2010-04-22 20:52
gupiao175
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:40
帖 子:1787
专家分:7527
注 册:2007-6-27
得分:6 
    求2个坐标的距离本身就是一个数学常用公式!如果是多个点求最近的,也有相对应演变的公式!只要你对几何足够了解,这些公式都不难!关键是如何把它变成现成的代码!
      数据库里没有现成的计算几何数学函数的公式,不过你可以在独立字段上自己编写,注意数据格式即可!
!你可以自己组建几个字段,坐标X,坐标Y,距离这个字段就自己编写函数,根据坐标X,坐标Y自动求出一个值存入距离字段,这样的做法是可行的!这样要比较的时候会更简单些!


Q:1428196631,百度:开发地 即可找到我,有事请留言!
2010-04-23 13:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-304004-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039329 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved