跳转到主要内容

通用地图工具的Python接口

项目描述

PyGMT

通用地图工具的Python接口

文档(开发版本) | 联系 | 在线试用

Latest version on PyPI Latest version on conda-forge GitHub Actions Tests status GitHub Actions GMT Dev Tests status Ruff Test coverage status CodSpeed Performance Benchmarks Compatible Python versions. Discourse forum Digital Object Identifier for the Zenodo archive PyOpenSci GitHub license Contributor Code of Conduct

为什么选择PyGMT?

一张美丽的地图胜过千言万语。要真正了解PyGMT的强大之处,请在Binder上在线试用!如果您想快速了解,请查看我们的3分钟概述

之后,您可以查看我们的教程,访问展示馆,并查看一些外部PyGMT示例

Quick Introduction to PyGMT YouTube Video

关于

PyGMT是一个用于处理地理空间和地球物理数据以及制作出版物质量地图和图形的库。它提供了一个Python接口,用于通用地图工具(GMT),GMT是一个在地球、海洋和行星科学以及更广泛领域广泛使用的命令行程序。

项目目标

  • 使GMT更容易被新用户访问。
  • 为GMT构建Python接口。
  • 直接使用ctypes使用GMT C API(无系统调用)。
  • 支持在Jupyter笔记本中的丰富显示。
  • PyData生态系统集成:用于数据表的是numpy.ndarraypandas.DataFrame,用于网格的是xarray.DataArray,用于地理数据的是geopandas.GeoDataFrame

快速入门

安装

使用mamba进行简单安装

mamba install --channel conda-forge pygmt

如果您使用conda

conda install --channel conda-forge pygmt

有关安装pygmt的其他方法,请参阅完整的安装说明

开始使用

作为一个起点,您可以打开一个Python解释器或一个Jupyter笔记本,并尝试以下示例

import pygmt
fig = pygmt.Figure()
fig.coast(projection="N15c", region="g", frame=True, land="tan", water="lightblue")
fig.text(position="MC", text="PyGMT", font="80p,Helvetica-Bold,red@75")
fig.show()

您应该看到一个全球地图,陆地和水域分别用棕褐色和浅蓝色着色。在最上面,应该有一个半透明的文本“PyGMT”。有关更多示例,请参阅展示馆教程

联系我们

  • 大多数讨论都在GitHub上进行。您可以自由提出问题或对任何开放问题或拉取请求发表评论。
  • 我们有一个Discourse论坛,您可以在那里提问并留下评论。

贡献

行为准则

请注意,本项目以贡献者行为准则发布。通过参与本项目,您同意遵守其条款。

贡献指南

请阅读我们的贡献指南,了解您如何帮助并提供反馈。

冒充者综合症免责声明

我们需要您的帮助。 不,真的。

您内心可能有一个小声音在告诉您,您还没有准备好成为一个开源贡献者;您的技能远远不足以做出贡献。您能提供什么呢?

我们向您保证,您内心的小声音是错误的。

成为贡献者不仅仅是编写代码。 重要的贡献还包括:撰写或校对文档、建议或实施测试,甚至对项目(包括对贡献过程的反馈)。如果你以全新的视角加入项目,可能会发现资深贡献者忽视的错误和假设。如果你能编写任何代码,你就可以为开源贡献代码。我们一直在尝试新技能、犯错并从错误中学习。这就是我们所有人提高的方式,我们很乐意帮助他人学习。

本免责声明改编自 MetPy项目

引用PyGMT

PyGMT是一个社区开发的项目。请参阅GitHub上的AUTHORS.md文件,以了解参与人员名单和“PyGMT开发者”这一术语的定义。您可以在研究中使用以下BibTeX引用我们的工作。

@software{
  pygmt_2024_13679420,
  author       = {Tian, Dongdong and
                  Uieda, Leonardo and
                  Leong, Wei Ji and
                  Fröhlich, Yvonne and
                  Schlitzer, William and
                  Grund, Michael and
                  Jones, Max and
                  Toney, Liam and
                  Yao, Jiayuan and
                  Magen, Yohai and
                  Tong, Jing-Hui and
                  Materna, Kathryn and
                  Belem, Andre and
                  Newton, Tyler and
                  Anant, Abhishek and
                  Ziebarth, Malte and
                  Quinn, Jamie and
                  Wessel, Paul},
  title        = {{PyGMT: A Python interface for the Generic Mapping Tools}},
  month        = sep,
  year         = 2024,
  publisher    = {Zenodo},
  version      = {0.13.0},
  doi          = {10.5281/zenodo.13679420},
  url          = {https://doi.org/10.5281/zenodo.13679420}
}

要引用PyGMT的特定版本,请访问我们的Zenodo页面https://doi.org/10.5281/zenodo.3781524并使用那里的“导出为BibTeX”功能。还强烈建议引用GMT 6论文(PyGMT所包装的)。注意,一些模块如dimfiltersurfacex2sys也有它们专门的引用。所有这些的更多信息可以在https://www.generic-mapping-tools.org/cite找到。

许可证

PyGMT是免费软件:您可以在BSD 3条款许可的条款下重新分配它或修改它。本许可证的副本可在LICENSE.txt中找到。

支持

PyGMT的开发得到了NSF资助的OCE-1558403EAR-1948603的支持。

相关项目

GMT的其他官方包装器

  • GMT.jl:GMT的Julia包装器。
  • gmtmex:GMT的Matlab/Octave包装器。

最低支持版本

PyGMT已采用SPEC 0,与整个科学Python生态系统一起,因此

  • 在初始发布三年后停止支持Python版本。
  • 在初始发布两年后停止对核心包依赖项(NumPy/Pandas/Xarray)的支持。

同样,PyGMT团队已决定在初始发布三年后停止对GMT版本的支持。

请参阅最低支持版本,了解GMT、Python和核心包依赖项的最低支持版本。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装软件包的信息。

源分发

pygmt-0.13.0.tar.gz (198.5 kB 查看哈希值)

上传于 源代码

构建发行版

pygmt-0.13.0-py3-none-any.whl (267.7 kB 查看哈希值)

上传于 Python 3

由以下支持