Skip to content

时空可视化

gotrackit中提供了对kepler部分可视化功能的封装,使用KeplerVis类即可轻松进行网页端的动态可视化,该类支持三种图层:

添加点图层

使用KeplerVis类提供的add_point_layer函数即可为底图加上一个点层:

添加点图层
# 1. 从gotrackit导入相关模块
import pandas as pd
from gotrackit.visualization import KeplerVis

if __name__ == '__main__':

    # 读取点层文件数据
    point_df = pd.read_csv(r'p.csv')

    # 新建KeplerVis类
    kv = KeplerVis(map_style='dark')

    # 添加点层
    kv.add_point_layer(data=point_df, lng_field='lng', lat_field='lat', set_avg_zoom=True)

    # 输出HTML到本地
    # 此函数也会返回一个map对象,可在jupyter环境下进行交互式操作
    map_obj = kv.export_html(height=600, out_fldr=r'./', file_name='point')

添加geo图层

使用KeplerVis类提供的add_geo_layer函数即可为底图加上任何一个几何图层

添加geo图层
# 1. 从gotrackit导入相关模块
import geopandas as gpd
from gotrackit.visualization import KeplerVis

if __name__ == '__main__':

    # 读取几何文件
    region_df = gpd.read_file(r'region.shp')

    # 新建KeplerVis类
    kv = KeplerVis()

    # 添加点层
    kv.add_geo_layer(data=region_df, set_avg_zoom=True)

    # 输出HTML到本地
    # 此函数也会返回一个map对象,可在jupyter环境下进行交互式操作
    map_obj = kv.export_html(height=600, out_fldr=r'./', file_name='region')

添加路径动画图层

使用KeplerVis类提供的add_trip_layer函数即可为底图加上一个路径动画图层,所需数据需要满足GPS定位数据的要求:

Image title
路径动画
添加路径图层
# 1. 从gotrackit导入相关模块
import pandas as pd
from gotrackit.visualization import KeplerVis

if __name__ == '__main__':

    # 读取几何文件
    trip_df = pd.read_csv(r'trip.csv')

    # 新建KeplerVis类
    kv = KeplerVis()

    # 添加点层
    kv.add_trip_layer(trip_df, lng_field='lng', lat_field='lat', 
                      time_format="%Y-%m-%d %H:%M:%S.%f")

    # 输出HTML到本地
    # 此函数也会返回一个map对象,可在jupyter环境下进行交互式操作
    map_obj = kv.export_html(height=600, out_fldr=r'./', file_name='trip')

图层叠加与地图输出

图层叠加与地图输出
import pandas as pd
import geopandas as gpd
from gotrackit.visualization import KeplerVis

if __name__ == '__main__':
    point_df = pd.DataFrame()
    region_gdf = gpd.GeoDataFrame()
    trip_df = pd.DataFrame()
    kv = KeplerVis()
    kv.add_point_layer(point_df, lng_field='lng', lat_field='lat')
    kv.add_geo_layer(region_gdf)
    kv.add_trip_layer(trip_df, lng_field='lng', lat_field='lat')
    map_obj = kv.export_html(height=600, out_fldr=r'./', file_name='map')