Metadata-Version: 2.4
Name: gasfca
Version: 1.2.0
Summary: 高斯两步移动搜索法（Ga2SFCA）高性能城市公共资源可达性分析工具
Author-email: 大城智算团队 <1071974905@qq.com>
License: MIT
Keywords: GIS,accessibility,urban-planning,spatial-analysis
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Scientific/Engineering :: GIS
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: geopandas>=0.12.0
Requires-Dist: pandas>=1.5.0
Requires-Dist: numpy>=1.21.0
Requires-Dist: pyproj>=3.4.0
Requires-Dist: scipy>=1.9.0
Requires-Dist: networkit>=11.2.1
Requires-Dist: numba>=0.57.0
Requires-Dist: rasterio>=1.3.0
Requires-Dist: shapely>=2.0.0
Requires-Dist: matplotlib>=3.6.0
Requires-Dist: tqdm>=4.64.0
Requires-Dist: pyogrio>=0.4.0
Dynamic: license-file

# 大城智算 · GASFCA

**高斯两步移动搜索法（Ga2SFCA）高性能城市公共资源可达性分析工具**

## 项目简介

GASFCA 是一套面向国土空间规划、城市治理与公共服务均等化研究的高性能可达性计算工具。  
基于真实路网、高斯距离衰减、Numba 并行加速，提供**全流程自动化**分析：

数据预处理 → 路网拓扑优化 → 最短路径求解 → 多阈值可达性计算 → IDW 栅格生成 → 分位数可视化。

支持**点/面数据自动适配**，一键输出矢量、栅格、专题图，适用于公园、医疗、教育、养老等资源布局评估与优化。

## 核心特点

- ✅ **点/面数据自动兼容**：面自动投影、算面积、转中心点
- ✅ **真实路网距离**：NetworKit 极速最短路径
- ✅ **Numba 并行加速**：远快于GIS手动
- ✅ **多阈值批量计算**：1000/1500/3000/5000m
- ✅ **高斯距离衰减模型**：贴近真实出行规律
- ✅ **IDW 生成连续可达性栅格**
- ✅ **单图独立分位数可视化**：适配偏态数据
- ✅ **一键输出 shp / csv / tif / png**

## 安装

```bash
pip install gasfca

## 快速使用

```python
from gasfca import run_gasfca

# 数据路径
supply_shp_path = "supply.shp"
demand_shp_path = "demand.shp"
road_shp_path = "road.shp"

# 参数
supply_field = "value"
demand_field = "value"
d0_list = [1000, 1500, 3000, 5000]
target_crs = 3857
cell_size = 100

# 输出路径
output_shp_path = "result/accessibility.shp"
output_csv_path = "result/accessibility.csv"
output_raster_dir = "result/raster"

# 执行
run_gasfca(
    supply_shp_path=supply_shp_path,
    demand_shp_path=demand_shp_path,
    road_shp_path=road_shp_path,
    supply_field=supply_field,
    demand_field=demand_field,
    d0_list=d0_list,
    target_crs=target_crs,
    output_shp_path=output_shp_path,
    output_csv_path=output_csv_path,
    cell_size=cell_size,
    output_raster_dir=output_raster_dir,
    generate_plots=True,
    plot_n_quantiles=5,
    plot_cmap="RdYlGn_r",
    plot_dpi=300
)
