sql 两个表之间保存地点经纬度 ,计算两点距离(有C#的已知两点经纬度计算距离函数),并关联一个时间表 少了字段关系,很难看明白 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 简化问题巡检线路表 id 线路段名称 01 北京至西安 02 北京至郑州 线路基础数据 ID 坐标x 坐标y 巡检线路表.ID 01 39.72555 98.48657 02 02 39.58586 98.74144 02 线路巡检数据 ID 坐标x 坐标y 巡检时间 巡检线路表.ID 01 39.12 98.58 2009-8-2 02 02 39.48586 98.24144 2009-8-20 02 求结果 巡检线路表 线路基础数据 线路巡检数据 长度(两个坐标通过下面的函数计算 <100的长度) ID 线路段名称 坐标x 坐标y 坐标x 坐标y 数据表中坐标x/坐标y 记录: 01 北京至西安 39.72555 98.48657 39.12 98.58 34 C#根据两点的经纬度计算之间距离 public class GetDistance { private const double EARTH_RADIUS = 6378.137; private static double rad(double d) { return d * Math.PI / 180.0; } public static double GetValue(double lat1, double lng1, double lat2, double lng2) { double radLat1 = rad(lat1); double radLat2 = rad(lat2); double a = radLat1 - radLat2; double b = rad(lng1) - rad(lng2); double s = 2 * Math.Asin(Math.Sqrt(Math.Pow(Math.Sin(a / 2), 2) + Math.Cos(radLat1) * Math.Cos(radLat2) * Math.Pow(Math.Sin(b / 2), 2))); s = s * EARTH_RADIUS; s = Math.Round(s * 10000) / 10000; return s; } } datagridview如何排序 求助一个SQL Server编程问题 请教下面的SQL语句如何改写? 【CSDN】【删除树型节点时,若有子结点,则应该如何处理,不清楚如何实现这个存储过程,请赐教】 pb11+sqlserver2000數庫內容亂碼 在 select * from 语句中表名能否用变量名(存储过程中) 如果数据库没有某个字段,但是做报表要用怎么办 IMAGE类型的数据放到PICTUREBOX上,怎么半? 大哥,怎么才能读取日志文件中的数据? 我想KILL 一个 ORACLE 的Session? 如何保证删除的数据库数据不会被恢复? 数据库
巡检线路表
id 线路段名称
01 北京至西安
02 北京至郑州
线路基础数据
ID 坐标x 坐标y 巡检线路表.ID
01 39.72555 98.48657 02
02 39.58586 98.74144 02 线路巡检数据
ID 坐标x 坐标y 巡检时间 巡检线路表.ID
01 39.12 98.58 2009-8-2 02
02 39.48586 98.24144 2009-8-20 02 求结果
巡检线路表 线路基础数据 线路巡检数据 长度(两个坐标通过下面的函数计算 <100的长度)
ID 线路段名称 坐标x 坐标y 坐标x 坐标y 数据表中坐标x/坐标y
记录:
01 北京至西安 39.72555 98.48657 39.12 98.58 34
C#根据两点的经纬度计算之间距离
public class GetDistance
{
private const double EARTH_RADIUS = 6378.137;
private static double rad(double d)
{
return d * Math.PI / 180.0;
} public static double GetValue(double lat1, double lng1, double lat2, double lng2)
{
double radLat1 = rad(lat1);
double radLat2 = rad(lat2);
double a = radLat1 - radLat2;
double b = rad(lng1) - rad(lng2);
double s = 2 * Math.Asin(Math.Sqrt(Math.Pow(Math.Sin(a / 2), 2) +
Math.Cos(radLat1) * Math.Cos(radLat2) * Math.Pow(Math.Sin(b / 2), 2)));
s = s * EARTH_RADIUS;
s = Math.Round(s * 10000) / 10000;
return s;
}
}