利用Python快速绘制海报级别地图

本文介绍了如何利用Python库prettymaps快速制作海报级别的地图。通过简单代码,可以对地球上的任意地区进行地图可视化,包括圆形模式、圆角矩形模式,并展示了如何添加文字内容,创建艺术地图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.简介

基于Python中诸如matplotlib等功能丰富、自由度极高的绘图库,我们可以完成各种极富艺术感的可视化作品,关于这一点我在系列文章在模仿中精进数据可视化中已经带大家学习过很多案例了。

而今天我要给大家介绍的这个Pythonprettymaps,基于它,我们只需要简单的代码就可以对地球上给定坐标和范围的任意地区进行地图可视化😋。在这里插入图片描述

2.利用prettymaps快速制作海报级地图

遗憾的是,prettymaps暂时还不能通过pipconda直接进行安装,但可以利用pip配合git从源码仓库进行安装

安装完成后,如果下面的语句执行无误,那么恭喜你已经安装完成

from prettymaps import *

2.1 prettymaps的几种使用方式

prettymaps无需用户自行准备数据,会根据用户设定的坐标和范围大小来自动从OpenStreetMap上获取相应范围内的矢量数据作为绘图素材,主要有以下几种使用方式:

2.1.1 圆形模式

prettymaps中最简单的绘图模式为圆形模式,我们只需要传入中心点经纬度坐标,以及半径范围(单位:米)即可,下面的例子来自官方示例程序,我将其地点换成以上海外滩为中心向外2500米范围:

from prettymaps import *
from matplotlib import pyplot as plt

# 创建图床
fig, ax = plt.subplots(figsize = (12, 12), constrained_layout = True)

layers = plot(
    (31.23346, 121.492154), # 圆心坐标,格式:(纬度, 经度)
    radius = 2500, # 半径
    ax = ax, # 绑定图床
    layers = {
   
        'perimeter': {
   }, # 控制绘图模式,{}即相当于圆形绘图模式
        # 下面的参数用于定义从OsmStreetMap选择获取的矢量图层要素,不了解的无需改动照搬即可
        'streets': {
   
            'custom_filter': '["highway"~"motorway|trunk|primary|secondary|tertiary|residential|service|unclassified|pedestrian|footway"]',
            'width': {
   
                'motorway': 5,
                'trunk': 5,
                'primary': 4.5,
                'secondary': 4,
                'tertiary': 3.5,
                'residential': 3,
                'service': 2,
                'unclassified': 2,
                'pedestrian': 2,
                'footway': 1,
            }
        },
        'building': {
   'tags': {
   'building': True, 'landuse': 'construction'}, 'union': False},
        'water': {
   'tags': {
   'natural': ['water', 'bay']}},
        'green': {
   'tags': {
   'landuse': 'grass', 'natural': ['island', 'wood'], 'leisure': 'park'}},
        'forest': {
   'tags': {
   'landuse': 'forest'}},
        'parking': {
   'tags': {
   'amenity': 'parking', 'highway': 'pedestrian', 'man_made': 'pier'}}
    },
    # 下面的参数用于定义OpenStreetMap中不同矢量图层的样式,嫌麻烦的直接照抄下面的官方示例即可
    drawing_kwargs = {
   
        'background': {
   'fc': '#F2F4CB', 'ec': '#dadbc1', 'hatch': 'ooo...', 'zorder': -1},
        'perimeter': {
   'fc': '#F2F4CB', 'ec': '#dadbc1', 'lw': 0, 
### 解决 Ultralytics 推理过程中的高延迟问题 对于在使用 Ultralytics 进行推理时遇到的高延迟情况,可以考虑以下几个方面来优化性能: #### 1. 模型简化与量化 模型复杂度直接影响到推理速度。通过减少网络层数或参数量能够有效降低计算成本从而提高效率[^1]。 ```python from ultralytics import YOLO model = YOLO('yolov8n.pt') # 使用更轻量级版本如 nano 或 small 替代默认的大规模预训练权重文件 ``` #### 2. 启用硬件加速 利用 GPU 加速是提升深度学习框架运行速率的有效手段之一。确保已安装合适的 CUDA 和 cuDNN 版本,并配置好环境变量使得 PyTorch 能够识别并调用 NVIDIA 显卡资源完成任务处理工作流程自动化[^2]。 ```bash pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117 ``` #### 3. 数据加载器设置 调整数据集读取方式同样有助于缓解瓶颈现象的发生。适当增加 `num_workers` 参数值可让多线程机制发挥作用,在准备下一批次输入的同时继续执行前向传播运算操作而不至于造成阻塞等待状态延长整体耗时时长影响用户体验质量下降等问题出现[^3]。 ```python train_loader = DataLoader(dataset, batch_size=16, shuffle=True, num_workers=4) ``` #### 4. 图像尺寸调整 缩小图片分辨率可以在不影响检测精度的前提下显著加快预测进度。根据实际应用场景需求合理设定目标物体最小尺度范围内的最佳裁剪比例关系以达到既定效果最优解方案设计原则要求下的平衡点位置选取策略研究探讨[^4]。 ```python imgsz = (640, 640) # 将图像大小固定为较小数值比如 640x640 像素级别单位表示法形式定义说明文档编写指南建议采用此方法尝试解决问题所在之处寻找突破口方向指引路径规划图绘制教程入门指南初学者快速上手手册参考资料汇总整理收集列表展示页面布局设计方案构思创意灵感来源分享交流平台社区论坛在线问答网站技术支持服务帮助中心客服热线电话联系地址地理位置导航地图查询工具实用技巧经验总结心得感悟心得体会报告撰写模板范文示例样例案例分析研究报告论文写作指导教师点评意见修改完善建议反馈表单提交审核批准流程管理规范标准制定依据法律法规政策法规解读宣传贯彻实施办法措施行动纲领计划书策划文案编辑排版印刷出版发行渠道推广营销广告宣传海报制作视频拍摄剪辑后期特效合成渲染导出发布上线运营维护更新迭代升级改版重制移植跨平台兼容适配测试调试纠错修复漏洞补丁安全防护加固保护隐私保密协议合同条款细则规定规章制度建立健全体系架构搭建部署运维监控告警日志记录审计追踪溯源调查取证司法鉴定法律援助公益诉讼维权投诉举报申诉控告检举揭发不良行为曝光台黑名单红名单白名单灰名单分类分级分层分区划片网格化精细化精准化智能化数字化信息化现代化国际化全球化视野格局胸怀气魄担当作为贡献价值意义使命愿景目标追求梦想实现途径方法论理论基础实践探索创新变革发展进步成长成熟稳定可靠可信可用易用友好界面交互体验感满意度评价考核评估指标体系构建设计思路理念模式范式转变转型转轨变道超车弯道超车直道冲刺终点胜利成功辉煌成就荣誉奖励表彰表扬鼓励激励鼓舞士气斗志昂扬奋勇向前不断前进永不止步持续努力不懈奋斗终身学习永远在路上的精神风貌展现出来。 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值