擅长:python、mysql、java
<p>基于:<a href="https://gist.github.com/tlhunter/0ea604b77775b3e7d7d25ea0f70a23eb" rel="nofollow noreferrer">https://gist.github.com/tlhunter/0ea604b77775b3e7d7d25ea0f70a23eb</a></p>
<p>假设您有一个带有纬度和经度列的pandas数据框,下一个代码将返回一个带有平均坐标的字典。</p>
<pre><code>import math
x = 0.0
y = 0.0
z = 0.0
for i, coord in coords_df.iterrows():
latitude = math.radians(coord.latitude)
longitude = math.radians(coord.longitude)
x += math.cos(latitude) * math.cos(longitude)
y += math.cos(latitude) * math.sin(longitude)
z += math.sin(latitude)
total = len(coords_df)
x = x / total
y = y / total
z = z / total
central_longitude = math.atan2(y, x)
central_square_root = math.sqrt(x * x + y * y)
central_latitude = math.atan2(z, central_square_root)
mean_location = {
'latitude': math.degrees(central_latitude),
'longitude': math.degrees(central_longitude)
}
</code></pre>