跳转到主要内容

网络约束空间数据分析

项目描述

pysal/spaghetti

SPAtial GrapHs: nETworks, Topology, & Inference

Spaghetti 是一个开源的 Python 库,用于分析基于网络的地理空间数据。它起源于 PySAL(Python 空间分析库)中的 network 模块,目前正在积极开发,以包含构建图论网络和分析网络事件的新提出的方法。

网络的最小生成树示例

PyPI version Conda Version tag Binder
Downloads Conda Downloads Documentation Discord
Pypi python versions Conda Recipe codecov Ruff
Continuous Integration status DOI License

示例

以下是一些示例的选择,可以从各自页面的链接中单独启动为交互式绑包。更多示例可以在文档的 教程 部分找到。有关此存储库的 pysal/notebooks 版本的 jupyter-book 版本,请参阅 pysal/notebooks 项目。

安装

已测试 spaghetti 对 Python >= 3.10 的支持。请确保您正在 Python >= 3.10 环境中操作。

使用 conda 通过 conda-forge 安装(强烈推荐)

要安装 spaghetti 和所有其依赖项,我们建议使用 conda 管理器,特别是使用 conda-forge 通道。这可以通过安装 Anaconda Distribution(一个免费的数据科学 Python 发行版)或通过 miniconda(仅包含 Python 和 conda 软件包管理器的最小发行版)来获得。

使用 conda,可以按如下方式安装 spaghetti

$ conda config --set channel_priority strict
$ conda install --channel conda-forge spaghetti

此外,geopandas 提供了 一个创建用于处理空间数据的全新环境的示例

使用 PyPI 安装

$ pip install spaghetti

下载源代码分发(.tar.gz)并将其解压缩到您的选定位置。打开命令行并导航到解压缩的文件夹。

$ pip install .

警告

通过 pip 安装时,您必须确保操作系统上安装了 spaghetti 所需的依赖项。有关安装这些软件包的详细信息,请参阅下面的链接。使用 conda(如上所述)可以避免单独安装依赖项。

通过运行以下命令安装 spaghetti 的最新开发版本

$ pip install git+https://github.com/pysal/spaghetti

需求

历史记录

spaghetti 是在 Python 空间分析库生态系统中创建并演变的,专门用于利用 libpysal 中空间权重功能的生成网络片段连续性对象。PySAL 项目始于 2000 年代中期,当时安装维护困难。由于对次要包依赖的非平凡性,有意识地决定限制依赖关系,并在所有可能的情况下构建原生 PySAL 数据结构。因此,原始的 pysal.network 子模块被开发出来,以满足将网络数据结构支持与 PySAL 权重数据结构集成的需求,目标受众是空间数据科学家和任何对在 PySAL 中研究以网络为中心的现象感兴趣的人。由于 spaghetti 中网络功能的共同开发和更广泛的 PySAL 生态系统的演变,如今,该包提供了易于与 PySAL 的其余部分集成的专业网络功能。这使得 spaghetti 网络功能的使用者能够访问补充网络分析的空间分析功能,例如与 esda 的空间统计工具以及与 libpysal 的核心组件的集成:libpysal.weights(如上所述)、libpysal.cg(计算几何和数据结构)、libpysal.io(输入-输出)和 libpysal.examples(内置示例数据)。

贡献

PySAL-spaghetti 正在积极开发中,欢迎贡献者。

如果您有任何建议、功能请求或错误报告,请在新 GitHub 问题上 提出。要提交补丁,请在提交 拉取请求 之前,审查 PySAL 开发者文档、PySAL 的 开发指南spaghetti贡献指南。一旦您的更改被合并,您将自动被添加到 贡献者列表

支持

如果您遇到问题,请 创建一个问题,开始一个 讨论,或在 PySAL 的 Discord 频道 中与我们交谈。所有问题、评论和讨论应尽可能在公开论坛上进行。私人消息和电子邮件将不会得到实质性回复。

行为准则

作为 PySAL 联邦项目,spaghetti 遵循 行为准则,该准则位于 PySAL 治理模型 下。

许可证

该项目采用 BSD 3-Clause 许可证

BibTeX 引用

如果您在科学出版物中使用 PySAL-spaghetti,我们将非常感谢您使用以下引用

@article{Gaboardi2021,
    doi       = {10.21105/joss.02826},
    url       = {https://doi.org/10.21105/joss.02826},
    year      = {2021},
    publisher = {The Open Journal},
    volume    = {6},
    number    = {62},
    pages     = {2826},
    author    = {James D. Gaboardi and Sergio Rey and Stefanie Lumnitz},
    title     = {spaghetti: spatial network analysis in PySAL},
    journal   = {Journal of Open Source Software}
}

@misc{Gaboardi2018,
    author    = {Gaboardi, James D. and Laura, Jay and Rey, Sergio and 
                 Wolf, Levi John and Folch, David C. and Kang, Wei and 
                 Stephens, Philip and Schmidt, Charles},
    month     = {oct},
    year      = {2018},
    title     = {pysal/spaghetti},
    url       = {https://github.com/pysal/spaghetti},
    doi       = {10.5281/zenodo.1343650},
    keywords  = {graph-theory,network-analysis,python,spatial-networks,topology}
}

资助

此项目部分由以下资助

亚特兰大研究数据中心:基于多边形的空间网络分配方法

国家科学基金会奖 #1825768:国家历史地理信息系统

项目详情


下载文件

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

源分发

spaghetti-1.7.6.tar.gz (22.2 MB 查看散列值)

上传时间

构建分发

spaghetti-1.7.6-py3-none-any.whl (53.9 kB 查看散列值)

上传时间 Python 3

支持者:

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误记录StatusPageStatusPage状态页