Install
openclaw skills install @ruiduobao/geoskill-urban-population-estimationEstimate population density from building volume, residential ratio, night-light correction and land-cover weights with total conservation.
openclaw skills install @ruiduobao/geoskill-urban-population-estimationEstimates the spatial distribution of population density from building volume, night lights and land-use weights, supporting population spatialization and urban research.
Core algorithm: building volume = footprint area × height; residential weight = volume × night-light correction × LULC weight (water/vegetation weights are 0); population is allocated proportionally to weights, density = weight/Σweight × total population/pixel area. Key property: Σ(density × pixel area) = total population — the population total is strictly conserved.
pip install 'numpy' 'rasterio'
python geoskill-urban-population-estimation.py --bbox 116.0 39.0 117.0 40.0 [other parameters]
python geoskill-urban-population-estimation.py --bbox 116.0 39.0 117.0 40.0 --synthetic --output-dir ./out
python geoskill-urban-population-estimation.py --input height.tif --nightlight nl.tif --lulc lulc.tif --output-dir ./out
python geoskill-urban-population-estimation.py --bbox 121.0 31.0 122.0 32.0 --total-population 500000 --output-dir ./out --quiet
python geoskill-urban-population-estimation.py --input height.tif --total-population 200000 --pixel-size 30 --output-dir ./out
python geoskill-urban-population-estimation.py --bbox 116.0 39.0 117.0 40.0 --synthetic --total-population 80000 --output-dir ./out --quiet
| File | Format | Description |
|---|---|---|
population_density.tif | GeoTIFF | Population density (people per unit area) |
population_stats.json | JSON | Target/estimated total population, conservation error, mean/max density |
output-manifest.json | JSON | Run manifest |
Local building height + night light + LULC GeoTIFFs; --synthetic mode simulates a comparative scenario of residential areas versus water/vegetation areas.
--synthetic mode requires no network at all.MIT
从建筑体积、夜光与土地利用权重估算人口密度空间分布,服务于人口空间化与城市研究。
核心算法:建筑体积 = 足迹面积×高度;居住权重 = 体积×夜光校正×LULC 权重(水体/植被权重为 0);人口按权重归一化分配,density = weight/Σweight × 总人口/像元面积。关键性质:Σ(density×像元面积) = 总人口,人口总量严格守恒。
pip install 'numpy' 'rasterio'
python geoskill-urban-population-estimation.py --bbox 116.0 39.0 117.0 40.0 [其他参数]
python geoskill-urban-population-estimation.py --bbox 116.0 39.0 117.0 40.0 --synthetic --output-dir ./out
python geoskill-urban-population-estimation.py --input height.tif --nightlight nl.tif --lulc lulc.tif --output-dir ./out
python geoskill-urban-population-estimation.py --bbox 121.0 31.0 122.0 32.0 --total-population 500000 --output-dir ./out --quiet
python geoskill-urban-population-estimation.py --input height.tif --total-population 200000 --pixel-size 30 --output-dir ./out
python geoskill-urban-population-estimation.py --bbox 116.0 39.0 117.0 40.0 --synthetic --total-population 80000 --output-dir ./out --quiet
| 文件 | 格式 | 说明 |
|---|---|---|
population_density.tif | GeoTIFF | 人口密度(人/单位面积) |
population_stats.json | JSON | 目标/估算总人口、守恒误差、密度均值/最大值 |
output-manifest.json | JSON | 运行清单 |
本地建筑高度 + 夜光 + LULC GeoTIFF;--synthetic 模式模拟居住区与水体/植被区的对照场景。
--synthetic 模式完全无网络。MIT