2

我一直在尝试将 lat & long 坐标与 wardriving 数据集中的 wifi RSSI 值结合起来,以获得 3D 网格 -像这样。所以要有:X,Y,Z = Lat, Long, RSSI

到目前为止,我已将 X、Y、Z 导出到 CSV 文件并尝试使用脚本将其导入搅拌机,但没有得到任何有用的东西。大多只是直线。

我还尝试使用 pyproj 将 Lat & Long 转换为 ecef,以使 RSSI 和 gps 数据更加相似,但无济于事。

我的 CSV 看起来像这样:

[(84.93475847252022, -89.91906774534704, -72.0)
 (84.93444026890381, -89.9190789918068, -78.0)
 (84.93447718347761, -89.91908064130264, -79.0)
 (84.93446626538486, -89.9190807252239, -79.0)
 (84.93464567138756, -89.91907317821823, -75.0)
 (84.93475424916566, -89.91908073758599, -79.0)
 (84.93485534408349, -89.91909018237004, -84.0)
 (84.93493336837452, -89.9190845795334, -81.0)]
4

1 回答 1

2
import folium

import pandas as pd

from folium import plugins

SF_COORDINATES = (84.9347, -89.9190)

导入包并在线查找坐标,如上图所示

MAX_RECORDS = 1000

map = folium.Map(location=SF_COORDINATES, zoom_start=20)

for index,row in data.iterrows():
    folium.CircleMarker([row['Lat'], row['Lon']],
                        radius=5,
                        popup=row['Rssi'],
                        fill_color="#3db7e4",
                        clustered_marker = True).add_to(map)

arra = data[['lat', 'lon']].as_matrix()
map.add_children(plugins.HeatMap(arra, radius=25))
map

上述代码适用于 folium 和 pandas 包

于 2020-05-21T16:10:55.063 回答