开始

该库包含一系列地理加权模型的 C++ 实现。目前已经实现的模型有:

  • 地理加权回归

  • 地理加权汇总统计

  • 地理加权主成分分析

与其他库相比,该库具有下列特性:

  • [x] 高效的纯 C++ 实现

  • [x] 可以作为动态库或静态库引入

  • [x] 使用 OpenMP 进行算法加速

  • [x] 使用 CUDA 以实现极高性能

  • [x] 基于 CMake 实现跨平台配置和构建

  • [x] 基于 Cython 的 Python 外壳

借助于面向对象的代码风格,该类很容易被集成进其他 C++ 项目。

安装

可以使用 CMake 进行编译和安装。需要下列依赖项:

  • Armadillo 以及一个 BLAS 和 LAPACK 实现。例如 OpenBLAS 和 Intel MKL。

  • OpenMP (如果 ENABLE_OPENMP 被定义),通常由编译器提供。在 macOS 上,默认不支持 OpenMP。

  • CUDA 和 cuBLAS (如果 ENABLE_CUDA 被定义,目前相关功能尚未实现)

  • Cython (如果定义了 WITH_PYTHON

然后使用 cmake 命令配置项目,例如

mkdir build
cd build
cmake ..

然后编译项目,例如

cmake --build . --config Release -T host=x64

目前,还不支持自动安装。

用法

通常,在项目中包含 gwmodel.h 头文件即可。

查看测试项目中的 static.cppshared.cpp 文件以获取更多信息。

未来将提供在 Python 调用的案例。

对于 Python 的支持已经归档。请查看标签 v0.2.0

开发

该仓库提供了 VSCode 容器开发环境配置。开发者可以创建一个开箱即用的容器。使用方法如下,

  1. 安装 Docker。

  2. 使用 VSCode 打开该仓库。

  3. 按下 Ctrl+P 以打开命令面板,然后选择“在容器中打开”。

  4. 等待容器构建完成。

当容器构建完成,就可以进行开发和测试了。