擅长:python、mysql、java
<p>又是我。我又发现了一个进步。
大部分点(330.000)位于6个区域之外。因此,我首先用以下方法创建6个区域的轮廓:</p>
<pre><code>SPL_TMA_Contour = Schiphol_TMA.unary_union
</code></pre>
<p>然后修改例程以仅在点位于轮廓内时进行检查:</p>
<pre><code>df1['point'] = gp.points_from_xy(df1['LON'],df1['LAT'])
def f(p):
result = 99
if SPL_TMA_Contour.contains(p):
for T in range(0, 6):
if Schiphol_TMA['geometry'][T].contains(p):
result = T+1
break
return result
df1['TMA'] = [f(pt) for pt in df1['point']]
</code></pre>
<p>使用的时间现在减少到15.6秒!骄傲</p>