柚子快报邀请码778899分享:[dash]

http://www.51969.com/

dash+leaflet展示linestring

1. 完整代码

import dash_leaflet as dl

import dash

import geopandas as gpd

import dash_leaflet.express as dlx

import json

# 输入数据

gdf = gpd.read_file(r'E:\code_practice\gitee\python_study\dash_practice\data/edges.shp')

# 创建app

app = dash.Dash(__name__)

# gdf to json

geojson=json.loads(gdf.to_json())

# 使用dash leaflet 将geojson格式的数据转换为Geobuf格式

#Geobuf是一种轻量级的二进制地理空间数据格式,旨在提供与GeoJSON相似的可读性

geobuf = dlx.geojson_to_geobuf(geojson)

# 创建地图

app.layout = dl.Map([

dl.TileLayer(), # 默认添加osm底图

dl.GeoJSON(data=geobuf, format='geobuf', zoomToBounds=True, zoomToBoundsOnClick=True)

],

style={

'width': '1000px',

'height': '1000px'

})

if __name__ == "__main__":

app.run_server()

2.思路

gdf 读取.shp文件

gdf转换成geojson格式

geojson to geobuf

使用dash-leaflet展示数据

3. 效果

柚子快报邀请码778899分享:[dash]

http://www.51969.com/

查看原文