(1)新建数据库:结果数据库.gdb,要求在此数据库下保留结果;
(2)分析需要把各个学区人口平均分配到各个居住小区,计算公式:各个学区人口/小区个数;
运用【空间连接】工具,让“居住小区分析”图层得到Name和人口信息。
(3)运用【频数】工具,根据上步【空间连接】得到的“居住小区分析“,按Name字段进行频数统计,计算每个学区内小区个数。
(4)添加小区人口字段,该字段可在属性连接前添加,然后计算每个居住小区平均人口=学区人口*10000/学区内小区个数。
2. 创建道路网络
(1)由于赛题已经明确不需要对道路数据已经打断等等,那么我们就不用对数据进行【拓扑检查】,例如,某些试题会“挖坑“,不进行打断相交点以及道路连接等无法正常进行网络数据集构建。本赛题可直接根据道路数据进行网络数据集的创建。
(2)数据库中新建要素集,并将道路数据进行导入。
(3)设置成本属性时,设置其shape_Length(单位:米)
(4)考虑到该题是求解小区到学校的最近距离,且是多个小区到居住学区内同一所学校的路径分析,选择【最近设施点分析】
设施点为小学,事件点为居住小区
(5)考虑到仅允许在各自学区范围内的小学进行上学,设置面障碍图层为学区图层,进行求解时发现报错,可以换个思路,将面要素转为线要素后,再作为线障碍进行分析呢??
(6)在进行分析前,查看是否勾选了Oneway,由于赛题中明确指出,不考虑单行道条件要求所以此处不需要进行勾选(如果勾选则某些小区因单行道因素影响不能形成到达小学路径)
结果发现,整体上能实现对每个小区就近上学的需求,但同时也存在事件点未能找到设施点的问题,如果进行分区块单独进行统计分析,则未发现该问题,但小火始终坚信作为竞赛类题目,最优解、最省时的解法不会是单独分析,但该问题也并没有找到实际解决的办法,共有12个小区没有路径。(小火在比赛时采用的每个学区与每个小学进行单独求解计算,然后对结果进行合并)
(1)题目要求居住小区和对应的小学用连接,从上步骤我们可以得知,最邻近设施点分析仅能停留在道路数据上,并不能将小区与小学进行直线连接,涉及直线连接,OD成本矩阵,但需要考虑的因素在于,该连线是一个小学对应多个居住小区。,其中起始点选择居住小区,目的地选择小学,(起始点与目的地相反理论上前后得到的结果是一样的,但编码则不同,为了与上一步的编码保持统一,可以进一步筛选出结果),同样设置学区Line作为线障碍。
(2)然后根据两个表格中的共同字段进行连接,便可得到其对应的OD矩阵情况,目前小火想到的最佳方案(事后卧龙,比赛时并没有意识到)OD成本矩阵_编码与步行上学路线OD进行连接。
(3)然后【按属性选择】,连接结果中选择非空字段部分即可,并没有固定要求,这里数量为291条,理论上应该303条(这与第一步骤中丢失的12条相关)
(4)根据Total_长度字段,根据赛题要求进行赋值(这里运用Python代码块进行)
def num(x):
if x <1000.0:
return "高可达性"
if (x > 1000) and (x <= 2000):
return "中可达性"
if (x > 2000):
return "低可达性"
(5)根据赛题公式依次计算高可达性的覆盖率,通过上步骤得到的步行直线数据(OD成本矩阵),【按属性选择】选中“高可达性路线”然后,再通过【按位置选择】选中与赛题刚开始得到的“居住小区分析”数据。
(6)然后按照其居住小区“Name”字段进行【汇总统计】,由于赛题仅要求做高可达性的专题图,然后仅对高可达性区域进行。
(7)对统计结果与学区进行属性连接,根据其Name字段并计算高可达性覆盖率计算公式:[SUM_小区人口] /( [人口] *10000),绘制专题图。
(1)运用【按属性选择】工具,提取出城市主干道要素,导出至数据集命名为城市主干道。
(2)对提取出来的城市主干道信息,按照其tunnel字段进行【融合】,由于不同主干道类别不同,但基于的穿越次数相同,融合成一个要素便于统计分析。(当然新建一个字段也是可以的)
(3)运用【拓扑检查】,对城市主干道_disslove与第三题得到的最短步行直线距离数据进行拓扑检查,添加拓扑规则为“不能与其他要素相交”。
(4)查看拓扑错误器可以发现,共计117错误,随后通过拓扑错误进而计算去上学时穿越主干道的次数。
(5)将拓扑错误进行导出【导出拓扑错误】,得到的错误包括点、线面错误等。
(6)频数统计Feature_1字段中要素编码出现的次数。(OriginObjectID字段)
(7)将 “最短步行直线距离”的Object与Feature_1字段的进行属性连接,并将其导出,其中属性表中为NULL为高安全区域。
(8)与第二题选择居住小区方法,相同,通过【按属选择】得到高安全的通行路线,然后【按位置选择】得到。
(9)与学区进行属性连接,计算得到高安全性覆盖情况。
(1)针对该问题,小火表示有所歧义,默认为第一题对应的最邻近的分配结果,在“最短步行直线距离”图层中添加“编码”字段,运用【字段计算器】中的截取功能,截取得到“最短步行直线距离”对应的“居住小区”编码,对应表达式:Left( [Name],3 ),截取前三位编码。
(2)然后根据上步骤得到的编码字段,与居住小区分析进行属性连接,将其结果进行导出,命名为小学_居住连线。再次添加“小学名称”字段,得到小学名称。
(3)按照小学名称字段进行汇总统计,统计小区人口总数。
(5)运用【方向分布】标准差椭圆工具时,赛题中要求以椭圆的形式显示,但是小火做了若干次方向分布以后仍然会报错,最后去分析了一下其中原理发现单个点并不能去表示其趋势和方向,因此保持客观态度并没有最终的覆盖范围成果图。
进行专题图排版制作,【插入数据框】进行格式调整即可