表中有如下字段
T_From                     T_To 
101°43′36〃26°30′33〃    101°43′55〃26°29′44〃
如何能计算出两地之间的距离呢,实际的数据库设计中,T_From 和 T_To 里面的内容全部都是拆分存放的。也就是
T_From 的数值是放在6个字段中, T_To也一样。
  

解决方案 »

  1.   

    呵呵,遇到专业问题了,
    首先提取字段,T_From 的前三个字段取出来组合起来为J1,后三个为W1.同理表T_To的前三为J2,后三为W2,这个应该不难。
    在量算两点的地表距离时,一般讲地表看做规则的球面,且地球半径R为已知量。据此,可根据以下公式求得,
    |AB|=[(RcosJ1cosW1-RcosJ2cosW2)^2+(RsinJ1cosφ1-RsinW2cosW2)^2+(RsinW1-RsinW2)^2]^(1/2)
    |AB| = 2*R^2-2*R^2*(cos(J1-J2)cosW1cosW2+sinW1sinW2)
    但难度是要对经纬度做加减操作,SQL提供正余弦的函数,但不知道有没有加减法的函数。这个楼主自己可以想办法解决。
    或者请楼下的解决。
      

  2.   

    感觉跟GPS定位一样。经度,纬度。从一个点到另一个点。应该有个公式可算的。