重大更新:从本版本开始, gma 逐步 支持空间绘图功能(依赖 matplotlib)!

获取 gma 1.1.2

1、百度网盘:

链接:https://pan.baidu.com/s/1eT2rJRiUDJuJkWeLJNL-cw?pwd=b07n
提取码:b07n

2、pypi 官网:

https://pypi.org/project/gma/

优化内容:

1、SPEI、SPI

修改 Periodicity 参数默认值 为 1。

2、Feature

为配合 空间绘图 功能,重构了此类,并增加 Intersection(相交)、Reproject(重投影)等方法。

新增 map 地图工具包

1、adjust 模块

自适应计算。主要用于地图框刻度位置抽取与计算。

2、appearance 模块

地图整饰要素。主要用于定义指北针和比例尺的样式。

3、feature 模块

要素绘制。主要用于绘制 gma.~.Feature。

4、layer 模块

图层绘制。主要用于绘制 gma.~.Layer。

5、layout 模块(主要模块)

地图布局(参考 ArcGIS 地图布局)。通过地图布局,实现地图绘制功能。主要的功能包括:

  • 5.1 MapFrame:初始化地图框,用于绘图(类,5.2 及以下均为类方法)

  • 5.2 AddLayer:添加图层(可以重复添加多个图层)

    • 5.2.1 AddLabel:添加地图标注,为 layer 模块的功能
  • 5.3 AddGridLines:添加经纬网

  • 5.4 SetFrame:设置地图框(包括刻度和经纬度的标注等)

  • 5.5 SetBackground:设置背景颜色

  • 5.6 AddCompass:添加指北针

  • 5.7 AddScaleBar:添加比例尺

  • 5.8 AddLegend:添加图例

6、plot 模块(推荐导入模块)

整合其他绘图模块中的主要功能,导入此模块可直接引入主要的绘图功能。

6.1 MapFrame:来自 layout。

6.2 GetWorldDataSource:获取 gma 提供的低精度世界国家和政区界。

7、rcs 模块(主要模块)

空间参考的创建和变换,并内建了4个可配置的坐标系统。主要的功能包括:

  • 7.1 SpatRef: 空间参考类。可将 EPSG,MICoordSys,PCI,PROJJSON,PrettyWkt,Proj4,USGS,Wkt,XML 或部分主要坐标系名称(例如 WGS84)等初始化为 gma 可识别的空间参考!

  • 7.2 AlbersEqualArea:创建阿尔伯斯投影等面积投影。

  • 7.3 CustomGCS:创建一个类 WGS84 坐标系(修改中央子午线)。

  • 7.4 Mollweide:创建摩尔威德投影。

  • 7.5 Robinson:创建伪圆柱投影。

8、tools 模块

经纬网和地图框范围等生成。

9、utils 模块

matplotlib 子图初始化和自定义参数配置。

简单示例 1

底图投影为 EPSG 代码表示:底图坐标系 EPSG: 2163 (NAD27 / US National Atlas Equal Area)

from gma.map import plotWorldDS = plot.GetWorldDataSource()
WorldLayer = WorldDS.GetLayer(0)## 初始化一个地图框,用于绘图
MapF = plot.MapFrame(BaseMapProj = 2163, Extent = None)# 1.添加图层(可以重复添加多个图层)
MapL1 = MapF.AddLayer(WorldLayer, FaceColor = None, EdgeColor = 'gray', LineWidth = 0.1)
## 1.1 为此图层添加标注(标注属性表 'Name' 列)
MapL1.AddLabel(FieldName = 'Name', FontSize = 4)# 2.添加经纬网
Grid = MapF.AddGridLines(LONRange = (-180, 180, 30), LATRange = (-90, 90, 15), LineWidth = 0.2)# 3.设置地图框(包括刻度和经纬度的标注)
Frame = MapF.SetFrame(FrameWidth = 0.5, LabelFontSize = 7, TickLength = 0.008)# 4.设置底图颜色
Background = MapF.SetBackground(Color = '#BEE8FF')# *5.地图整饰要素
## 5.1 添加指北针
Compass = MapF.AddCompass(LOC = (0.06, 0.86), Width = 0.05, Color = 'black')
## 5.2 添加比例尺
ScaleBar = MapF.AddScaleBar(LOC = (0.02, 0), Width = 0.22, Color = 'black')
## 5.3 添加图例
Legend = MapF.AddLegend(LOC = (1, 0), NColumns = 1, TitleAlignment = 'left')

简单示例 2

自定义底图投影:底图坐标系 AlbersEqualArea (中央经线 112°E,标准纬线:25°N,47°N)

from gma.map import plot, rcsWorldDS = plot.GetWorldDataSource()
WorldLayer = WorldDS.GetLayer(0)Spat = rcs.AlbersEqualArea(CentralLongitude=112, StandardParallels=(25, 47))## 初始化一个地图框,用于绘图
MapF = plot.MapFrame(BaseMapProj = Spat, Extent = None)# 1.添加图层(可以重复添加多个图层)
MapL1 = MapF.AddLayer(WorldLayer, FaceColor = None, EdgeColor = 'gray', LineWidth = 0.1)# 2.添加经纬网
Grid = MapF.AddGridLines(LONRange = (-180, 180, 30), LATRange = (-90, 90, 30), LineWidth = 0.2)# 3.设置地图框(包括刻度和经纬度的标注)
Frame = MapF.SetFrame(FrameWidth = 0.5, LabelFontSize = 5, TickLength = 0.008)

简单示例 3

绘制部分区域:底图坐标系 AlbersEqualArea (中央经线 15°E,标准纬线:30°N,60°N)

