当前位置: 首页 > news >正文

五星出东方洛老师:gma绘制的洛阳市瀍河回族区的地图和兴趣点

本文的主要目标为绘制洛老师家乡所在的洛阳市瀍河回族区,给洛老师的家的位置绘制五角星其他兴趣点标注一下。绘图目标(结果)如下:

环境和数据准备

安装 gma:pip install gma

本文基于:gma 2.1.7,Python 3.12

本文用到的OSM矢量数据为:
链接: https://pan.baidu.com/s/1GEQbOFnTAlSHGa7erdxFDA?pwd=86mb
提取码: 86mb

本文用到的洛阳市区县范围矢量数据l来源于:
https://www.shengshixian.com/

绘图代码

import matplotlib.pyplot as plt
from gma.map import inres, plot
from gma import ioxian = io.ReadVector(r"2024\县级\T2024年初县级.shp")
luoyang = xian.SelectWhere('地级 = "洛阳市"')
chanhe = luoyang.SelectWhere('县级 = "瀍河回族区"')gdb = io.Open("OSM_洛阳.gdb")radColors = { 'gis_osm_landuse_a_free_1': '#EEE8AA', 'gis_osm_railways_free_1': 'black','gis_osm_water_a_free_1': '#87CEFA', 'gis_osm_waterways_free_1': '#87CEFA',    
}   ## 定义部分图层的颜色newBou = chanhe.Boundary
name = chanhe.ToDataFrame().iat[0, 0]############################################################# 绘制内容
MapF = plot.MapFrame(BaseMapProj = 3857, Extent = newBou)
MapF.AddLayer(chanhe, FaceColor = '#F0FFF044', LineWidth = 0)for layer in gdb.iteritems():radFColor = radColors.get(layer.Name, np.random.uniform(size = 4))radLColor = radColors.get(layer.Name, 'lightgray')if 'Point' in layer.GeomType:continueply = layer.Clip(chanhe)try:MapF.AddLayer(ply, FaceColor = radFColor, LineColor = radLColor, PointSize=1)except:pass## 提取洛老师家的坐标点,绘制五角星
Star5Luo = luolaoshiP[0]
ML0 = MapF.AddLayer(Star5Luo, FaceColor = 'red', PointMarker = '*', PointSize = 100)
LB0 = ML0.AddLabel(FieldName = '名称', Offset = [(0, -40)], Font = 'SimHei', FontSize = 7)## 绘制其他点
### 设置 OtherP 偏移量避免遮盖
Offset = [(0, -20), (0, 20), (0, -20), (0, -20), (0, 20),(0, -20), (0, 20), (125, -5), (0, -20), (0, -20), (0, -20), (70, 0), (40, -20), (-20, -20), (0, -20),(-115, 0), (0, -20), (-50, -5), (0, 20), (0, -20),(0, -20), (0, -20), (0, -20)]
OtherP = luolaoshiP[1:]
ML1 = MapF.AddLayer(OtherP, FaceColor = 'blue', LineColor='white', LineWidth = 0.2, PointSize = 5)
ML1.AddLabel(FieldName = '名称', Offset = Offset, Font = 'SimSun', FontSize = 5)MapF.AddLayer(chanhe, FaceColor = 'none', LineColor = 'black', LineWidth = 0.3, LineStyle=(6, (6, 6)))
############################################################# 绘制内容
MapF.Axes.set_title(name, fontdict={'family':'SimSun'}, y = 0.95)############################################################# 鹰眼图
subBounds = [0, 0.85, 0.4, 0.4]
subAxes = MapF.Axes.inset_axes(subBounds)
MapF2 = plot.MapFrame(Axes = subAxes, BaseMapProj = 3857)
MapF2.AddLayer(chanhe, FaceColor = '#9BCD9B', LineWidth = 0)
MapF2.AddLayer(luoyang, FaceColor = 'none', LineColor = 'gray')
MapF2.AddLayer(luoyang.Dissolve(), FaceColor = 'none', LineColor = 'black')
############################################################# 鹰眼图plt.savefig(r"洛老师之瀍河.jpg", dpi = 300, bbox_inches = 'tight')

http://www.dtcms.com/a/274424.html

相关文章:

  • 高精加法-P1601 A+B Problem(高精)
  • intellij idea的重命名shift+f6不生效(快捷键被微软输入法占用)
  • 决策树算法在医学影像诊断中的广泛应用
  • 知识科普丨详述agent含义
  • 【深度学习系列】ResNet网络原理与mnist手写数字识别实现
  • 浏览器重绘与重排
  • JAVA ---Excel高效导入(去重1000万数据对比)
  • 聊聊微服务架构中的双token
  • Junit多线程的坑
  • Python爬虫动态IP代理报错全解析:从问题定位到实战优化
  • 【牛客刷题】超级圣诞树(递归法和分形复制法)
  • 实时数仓和离线数仓还分不清楚?看完就懂了
  • SpringCloud 运用(5)—— sentinel限流与seata分布式事务
  • 「备忘」查询日志
  • Spring Boot整合MyBatis+MySQL实战指南(Java 1.8 + 单元测试)
  • 从 JavaFX WebView 迁移至 JxBrowser
  • 【科研绘图系列】R语言绘制系统发育树和柱状图
  • 以科技赋能未来,科聪持续支持青年创新实践 —— 第七届“科聪杯”浙江省大学生智能机器人创意竞赛圆满落幕
  • 宝塔 php支持sqlserver
  • 稀疏激活大模型推理优化:突破效率瓶颈的曙光
  • JavaScript VMP (Virtual Machine Protection) 分析与调试
  • 动态规划初步(完全背包)
  • The 2023 ICPC Asia Hangzhou Regional Contest (H. Sugar Sweet II(基环树,期望))
  • 闲庭信步使用图像验证平台加速FPGA的开发:第九课——图像插值的FPGA实现
  • 【JMeter】执行SQL
  • Elasticsearch 滚动(Scroll)用法、使用场景及与扫描(Scan)的区别
  • Linux 下使用 vim 文本编辑器时的操作指令
  • OGG-00551 ODBC error: SQLSTATE 22007,从字符串转换日期和/或时间时,转换失败
  • 和鲸社区深度学习基础训练营2025年关卡3_Q1(1)
  • 零基础入门:Air8000系列蓝牙配网开发(LuatOS版)