擅长:python、mysql、java
<p>我想解决你的问题的方法很少。
我首先想到的是:</p>
<pre><code>from shapely.geometry import LineString
line1 = LineString([(i, i) for i in range(5)])
line2 = zip(range(5)[::-1], range(5))
if line1.crosses(line2):
print 'yeah!'
</code></pre>
<p><em>添加一个循环并迭代每个分段点线</em></p>
<p>其他可能的选择:</p>
<ul>
<li>用两条海峡线的交点进行简单的数学计算-高中教材</li>
<li>使用postgis将您的数据导入postgres并使用postgis功能,例如ST_crosss(如果postgres对您来说太重了,我将尝试使用SpatialLite sqlite)</li>
<li>pyshp,shapely,gdal/geos,geodjango,地球炼金术</li>
<li>结合上面的一些,写一个更花哨的算法,比如在一条线/点周围创建一个缓冲区,并检查它是否“ST_Contains”GPS位置,同时检查是否有任何后续位置超出缓冲区(?)在</li>
</ul>