基于pgrouting的路径分析

本文介绍了基于PgRouting的路径分析,PgRouting是PostGIS的扩展模块,提供多种网络分析算法。首先讲解了技术背景和PostGIS的重要性,接着详细阐述了数据准备步骤,包括路网数据的获取、转换、导入以及创建拓扑关系。在路径分析部分,讨论了道路成本权重的设置,包括双向通行、单向通行和障碍点等情况,并提供了设置道路权重的方法。最后,提到了最短路径的计算和结果的查看。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.技术背景,相关技术介绍

      PgRouting是基于开源空间数据库PostGIS用于网络分析的扩展模块,最初它被称作pgDijkstra,因为它只是利用Dijkstra算法实现最短路径搜索,之后慢慢添加了其他的路径分析算法,如A算法,双向A算法,Dijkstra算法,双向Dijkstra算法,tsp货郎担算法等,然后被更名为pgRouting[1]。该扩展库依托PostGIS自身的gist索引,丰富的坐标系与图形类型,强大的几何处理能力,如空间查询,空间处理,线性参考等优势,能保障在较大数据级别下的网络分析效果更快更好。
  PostGIS早已奠定了最优秀的开源空间数据库地位,在新时代GIS中的应用将会越来越普遍。其实,网络分析算法很多服务端语言如java,C#等虽能实现,但基于真实城市道路数据量较大且查询分析操作步骤复杂与数据库交互频繁,以这类服务端频繁访问数据库导致数据库开销压力较大,分析较慢,故选择PgRouting在数据库内部实现算法,提升分析效率。最后,路径分析不仅仅是最短路径,在实际应用中还有最短耗时,最近距离,道路对车辆类型限制,道路对速度限制等因素,交通事故、市政事故导致的交通障碍点等问题,所有的问题本质其实是对路径分析权重(Weight)的设置问题。

二.数据准备

1.准备路网数据,从OSM下载中国区的数据,然后使用ArcMap对数据进行裁剪,获得自己想要的区域路网数据;

2.通过Postgis自带的shp导入工具导入被裁剪好的路网数据(注意shp路径不要太深,不要还有中文;对于中文乱码,可以设置GBK等转码);

3.设置导入的SRID为3857进行坐标系转化;

4.勾选Options里面的"Generate simple geometries instead of MULTI geometries",因为路径分析只支持LineString类型,不支持MuliLineString类型,这里介绍一个方法,因为裁剪的过程或者数据自身问题,当勾选

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值