全国大学生GIS技能大赛 | 第十一届下午题

科技   科学   2024-10-11 11:34   河北  

全国大学生GIS技能大赛 

—— 第十一届下午题 ——


     全国大学生GIS应用技能大赛是由中国地理信息产业协会、中国地理学会主办,已发展为国内规模最大、水平最高的国家级GIS学科竞赛之一。大赛分别在空间数据采集编辑与集成处理、空间分析技术应用两段赛程展开角逐。


某地区教育部门正在评估小学空间服务绩效。以学区为单位,通过步行可达性和步行安全性两个标准,评估小学空间服务绩效。

1.为各个居住小区分配常住人口数

2.创建道路网络

3.步行上学可达性评价

4.步行上学安全性评价

5.小学学区内住宅分布范围分析

6.最终成果制图




试题获取:关注"小火苗GIS",后台回复Contest即可免费获取比赛题目及数据。

#非官方答案,仅代表作者个人观点#

1. 为各个居住小区分配常住人口数

(1)新建数据库:结果数据库.gdb,要求在此数据库下保留结果;

(2)分析需要把各个学区人口平均分配到各个居住小区,计算公式:各个学区人口/小区个数;

运用【空间连接】工具,让“居住小区分析”图层得到Name和人口信息。

空间连接

空间连接结果

(3)运用【频数】工具,根据上步【空间连接】得到的“居住小区分析“,按Name字段进行频数统计,计算每个学区内小区个数

频数统计

频数统计结果

属性连接

频数统计结果

(4)添加小区人口字段,该字段可在属性连接前添加,然后计算每个居住小区平均人口=学区人口*10000/学区内小区个数。

计算小区平均人口

平均人口计算结果

   2. 创建道路网络

(1)由于赛题已经明确不需要对道路数据已经打断等等,那么我们就不用对数据进行【拓扑检查】,例如,某些试题会“挖坑“,不进行打断相交点以及道路连接等无法正常进行网络数据集构建。本赛题可直接根据道路数据进行网络数据集的创建。

(2)数据库中新建要素集,并将道路数据进行导入。

(3)设置成本属性时,设置其shape_Length(单位:米)

设置成本字段

网络数据集创建结果

(4)考虑到该题是求解小区到学校的最近距离,且是多个小区到居住学区内同一所学校的路径分析,选择【最近设施点分析】

新建最近设施点

设施点为小学,事件点为居住小区

(5)考虑到仅允许在各自学区范围内的小学进行上学,设置面障碍图层为学区图层,进行求解时发现报错,可以换个思路,将面要素转为线要素后,再作为线障碍进行分析呢??

面障碍报错示范

要素转线

(6)在进行分析前,查看是否勾选了Oneway,由于赛题中明确指出,不考虑单行道条件要求所以此处不需要进行勾选(如果勾选则某些小区因单行道因素影响不能形成到达小学路径)

勾选去掉Oneway限制

结果发现,整体上能实现对每个小区就近上学的需求,但同时也存在事件点未能找到设施点的问题,如果进行分区块单独进行统计分析,则未发现该问题,但小火始终坚信作为竞赛类题目,最优解、最省时的解法不会是单独分析,但该问题也并没有找到实际解决的办法,共有12个小区没有路径。(小火在比赛时采用的每个学区与每个小学进行单独求解计算,然后对结果进行合并)

出现警告(仅有291条结果)

居住小区-小学步行上学路线

3. 步行上学可达性评价

(1)题目要求居住小区和对应的小学用连接,从上步骤我们可以得知,最邻近设施点分析仅能停留在道路数据上,并不能将小区与小学进行直线连接,涉及直线连接,OD成本矩阵,但需要考虑的因素在于,该连线是一个小学对应多个居住小区。,其中起始点选择居住小区,目的地选择小学,(起始点与目的地相反理论上前后得到的结果是一样的,但编码则不同,为了与上一步的编码保持统一,可以进一步筛选出结果),同样设置学区Line作为线障碍。

OD成本矩阵结果

最邻近设施点结果

(2)然后根据两个表格中的共同字段进行连接,便可得到其对应的OD矩阵情况,目前小火想到的最佳方案(事后卧龙,比赛时并没有意识到)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 "低可达性"

Python代码块赋值

符号化可达性等级路线

步行可达性等级结果

(5)根据赛题公式依次计算高可达性的覆盖率,通过上步骤得到的步行直线数据(OD成本矩阵),【按属性选择】选中“高可达性路线”然后,再通过【按位置选择】选中与赛题刚开始得到的“居住小区分析”数据。

【按属性选择】居住为高可达性区域

