Shoamirg/Tashkent-Traffic
GitHub: Shoamirg/Tashkent-Traffic
塔什干城市交通数字孪生平台,集成离线3D地图、智能体交通仿真与多种AI信号优化算法,用于城市交通管理和基础设施规划。
Stars: 1 | Forks: 0
# 塔什干离线地图
这是一份乌兹别克斯坦塔什干市中心的完全离线交互式地图。在运行时不需要网络连接或外部服务——所有切片、字体和库均存储在本地。
## 运行
```
python serve.py # serves on http://localhost:8017/app/
python serve.py 9000 # or pick another port
```
然后在浏览器中打开 http://localhost:8017/app/。
## 包含内容
```
offline/ # the data bundle (source: OpenStreetMap / OpenFreeMap)
tiles/{z}/{x}/{y}.pbf # vector tiles (OpenMapTiles schema), zoom 0-14
fonts/ # MapLibre glyph PBFs (Noto Sans Regular/Bold)
osm.json # raw extract: 42,711 buildings + 21,263 roads with tags
metadata.json # bundle bounds and stats
app/
index.html # viewer: map, search, popups
style.json # MapLibre style (local tiles + glyphs, no sprite)
vendor/ # MapLibre GL JS 4.7.1 (vendored for offline use)
serve.py # static file server with / -> /app/ redirect
```
- **切片覆盖范围:** 69.11–69.44 E, 41.2–41.39 N(塔什干市中心);矢量切片会在 z14 以上自动进行过度放大。
- **3D 建筑:** 从缩放级别 ~14.5 开始,根据切片的 `render_height` / `render_min_height` 属性进行拉伸;地图默认以倾斜的 3D 视图打开。使用右上角的 **2D/3D** 按钮进行切换,或者通过右键拖拽 / Ctrl + 拖拽来自由旋转和倾斜视角。
- **自由飞行 (WASD):** 按住 **W/S** 向前/向后飞行,**A/D** 平移,**Q/E** 转向,**R/F** 爬升/下降,**Shift** 加速。速度基于屏幕相对计算,因此在任何高度下的感觉都是一致的。
- **自动导览:** 右上角的 ✈ 按钮将启动电影般的飞行俯瞰,游览 Amir Temur 广场、Mustaqillik 广场、TsUM、Milliy bog' 和 Chorsu,在每个地点环绕飞行后再滑行至下一站。任何鼠标/触摸操作或按下 Esc 键都会停止导览。
- **视角限制:** 视角被限制在离线包的数据覆盖范围内(69.11–69.44 E, 41.2–41.39 N,最小缩放级别 11),因此您永远无法平移或缩放到离线包未包含的区域。
- **搜索:** 搜索框对来自 `offline/osm.json` 的建筑和街道名称(及地址)进行了索引;选择搜索结果即可飞至该处并高亮显示其几何形状。
- **弹窗:** 点击建筑或 POI 标签以查看其名称和类型。
## 注意事项
- 样式中的切片 URL 必须是绝对路径,以便 MapLibre 的 web worker 能够加载,因此 `index.html` 会获取 `style.json` 并在加载时添加 `location.origin` 前缀。
- `offline/fonts` 中的字形范围涵盖了数据中存在的每一个字符(拉丁字母、扩展拉丁字母、西里尔字母、标点符号、类字母符号)。
## 交通模拟与信号优化
`traffic/` 包含一个交通数字孪生和 AI 优化系统,该系统基于从离线包中提取的 3 个道路地图(市中心、老城、南部)以及一个全市路网构建:
```
traffic/
extract_networks.py # osm.json -> 3 district road graphs + intersections
networks/*.json # nodes, directed edges, signalized crossroads
sim.py # vectorized IDM simulator (types, lanes, turns, lights)
train.py # genetic-algorithm optimization over light timings
results/
标签:3D地图, Python, Vectored Exception Handling, 交通仿真, 凭据扫描, 强化学习, 数字孪生, 数据可视化, 无后门, 智慧城市, 智能交通控制, 逆向工具