ArcGIS:如何利用模型构建器(ModelBuilder)解决基于人口和已有商业点的商业连锁店选址问题?
创始人
2025-05-30 23:20:36

01 实验数据

pop.shp(人口统计数据,其中字段POP100表示该地的人口总数)和trade.shp(已有商业网点数据)

02 实验要求

  1. 统一输出数据的像元大小为100,分析范围与pop.shp一致;

  1. 选址标准为:人口密度必须在每平方公里3000人以上;距离已有的最近商业点直线距离500m以外;

  1. 为保证实验结果的统一性,密度功能统一使用核密度分析;

  1. 将实验结果转化为矢量多边形

03 实验思路

对于第一点你可以在模型还没开始将环境设置好,亦可以在模型的环境中设置;

对于第二点是理解的关键,人人都知道人口密度必须在每平方公里3000人以上,但是极易忽略我们ArcGIS的单位为m,所以最后使用核密度功能得到的栅格图像一定是平方米(另外注意避免使用地理坐标系进行密度分析),所以记得单位换算;另外就是<距离已有的最近商业点直线距离500m以外>一句容易让人以为是做缓冲区分析然后取反,实际上并不是。这是因为其首先需要满足最近商业点,如果仅仅是距离商业点直线距离500m开外那么做缓冲区将没有任何问题,但是现在是距离最近商业点,那么我们希望可以得到所有的像元到其最近商业点的距离,然后进行IF判断其是否大于500m,若该像元满足距离已有的最近商业点直线距离500m以外,否则不满足。那么如何获取每一个像元到最近商业点的直线距离呢?==> 使用欧式距离工具即可。

对于第三点,核密度分析,如果该实验没有明确表示核密度分析,或许有人会使用插值分析而不是在密度分析中进行工具的选择。确实这很容易犯错误因为都是由点得面,但是密度分析和插值分析还是有比较明显的区别,最显著的就是单位,密度分析使用的是pop.shp的POP100(该地的人口总数),而最后分析得到的是每一个像元的人口密度(该像元位置上单位面积的人口数)。换句话说,如果我的pop.shp只有一个点,那么由该点计算得到得面区域中,我们对其进行二重积分,那么得到的人口数将恰好是pop.shp中该点的总人数,如果pop.shp有多个点,那么密度分析得到的像元的人口密度将是各个点的一个分配,不知这么讲是否有少许理解?

第四点是栅格转矢量,不做分析。

04 实验流程

4.1 实验前的环境配置

4.2 添加数据

4.3 核密度分析

4.4 欧式距离

4.5 按选址标准使用栅格计算器计算

下方表达式不小心写错了,应为:

("%trade_euc_distance.tif%" > 500) & ("%population_density.tif%" > 0.003)
# 图片为("%trade_euc_distance.tif%") > 500 & ("%population_density.tif%" > 0.003)

4.6 栅格转矢量

输出结果展示:


炒茄子

相关内容

热门资讯

中小品牌启动联盟营销指南:联盟... “预算刚投完就见底,流量却没进来几个”“新品牌没人认,广告打出去也没转化”——这是多数中小品牌营销时...
奕瑞科技:拟1亿至2亿元回购股... 中证智能财讯 奕瑞科技(688301)12月18日公告,董事会12月17日审议通过回购方案,同意公司...
央行加大跨年流动性投放力度 专... 【央行加大跨年流动性投放力度 专家:明年初降准预期升温】财联社12月18日电,央行18日在公开市场开...
上海多媒体展厅设计费收费标准 当我们探讨上海多媒体展厅设计费的收费标准时,其实我们讨论的焦点绝不只是一个简单的价格数字,而是专业设...
摩根大通:警告六只投机股遇宏观... 【12 月 18 日,美国股市波动加剧,凸显“过度拥挤”风险】近期,美国股市波动加剧,摩根大通策略师...