【按位置选择】选择对应居住小区

(6)然后按照其居住小区“Name”字段进行【汇总统计】,由于赛题仅要求做高可达性的专题图,然后仅对高可达性区域进行。

【汇总统计】结果

(7)对统计结果与学区进行属性连接,根据其Name字段并计算高可达性覆盖率计算公式:[SUM_小区人口] /( [人口] *10000),绘制专题图。

按Name字段进行属性连接

步行可达性覆盖专题图

   4. 步行上学安全性评价

(1)运用【按属性选择】工具,提取出城市主干道要素,导出至数据集命名为城市主干道。

【按属性选择】主干道数据

(2)对提取出来的城市主干道信息,按照其tunnel字段进行【融合】,由于不同主干道类别不同,但基于的穿越次数相同,融合成一个要素便于统计分析。(当然新建一个字段也是可以的)

设置统一字段

【融合】要素

(3)运用【拓扑检查】,对城市主干道_disslove与第三题得到的最短步行直线距离数据进行拓扑检查,添加拓扑规则为“不能与其他要素相交”。

增设拓扑规则

(4)查看拓扑错误器可以发现,共计117错误,随后通过拓扑错误进而计算去上学时穿越主干道的次数。

拓扑检查结果

(5)将拓扑错误进行导出【导出拓扑错误】,得到的错误包括点、线面错误等。

【导出拓扑规则】

(6)频数统计Feature_1字段中要素编码出现的次数。(OriginObjectID字段)

Feature_1小区编码

【频数】统计相交情况

频数统计结果

(7)将 “最短步行直线距离”的Object与Feature_1字段的进行属性连接,并将其导出,其中属性表中为NULL为高安全区域。

频数结果与直线路线连接

属性连接结果

(8)与第二题选择居住小区方法,相同,通过【按属选择】得到高安全的通行路线,然后【按位置选择】得到。

【按属性选择】为Null区域

【按位置选择】高安全性小区

【汇总统计】高安全性人口

【汇总统计】结果

(9)与学区进行属性连接,计算得到高安全性覆盖情况。

按Name字段属性连接

高安全性覆盖专题图(图例有误)



5. 小学学区内住宅分布范围分析

(1)针对该问题,小火表示有所歧义,默认为第一题对应的最邻近的分配结果,在“最短步行直线距离”图层中添加“编码”字段,运用【字段计算器】中的截取功能,截取得到“最短步行直线距离”对应的“居住小区”编码,对应表达式:Left( [Name],3 ),截取前三位编码。

编码与小区中BM属性连接

(2)然后根据上步骤得到的编码字段,与居住小区分析进行属性连接,将其结果进行导出,命名为小学_居住连线。再次添加“小学名称”字段,得到小学名称。

(3)按照小学名称字段进行汇总统计,统计小区人口总数。

汇总统计小区人口数

汇总统计人口结果

(4)小学人口总数与小学分析进行属性关联

属性连接

(5)运用【方向分布】标准差椭圆工具时,赛题中要求以椭圆的形式显示,但是小火做了若干次方向分布以后仍然会报错,最后去分析了一下其中原理发现单个点并不能去表示其趋势和方向,因此保持客观态度并没有最终的覆盖范围成果图。

方向分布

方向分布结果报错

6. 制图表达

进行专题图排版制作,【插入数据框】进行格式调整即可

分级符号化

专题图结果




(1)当小火重温再做一遍的时候,不禁感慨赛题是真的nice,回想已经十来天了,比赛的历程充满了遗憾和不足。临场发挥灰常关键,只有平时不断积累,拓宽自己知识面才能做到临危不惧,正常发挥。

(2)在赛题过程中,存在几点不足问题,一方面是最近邻设施点分析中的路径条数仅有291条,与理论条数303条存在差距,但整体流程并无太大影响;再者,在做安全性分析时采用的为可达性数据与主干路进行拓扑检查(考虑到实际情况,可采用第2题生成的原始路径进行分析);最后,在做小学人口覆盖时的方向分布报错,这里也欢迎火苗们来和小火讨论。

(3)怀着沉重的心情更完了尘埃落定的比赛,以后的征程还在继续,感慨颇多,收获颇多,也希望能够给学弟学妹带来些启迪。来年也能有个好成绩,~撒花


END

#小伙伴们有更好的思路的话可以私信小火讨论呀#

试题获取:微信公众号关注"小火苗GIS",后台回复Contest即可免费获取比赛题目及数据。


往期内容


小火苗GIS
分享GIS前沿资讯、竞赛解析、专业技能及数据资料等
 最新文章