网络约束空间数据分析
项目描述
pysal/spaghetti
SPAtial GrapHs: nETworks, Topology, & Inference
Spaghetti 是一个开源的 Python 库,用于分析基于网络的地理空间数据。它起源于 PySAL(Python 空间分析库)中的 network
模块,目前正在积极开发,以包含构建图论网络和分析网络事件的新提出的方法。
网络的最小生成树示例
示例
以下是一些示例的选择,可以从各自页面的链接中单独启动为交互式绑包。更多示例可以在文档的 教程 部分找到。有关此存储库的 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 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | c9beddbb3bf285e88745d36aee886c78ac6e6a416f0f9b1a441265c8c08f923d |
|
MD5 | 95ae17e48f428bc2ed72e4500cc969a1 |
|
BLAKE2b-256 | 07eb55d382ef7c0b1459ccd419e19d46aa9f64effaf99e3651a8f6919964efcb |
spaghetti-1.7.6-py3-none-any.whl 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 184ececfac6006843c22ca5d2de31621983606e7a611c0107fe5ae4ead33396e |
|
MD5 | 805ec6fd7d80c3cb5bd0a08a0ed5136e |
|
BLAKE2b-256 | 29048f6b281e28cc090f368f5eee126d8fd72f60ed9a318893a54989918b048b |