基于 gma 绘制古代洛阳 5 大都城遗址空间分布地图
2023-04-18 16:42:47 时间
了解 gma
gma 是什么?
gma 是一个基于 Python 的地理、气象数据快速处理和数据分析函数包(Geographic and Meteorological Analysis,gma)。gma 网站:地理与气象分析库。
gma 的主要功能有哪些?
气候气象(例如 SPEI、SPI、ET0 等)。
遥感指数(例如 NDVI、EVI、TVDI 等)。
数学运算(例如 数据平滑、评估、滤波、拉伸、增强变换等)。
系统交互(例如 获取路径、重命名、压缩等操作)。
空间杂项(例如 计算空间距离、面积计算,坐标转换、空间插值等操作)。
栅格处理(例如 栅格镶嵌、裁剪、重采样、重投影、格式转换、数据融合等)。
栅格分析(例如 DEM 坡度、坡向、阴影、等值线等计算)。
矢量处理(例如 矢量裁剪、擦除、交集、融合、重投影等)。
地图工具(例如 栅格、矢量数据绘图,指北针、比例尺等生成,坐标系定义等)
gma 的安装要求?
系统 (X64): Window 10+,Linux
Python 版本: 3.8.8 ~ 3.10,建议使用 3.9
gma 哪个版本开始支持空间绘图?
gma 1.1.2 及之后的版本
点击查看:gma 1.1.2 版本的新增内容
了解古代洛阳 5 大都城遗址
历史上,夏、商、西周、东周、东汉、曹魏、西晋、北魏、隋、唐(含武周)、后梁、后唐、后晋等朝代先后在洛阳建都。洛阳的都城史长达1500年,是我国建都年代最早、朝代最多、时间最长的古都。
入选“百年百大考古发现”的五大都城遗址均分布在洛阳盆地腹心的伊洛平原上,沿洛河一线从东到西分别为偃师商城(商西亳城)、夏都二里头(夏斟鄩城)、汉魏洛阳城(周成周城、汉晋洛阳城、北魏洛阳城)、隋唐洛阳城和周王城。它们的东西距离只有30多公里,如此密集的都城分布举世罕见,人称“五都荟洛”。
注:周洛邑包含两座城:成周和王城。
开始绘制
数据准备
- 5大都成遗址矢量(.shp)文件:
链接:https://pan.baidu.com/s/1BSDJT0AKOyJ2BC9xz9J5Yw?pwd=oljj
提取码:oljj- 卫星影像底图:谷歌影像下载后保存为 .tif 文件。
绘图代码
import gma
from gma.map import plot, rcs
# 0.数据准备
DuChengDS = gma.Open('5大都城遗址.shp')
DuChengLayer = DuChengDS.GetLayer(0)
TCI = gma.Open('LY-TCI.tif')
# 1.初始化一个地图框
MapF = plot.MapFrame(BaseMapProj = 3857, Extent = [112.35, 34.58, 112.8, 34.8])
# 1. 添加图层
## 1.1 添加 5 大都城遗址矢量
MapL1 = MapF.AddLayer(DuChengLayer, FaceColor = Colors, EdgeColor = 'gray', LineWidth = 0.1, Zorder = 1)
## 1.1.1 添加标注
MapL1.AddLabel(FieldName = ['Name', 'Time'], Connector = '
', Font = 'KaiTi', FontSize = 6.5, Color = '#8B0000')
# 1.2 添加影像底图
MapD1 = MapF.AddDataSetDiscrete(TCI)
# 2.添加经纬网
Grid = MapF.AddGridLines(LONRange = (112.4, 112.8, 0.1), LATRange = (34.53, 44.83, 0.1), LineWidth = 0.2, LineColor = '#FFD700')
# 3.设置地图框(包括刻度和经纬度的标注)
Frame = MapF.SetFrame(FrameWidth = 0.5, LabelFontSize = 7, TickLength = 0.008, Precision = 2)
# *4.地图整饰要素(太丑了,可以不加)
## 4.1 添加指北针
Compass = MapF.AddCompass(LOC = (0.06, 0.8), Width = 0.05, Color = '#FFA500')
## 4.2 添加比例尺
ScaleBar = MapF.AddScaleBar(LOC = (0.1, 0.1), Width = 0.22)
干净清爽不带底图的
import gma
from gma.map import plot, rcs
# 0.数据准备
DuChengDS = gma.Open('5大都城遗址.shp')
DuChengLayer = DuChengDS.GetLayer(0)
TCI = gma.Open('LY-TCI.tif')
# 1.初始化一个地图框
MapF = plot.MapFrame(BaseMapProj = 3857, Extent = [112.35, 34.58, 112.8, 34.8])
# 1. 添加图层
## 1.1 添加 5 大都城遗址矢量
MapL1 = MapF.AddLayer(DuChengLayer, FaceColor = Colors, EdgeColor = 'gray', LineWidth = 0.1, Zorder = 1)
## 1.1.1 添加标注
MapL1.AddLabel(FieldName = ['Name', 'Time'], Connector = '
', Font = 'KaiTi', FontSize = 6.5, Color = '#8B0000')
# 2.添加经纬网
Grid = MapF.AddGridLines(LONRange = (112.4, 112.8, 0.1), LATRange = (34.53, 44.83, 0.1), LineWidth = 0.2, LineColor = '#FFD700')
# 3.设置地图框(包括刻度和经纬度的标注)
Frame = MapF.SetFrame(FrameWidth = 0.5, LabelFontSize = 7, TickLength = 0.008, Precision = 2)
# *4.地图整饰要素(太丑了,可以不加)
## 4.1 添加指北针
Compass = MapF.AddCompass(LOC = (0.06, 0.8), Width = 0.05, Color = '#FFA500')
## 4.2 添加比例尺
ScaleBar = MapF.AddScaleBar(LOC = (0.1, 0.1), Width = 0.22)
相关文章
- 因果推断主要技术思想与方法总结
- 云计算与数据中心的关系
- 2022年的云计算虚拟化市场现状和发展
- 如何为企业的SaaS用户通信构建安全性
- 迎接挑战 持续创新——思科Meraki开启混合办公新模式
- 亚马逊云科技中国企业出海季大会盛大开幕 构建全球化“底座” 赋能中国企业和合作伙伴全球布局
- 到 2027 年,全球Wi-Fi 6 市场规模将达 262 亿美元
- 舌尖上的ChatGPT:普通食材,当然要用高端AI生成菜单
- 从技术上云,到管理上云 “新型中国企业”数字化转型新趋势
- 如何应对网络中断的噩梦
- 实现Kubernetes可观测性的三种优秀工具
- 瑞数信息:警惕支付接口被挪用,API安全防护势在必行
- 英伟达网络高级产品经理陈龙:揭秘InfiniBand网络集群架构的演进之路
- 如何实施多云威胁搜寻策略
- All in ONE!博睿数据重磅推出一体化智能可观测平台
- 使用 Traefik Hub 轻松暴露本地 Kubernetes 集群服务
- 我把ChatGPT拉到微信群里来了,都可以对AI提问了!
- 七 个超酷的 AI 工具值得一试
- 四个用于在云原生环境中运行虚拟机的开源工具
- 生成式语义分割新范式GMMSeg,可同时处理闭集和开集识别