相当棘手的一个,因为标题表明我需要在折线的哪一侧工作。
我过去使用角度和预处理方式做到了这一点,但不幸的是需要一个相当快速的解决方案。
任何一个有任何聪明想法的人?
编辑:
目的是计算一系列位置的飓风路径的哪一侧。
答案 0 :(得分:0)
如果您的表格具有以下形式的结构
| Point_Data |
+------------+
| id | int |
| lon | int |
| lat | int |
您可以按如下方式定义存储过程:
create procedure getPoints (@lat0 int, @lon0 int, @lat1 int, @lon1 int)
as
select id, lon, lat
isLeft = (lat1 - lat0) * (lon - lon0)
- (lat - lat0) * (lon1 - lon0)
from Point_Data
GO
isLeft
如果是{0}将> 0,如果在线上则为0,如果在线上则为<0;如果在线的右边则为&lt; 0。这取自Area of 2D and 3D Triangles and Polygons。