tripack和stripack fortran代码的python接口,用于笛卡尔坐标系和球体上的三角测量/插值

strip的Python项目详细描述


条纹

docker云自动构建pypi

tripack和stripack fortran代码的python接口,用于在笛卡尔坐标系和球体上进行(受约束的)三角剖分。stripy是一个面向对象的包,它包括srfpack和ssrfpack的例程,用于插值(最近邻、线性和hermite立方)和求导(renka 1996a、b和1997a、b)。

stripylitho1pt0捆绑在一起,后者是地壳1.0数据集和litho 1.0数据集岩石圈部分(laske et al,2013和pasyanos et al,2014)的python接口,两者都需要并演示由<代码>条纹

示例

使用"条纹"创建的示例图像演示了网格划分功能、优化网格以匹配数据密度等条件的能力以及创建网格距离加权平均值和连续插值函数的能力

活页夹

在links.underworldcode.org/stripy-live(mybinder.org)启动演示

binder

引文

doihttps://doi.org/10.21105/joss.01110

导航/笔记本

有两组匹配的条纹笔记本电脑-一组用于笛卡尔三角剖分,另一组用于球面三角剖分。对于大多数地理应用来说,球面三角剖分是自然的选择,因为它们期望经纬度坐标(当然是弧度坐标)。

注意:笛卡尔和球面笔记本可以从stripy本身获得/安装,如下所示:

   python -c 'import stripy; stripy.documentation.install_documentation(path="Notebooks")'

笛卡尔

球形

示例

注意,这些示例是从 包装本身:

   python -c 'import litho1pt0; litho1pt0.documentation.install_documentation(path="Notebooks")'

前三个笔记本是对lithi1pt0的介绍,没有明确提到stripy但是 接下来的两个示例演示了如何借助stripy例程搜索、插值和绘图。

安装

依赖关系

您将需要Python2.7或3.5+。 此外,还需要以下软件包:

运行笔记本电脑的推荐软件包:

使用PIP安装

您可以使用 pip包管理器使用任一版本的python:

python2 -m pip install stripy
python3 -m pip install stripy

所有依赖项都将由pip自动安装,除了gfortran (或任何Fortran编译器)。在安装之前,它必须安装在系统中 stripypip

如果更改Fortran编译器,则可能需要添加 运行setup.py时的标志 (参见文档了解numpy.distutils)。

使用Docker安装

不依赖于特定编译器的更直接的安装依赖于docker虚拟化系统。

要安装Docker映像并测试它是否正常工作:

   docker pull underworldcode/stripy:latest
   docker run --rm underworldcode/stripy:latest help

安装bash的帮助脚本:

   docker run --rm underworldcode/stripy:latest bash_utils > bash_utils.sh
   source bash_utils.sh

(您可能会发现移动/重命名此文件并将其从 登录时的bash配置文件)

bash-utils.sh脚本安装以下函数 可通过bash命令行使用:

  stripy-docker-help
  stripy-docker-sh
  stripy-docker-nb
  stripy-docker-browse
  stripy-docker-serve
  stripy-docker-terminal

有关这些功能的详细信息,请运行

source bash_utils.sh
  stripy-docker-help

要像使用docker版本一样使用,比如说,使用ipython在命令行上键入:

source bash_utils.sh  # (only needs to be done once)
   stripy-docker-terminal
   ls
   ipython

使用Docker版本运行脚本

source bash_utils.sh  # (only needs to be done once)
   stripy-docker-sh my_python_script.py

为了在本地构建dockerfile,我们提供了一个脚本。首先确保您已经从github签出了源代码,然后在docker目录中运行脚本。如果您修改了dockerfile并希望推送该图像以使其公开,则需要重新标记该图像以上载到黑社会代码库以外的其他位置。

   python -c 'import stripy; stripy.documentation.install_documentation(path="Notebooks")'
0

用法

条纹套装包含两个类别:

  • 条纹角度(球面坐标)
  • 三角剖分(笛卡尔坐标)

这些类共享相似的方法,并且可以很容易地交换。 此外,还提供了许多用于构建网格的辅助函数。

一系列测试位于tests子目录中。 为了执行这些测试,克隆存储库并运行pytest

   python -c 'import stripy; stripy.documentation.install_documentation(path="Notebooks")'
1

参考文献

  1. Laske,G.,G.Masters和Z.MA(2013年),《甲壳1的更新》。地壳0-a 1度全球模型,地球物理研究摘要,15,egu2013–2658。

  2. Pasyanos,M.E.,T.G.Masters,G.Laske和Z.MA(2014年),《岩石1.0:地球的地壳和岩石圈模型更新》,《地球物理研究杂志固体地球》,119(3),2153–2173,doi:10.1002/2013jb010626。

  3. R.J.Renka,"算法751:Tripack:一个约束的二维Delaunay三角剖分包",ACM Trans.数学。软件,第22卷,第1期,1996年,第1-8页。

  4. R.J.Renka,"算法752:SRFPack:张力下带约束曲面的散乱数据拟合软件",ACM Trans.数学。软件,第22卷,第1期,1996年,第9-17页。

  5. R.J.Renka,"算法772:Stripack:球面上的Delaunay三角剖分和Voronoi图",ACM Trans.数学。软件,第23卷,第3期,1997年,第416-434页。

  6. R.J.Renka,"算法773:SSRFPACK:在有张力表面的球体表面上的散射数据插值",ACM Trans.数学。软件,第23卷,第3期,1997年,第437-439页。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java具有数量可变的参数,可以同时加载数量可变的图像   java应用程序在后台运行数小时后,当对象变量被系统破坏时,如何在应用程序类中保存对象变量   Java使用不带名称空间的XSD验证XML   关于在Play 2.2.1上安装死锁的java问题   字符串中的java字符串分隔符。分裂法   菜单中的java项不显示操作栏,而是在三个点中显示,没有任何图标   以int值作为键的java HashMap   java OpenAPIgeneratorEventPlugin身份验证查询参数未发送   java如何使用用户输入停止程序   java XIMA Formcycle图像预览问题   java Android登录MainActivity中的google   java Spring JPA@Query JPQL因“意外标记:日期”而失败   java如何将JTextField中的数据保存到mysql数据库中?   java jMonkeyEngine是否在网格内应用材质?   java传感器。键入旋转向量没有值?   java是一个从随机数序列中求值的简单算法吗?   java安卓8。x通知:当我的应用打开时,如何避免通过我的应用淡入/淡出通知?   java tomcat无法启动:严重:启动静态资源时出错   带有自定义列表的java Json操作警告