
city-roads 是由开发者 Andrei Kashcha(网名 @anvaka)开发的一个开源 Web 工具。它的核心功能是一键渲染出世界上任何城市的所有道路,并将这些复杂的交通网络转化为极具艺术感的视觉图像。
以下是该项目的详细介绍:
1. 核心功能
2. 技术实现
数据来源:使用 Overpass API 获取 OpenStreetMap 的数据。为了提高速度,作者预先索引了全球约 3000 个人口超过 10 万的城市,存储为轻量级的 Protobuf 格式。
渲染引擎:基于 WebGL 进行高性能渲染,即使是包含数十万条街道的大城市也能在浏览器中流畅显示。
搜索功能:利用 Nominatim 进行地理编码(将你输入的名称转换成坐标和区域 ID)。
3. 使用场景
艺术创作:制作城市极简主义风格的壁纸、海报或装饰画。
城市研究:直观观察不同城市的纹理、密度和规划模式(例如纽约的网格状与巴黎的放射状对比)。
地理可视化学习:作为学习如何处理 OSM 数据和大规模 Web 渲染的开源案例。
4. 如何使用
在线体验:直接访问 [链接登录后可见]。
搜索城市:在搜索框输入中文或英文城市名(如 “Shanghai” 或 “上海”)。
自定义:点击页面上的 Customize 按钮调整视觉样式。
导出:点击 Download SVG 即可保存矢量文件。
5. 项目地址
小提示:由于数据量巨大,渲染像东京或伦敦这样极其复杂的特大城市时,对电脑或手机的内存和显卡性能有一定要求。如果加载范围过大(如整个省份),可能会导致浏览器崩溃。