1000m格网单元内缓冲区与非缓冲区人口计算求助
1000m格网单元内分区域人口计算方案
核心逻辑(均匀分布前提)
因为格网内人口均匀分布,所以人口数和区域面积成正比,直接按面积比例分配格网总人口即可。
具体计算步骤
确认面积数据
- 给缓冲图层(绿色)和非缓冲图层(橙色)分别计算实际面积(单位统一用平方米),记为
S缓冲和S非缓冲 - 验证:
S缓冲 + S非缓冲应等于1000000㎡(1000m×1000m格网的总面积),如果不等,说明裁剪图层有误差,需先修正
- 给缓冲图层(绿色)和非缓冲图层(橙色)分别计算实际面积(单位统一用平方米),记为
计算单区域人口
用以下公式直接计算:- 缓冲区人口 = 格网总人口 × (S缓冲 ÷ 1000000)
- 非缓冲区人口 = 格网总人口 × (S非缓冲 ÷ 1000000)
举例:如果缓冲区域面积是350000㎡,则缓冲人口=2306×(350000/1000000)=2306×0.35=807.1,可根据需求取整(比如807或808)
GIS字段计算器操作示例
- ArcGIS字段计算器:
缓冲图层人口字段公式:2306 * (!面积字段名! / 1000000)
非缓冲图层同理 - QGIS字段计算器:
缓冲图层人口字段公式:2306 * ("面积字段名" / 1000000)
- ArcGIS字段计算器:
之前公式错误原因
格网面积/1000 * 单元总人口:格网面积是1e6㎡,除以1000后是1000,乘2306会得到远超实际的数值,逻辑完全错误单元总人口/160000 * 区域面积:160000是全区域总人口,不是单格网的面积,用这个比例会把单格网人口错误放大,导致汇总超总人数
内容的提问来源于stack exchange,提问作者Anon
相关产品推荐
相关产品推荐

