空间大数据可视化keplergl安装并运行简单示例

参考这几位大神的博客
https://www.cnblogs.com/feffery/p/11142816.html
https://blog.csdn.net/qq_27484665/article/details/106653733?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-2

1、安装


github地址: https://github.com/keplergl/kepler.gl

(GitHub要求的包以及各种相关的包都装上,开始安装老是报错,最后不知道怎么就好了)
网上基本上都是在Jupyter Notebook上面运行,我直接在Vscode中运行,不是在Vscode中写Jupyter文件
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple GDAL3.1.0
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple fiona
1.7.10
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple rasterio1.0a12
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple geopandas
0.5.0
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple
ipywidgets==7.4.2

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pandas==0.24.2

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple
Shapely1.7.0
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple
traitlets
4.3.2

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple traittypes==0.2.1

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple keplergl

2、示例

#示例1
from keplergl import KeplerGl
map=KeplerGl()
map.save_to_html(file_name='ls.html')

空间大数据可视化keplergl安装并运行简单示例_第1张图片


#示例2
import os,sys
import pandas as pd
path=sys.path[0]
filename=os.path.join(path,'data.csv')
print(os.path.exists(filename))
data=pd.read_csv(filename)
print(data.head())


map_2=KeplerGl()
map_2.add_data(name='data',data=data)
map_2.save_to_html(file_name='data.html')

数据长这样,随便填的数据
空间大数据可视化keplergl安装并运行简单示例_第2张图片

效果
空间大数据可视化keplergl安装并运行简单示例_第3张图片

可以在左边设置样式
空间大数据可视化keplergl安装并运行简单示例_第4张图片

可以变换视角
空间大数据可视化keplergl安装并运行简单示例_第5张图片

#示例3
from keplergl import KeplerGl
import json
with open('gis_osm_natural_a_free_1-geo.json') as b:
    geojson = json.load(b)
map_3 = KeplerGl(data={
     'geojson':geojson})
map_3.save_to_html(file_name='geojson.html')

如果有shp文件 也可以先转成geojson

从某个博文摘抄的,类似代码很多,要注意的是它的编码转换

import shapefile
import json
import codecs
from tqdm import tqdm

def Shp2JSON(filename,shp_encoding='utf-8',json_encoding='utf-8'):
    '''
    这个函数用于将shp文件转换为GeoJSON文件
    :param filename: shp文件对应的文件名(去除文件拓展名)
    :return:
    '''
    '''创建shp IO连接'''
    reader = shapefile.Reader(filename,encoding=shp_encoding)
    '''提取所有field部分内容'''
    fields = reader.fields[1:]
    '''提取所有field的名称'''
    field_names = [field[0] for field in fields]
    '''初始化要素列表'''
    buffer = []
    sr = reader.shapeRecord()
    # while True:
    #     if sr:    
    for sr in tqdm(reader.iterShapeRecords()):
        '''提取每一个矢量对象对应的属性值'''
        record = sr.record
        '''属性转换为列表'''
        record = [r.decode('gb2312','ignore') if isinstance(r, bytes)
                else r for r in record]
        '''对齐属性与对应数值的键值对'''
        atr = dict(zip(field_names, record))
        '''获取当前矢量对象的类型及矢量信息'''
        geom = sr.shape.__geo_interface__
        '''向要素列表追加新对象'''
        buffer.append(dict(type="Feature",
                        geometry=geom,
                        properties=atr))
            
    # for sr in tqdm():
        
    '''写出GeoJSON文件'''
    # newfilename=os.path.join()
    geojson = codecs.open(filename[:-4] + "-geo.json","w", encoding=json_encoding)
    geojson.write(json.dumps({
     "type":"FeatureCollection",
                              "features":buffer}) + '\n')
    geojson.close()
    print('转换成功!')
if __name__ == '__main__':
    import os
    # path=
    os.chdir(r"F:\资料\OSM")
    # Shp2JSON(filename='gis_osm_roads_free_1.shp',
    Shp2JSON(filename='gis_osm_natural_a_free_1.shp',
             shp_encoding='utf-8',
             json_encoding='gbk')

效果
空间大数据可视化keplergl安装并运行简单示例_第6张图片

你可能感兴趣的:(大数据,Hadoop)