----------------求助,SQL里的坐标点的路径优化算法

雄牛 2017-09-15 02:58:42

是这样,有个画布,上面有很多座标点都是从数据表A调出来显示的在画布上,
画布最左上角是0,0原点,向右为正X,向下为正Y
现求一个SQL语句,用于计算出路径最优化算法,实现相近的排前面,并把顺序ID写入SQL中?

比如,按从左到右,再从右向下到左,的类"U"形这样,
因为业务需求是作业人员会从最近的坐标点看坐标点...?



下面是表A的顺序,顺序ID是要算法上写入顺序号进去.

位置 X Y 顺序ID
-------------------------------------------------
C5 1975 2237
C58 1775 2244
C27 1576 622
C3 1415 1386
C7 1526 1488
R29 1124 1331
R38 1906 2244
R2 1561 2843
R14 1775 1071
R22 2373 984
R23 1576 1315
R40 1346 1071
R45 1910 618
R79 1699 2575


...全文
349 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
clark_kidd 2017-09-27
  • 打赏
  • 举报
回复
仅仅做一次距离排序是不够的。可能需要一个临时表,将画布上的点先放在临时表中,通过查询找到“离当前点最近的点”,然后把这个已经经过的点,从临时表中抹除,然后再次求“离当前点最近的点”,直到临时表中没有新的点
中国风 2017-09-26
  • 打赏
  • 举报
回复
可用空间函数计算距离,把距离近远排序 e.g.
DECLARE @g GEOGRAPHY=GEOGRAPHY::Point(0,0,4326)

SELECT * FROM table1 ORDER BY @g.STDistance(X,Y,4326) ASC
LongRui888 2017-09-22
  • 打赏
  • 举报
回复
是否可以对每个坐标点,去计算这个坐标点和其他左右坐标点的距离,最近的就是1,然后排序。
听雨停了 2017-09-19
  • 打赏
  • 举报
回复
引用 3 楼 cowbo 的回复:
[quote=引用 2 楼 qq_37170555 的回复:] 没看懂啥意思,计算出路径最优化算法是什么意思,从哪里到哪里的最优啊。比如,按从左到右,再从右向下到左,的类"U"形这样。这个也不理解。能不能举个能理解的例子
按30*30像素点区域,区域内的座标点怎么连都行,连完后,跳到下一个区域(向左),完了再第二行区域的第一块开始.....[/quote] 原谅我的理解能力太差,完全不明白需要用sql去帮你完成什么东西。你能用sql的方式举个例子不?你的那一套我们完全没有接触过,你说的天花乱坠也不知道你说啥啊
  • 打赏
  • 举报
回复
题意不明..
雄牛 2017-09-18
  • 打赏
  • 举报
回复
引用 2 楼 qq_37170555 的回复:
没看懂啥意思,计算出路径最优化算法是什么意思,从哪里到哪里的最优啊。比如,按从左到右,再从右向下到左,的类"U"形这样。这个也不理解。能不能举个能理解的例子
按30*30像素点区域,区域内的座标点怎么连都行,连完后,跳到下一个区域(向左),完了再第二行区域的第一块开始.....
听雨停了 2017-09-15
  • 打赏
  • 举报
回复
没看懂啥意思,计算出路径最优化算法是什么意思,从哪里到哪里的最优啊。比如,按从左到右,再从右向下到左,的类"U"形这样。这个也不理解。能不能举个能理解的例子
OwenZeng_DBA 2017-09-15
  • 打赏
  • 举报
回复
这个是用程序实现更合适把

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