from gma.map import plot, rcsWorldDS = plot.GetWorldDataSource()
WorldLayer = WorldDS.GetLayer(0)Spat = rcs.AlbersEqualArea(CentralLongitude = 15, StandardParallels = (30, 60))## 初始化一个地图框,用于绘图
MapF = plot.MapFrame(BaseMapProj = Spat, Extent = [-10, 30, 40, 60])# 1.添加图层(可以重复添加多个图层)
MapL1 = MapF.AddLayer(WorldLayer, FaceColor = None, EdgeColor = 'gray', LineWidth = 0.1)
MapL1.AddLabel(FieldName = 'Name', FontSize = 4)# 2.添加经纬网
Grid = MapF.AddGridLines(LONRange = (-180, 180, 20), LATRange = (-90, 90, 15), LineWidth = 0.2)# 3.设置地图框(包括刻度和经纬度的标注)
Frame = MapF.SetFrame(FrameWidth = 0.5, LabelFontSize = 6, TickLength = 0.008)

沟通学习疑问等请私信作者

gma 1.1.2 (2023.01.14) 更新日志(重大更新:开始支持空间绘图)相关推荐

  1. 更新日志_Roam 更新日志:0.7.3 啦

    封面图 8 岁的 Rihantely Niles 在库拉索岛的一所学校聆听火烈鸟 Bob 的心跳.岛上的美洲火烈鸟经常受到塑料污染和废弃渔具的伤害,我的表姐奥黛特抱着这只曾经被拯救的火烈鸟,在她的教育 ...

  2. 解决谷歌翻译不能使用的问题(2023.01.14)

    今天登录国外网站,发现谷歌翻译已无法正常使用,网上最多的方法就是更改host文件,在host内增加ip地址,亲测管用,但是经常失效,经常手动更改增加ip着实烦恼,于是登录GitHub后找到Ponder ...

  3. 蓝松短视频----更新日志(一直更新中...)

    (这个文章, 因工作忙, 有时文字不会更新到这里, 如果您想全面了解我们的SDK, 请直接下载) 下载地址: android:    https://github.com/LanSoSdk/video ...

  4. iPadOS 更新日志 - 持续更新中

    本文只是为了简单记录一下每个正式版本发布时间和更新内容,只有这个初衷,从2019年9月25日开始,将会持续更新. iPadOS 13.1 - 2019年9月25日 经全新命名的 iPadOS 是一款强 ...

  5. gma 地理空间绘图:(1)绘制简单的世界地图-1.地图绘制与细节调整

    了解 gma gma 是什么? gma 是一个基于 Python 的地理.气象数据快速处理和数据分析函数包(Geographic and Meteorological Analysis,gma).gm ...

  6. 【各版本通吃】【2023/05/14更新】通过网易云音乐分享链接找到分享用户主页

    2023/05/14正式更新,支持所有版本解析 简介 曾经网易云音乐的音乐分享链接携带了用户明文 id ,可以直接通过拼接网址得到用户主页. 前天发现官方为这个举措在安全层面下了功夫加固了数据,好歹终 ...

  7. 【2023.01.03】定时执行专家 V6.5 更新日志 - TimingExecutor V6.5 Change Log

    目录 ◆ 最新版下载链接 ◆ 软件更新日志 – TimingExecutor Full Change Log ▼ 2023-01-03  V6.5 ▼ 2022-12-25  V6.4 ▼ 2022- ...

  8. 2021.01.14【NOIP提高B组】模拟 总结

    2021.01.14[NOIP提高B组]模拟 总结 第一题 Candy 奇奇怪怪的题目. 一开始没有理解题目,其实就是同时变换. 打了一个暴力. 本人随机生成50000组数据,都过了,时间没超.希望出 ...

  9. 自建 | gma库更新日志

    更多内容请点击 http://gma.luosgeo.com/Update/Update.html 1.0.6(2022.03.17) 引入 constants常量模块. 提供数学常量.国际单位制词头 ...

最新文章

  1. 学python是看书还是看视频-零基础自学Python是看书还是看视频?
  2. defer 的前世今生
  3. CSS改变插入光标颜色
  4. java taken_java-是否有正确的方法在slf4j中传递参数?
  5. spring mvc学习(19):cookievalue注解(显示cookie的值,默认必须有值)
  6. 【linux】学习6
  7. 知乎热榜:程序员达到什么水平能拿到20k月薪
  8. 【LeetCode】3月30日打卡-Day15
  9. uiscrollview 图片放大缩小
  10. blender 3d打印_使用Blender创建用于打印的3D模型:高级技巧
  11. 【0723】自动化运维——saltstack
  12. oracle临时表经常被锁_linux安装oracle
  13. W ndows7安装Hp1020,Windows7系统怎么安装惠普hp1020打印机
  14. 数据库基本概念、DBMS、DBS
  15. ubuntu中搜狗输入法怎么翻页
  16. 欧几里得算法求解最大公因数详解
  17. 再说说TCP和UDP源端口的确定
  18. DeepMind新AI可生成逼真视频
  19. 晟兴地球如何添加经纬网
  20. 行业认证标准:如何达到DISA ASD STIG规范进行软件开发

热门文章

  1. 高校物资采购管理系统
  2. 投资组合管理matlab,《投资组合管理》投资-教材-组合分析.pdf
  3. win10任务栏卡死
  4. 德国 DocuWare 文档管理软件平台
  5. C语言 linux 木马,C语言写病毒,木马
  6. 如何为opencart安装中文语言包
  7. HIS系统多少钱?HIS怎么卖?
  8. 自动驾驶-车辆检测(YOLO算法)
  9. 实时显示时间(HTML+JS)
  10. [Appium]MAC安装Appium