当前位置: 首页 > article >正文

pgRouting安装及使用示例

文章目录环境文档用途详细信息环境系统平台Linux x86-64 Red Hat Enterprise Linux 7版本4.5.10文档用途本文介绍pgRouting的安装及使用示例。详细信息简介pgRouting是PostgreSQL下基于PostGIS的扩展插件提供了地理空间路由和路径网络分析功能。pgRouting解决路网规划问题比如从起点出发经过很多个点最终回到起点从起点出发经过很多个点最终回到终点两点之间提供多条备用路径选择。安装pgRouting依赖PostGIS安装前需确认已安装PostGIS。pgRouting安装包如下P001-hgdb-see-4.5.–gis*-pgrouting*-f8960d5-2025****.x86_64.rpmpgRouting安装包需与数据库版本匹配。安装#rpm包执行 rpm -ivh P001-hgdb-see-4.5.*-*-gis*-pgrouting*-f8960d5-2025****.x86_64.rpm #deb包执行 dpkg -i P001-hgdb-see-4.5.*-*-gis*-pgrouting*-3b95507-2024****.arm64.deb安装完成后安全版数据库使用sysdba用户企业版使用highgo用户登录数据库创建pgrouting扩展如下psql osm_db sysdba osm_db# create extension pgrouting osm_db# \dx List of installed extensions Name | Version | Schema ----------------------------------------- pgrouting | 3.3.1 | public plpgsql | 1.0 | pg_catalog postgis | 3.2.2dev | public postgis_topology | 3.2.2dev | topology使用示例下面使用pgrouting实现点到点多点到一点的路径规划。例子实现步骤如下1、数据准备#采用osm导入的数据#选取一部分数据createtableplanet_osm_roads_testasSELECTosm_id,admin_level,name,oneway,operator,z_order,wayFROMplanet_osm_roadsLIMIT10000offset55000;#添加source、tartget、cost、reverse_cost字段source、tartget字段是创建道路数据拓扑关系需要的cost、reverse_cost是成本估算值权重osm_db# alter table planet_osm_roads_test add column source int;osm_db# alter table planet_osm_roads_test add column target int;osm_db# alter table planet_osm_roads_test add column cost float;osm_db# alter table planet_osm_roads_test add column reverse_cost float;2、创建拓扑关系osm_db# SELECT pgr_createTopology(planet_osm_roads_test, 0.001, way, osm_id);#生成了新表planet_osm_roads_test_vertices_pgrDDL如下CREATETABLEpublic.planet_osm_roads_test_vertices_pgr(id bigserialNOTNULL,cnt int4NULL,chk int4NULL,ein int4NULL,eout int4NULL,the_geompublic.geometry(point,4326)NULL,CONSTRAINTplanet_osm_roads_test_vertices_pgr_pkeyPRIMARYKEY(id));CREATEINDEXplanet_osm_roads_test_vertices_pgr_the_geom_idxONpublic.planet_osm_roads_test_vertices_pgrUSINGgist(the_geom);3、设置道路通行成本权重这里简单的以道路数字化长度计算osm_db# select distinct oneway from planet_osm_roads;oneway--------no-1yes osm数据中oneway表示道路通行方向其他数据源也有此字段这里oneway有四个选项null道路双向可通行 yes道路单行道实际通行方向和数字化方向相同no道路禁止通行或禁止某类型车通行-1道路单行道实际通行方向和数字化方向相反#道路双向通行成本道路双向可通行时正向、反向成本都为道路数字化长度updateplanet_osm_roads_testsetcostst_length(way),reverse_costst_length(way)whereonewayisnull;#道路实际方向与数据方向一致反向成本设置无限大值updateplanet_osm_roads_testsetcostst_length(way),reverse_cost999999999999whereonewayyes;#道路实际方向与数据方向相反正向成本设置无限大值updateplanet_osm_roads_testsetcost999999999999,reverse_costst_length(way)whereoneway-1;#道路禁止通行正向、反向成本都设置无线大值updateplanet_osm_roads_testsetcost999999999999,reverse_cost999999999999whereonewayno;4、实现效果测试 从planet_osm_roads_test_vertices_pgr表中大概选取几个点251-山大中心校区762-美联广场1043-万虹广场。1 测试从251到762的路径点到点#通过成本估算计算出需要经过的点select*frompgr_dijkstra(select osm_id as id , source, target, cost from planet_osm_roads_test,251,762,true);seq|path_seq|node|edge|cost|agg_cost|------------------------------------------------------------------1|1|251|1046076383|0.006844842308275152|0.0|2|2|244|548989046|0.011145742962676768|0.006844842308275152|3|3|274|553764906|0.0017951356130137173|0.01799058527095192|4|4|277|959638562|0.0011370426069386695|0.019785720883965636|5|5|362|959638563|0.001616456363375162|0.020922763490904307|6|6|363|548989050|0.0007897126122848|0.02253921985427947|7|7|278|556421924|0.0008899553078673|0.02332893246656422|8|8|365|557853475|0.004719408081710194|0.024218887774431517|9|9|366|553892277|0.0059124676278269495|0.02893829585614171|10|10|368|554179650|0.007977539964683337|0.03485076348396866|11|11|1218|685031739|0.00450564696523659|0.042828303448651996|12|12|1217|554179639|0.0012612492102538943|0.04733395041388858|查出以上经过的点对应的坐标select*fromplanet_osm_roads_test_vertices_pgrwhereidin(selectnodefrompgr_dijkstra(select osm_id as id , source, target, cost from planet_osm_roads_test,251,762,true)orderbypath_seq);在地图上展示经过的点如下从以上地图展示看到pgRouting规划的从251到762的路径导航是合理的。2 测试从1043、762到251的路径多点到一点查出从1043、762到251经过的点的坐标select*fromplanet_osm_roads_test_vertices_pgrwhereidin(selectnodefrompgr_dijkstra(select osm_id as id , source, target, cost from planet_osm_roads_test,ARRAY[1043,762],251,true)orderbypath_seq);在地图上展示以上经过的点如下从以上地图展示看到pgRouting规划的从1043、762到251的路径导航是合理的。总结本文档介绍了pgRouting的安装使用pgRouting实现了点到点和多点到一点的路径导航规划。

相关文章:

pgRouting安装及使用示例

文章目录环境文档用途详细信息环境 系统平台:Linux x86-64 Red Hat Enterprise Linux 7 版本:4.5.10 文档用途 本文介绍pgRouting的安装及使用示例。 详细信息 简介 pgRouting是PostgreSQL下基于PostGIS的扩展插件,提供了地理空间路由和…...

day02统计师考试(初级)统计法的特点

统计法的特点 (一)调整对象具有特殊性和复杂性 1.调整对象的特殊性: 统计法以统计活动中形成的社会关系为调整对象。 2.调整对象的复杂性: ①调整的社会关系既有纵向的管理关系,也有横向的指导关系; ②既有…...

数据库无法连接情况排查

文章目录环境症状问题原因解决方案环境 系统平台:N/A 版本:9.0,6.0,4.5 症状 本文档用于提供HGDB数据库的常见无法连接问题的基本排查思路,建议按顺序排查; 若以上步骤未能排查出连接问题,建议联系瀚高厂家处理。 …...

一文讲透数字化转型的十个关键概念:信息化、自动化、数据化、智能化、平台化……

最近几年,提到数字化转型,总绕不开一堆带“化”的词:信息化、数据化、智能化、平台化等等。说实话,这些概念太多了,有时候连从业者都容易搞混。今天我就来给大家梳理一下电子化、信息化、结构化、多媒体化、自动化、网…...

开源TOP20项目(2026.04.01-2026.04.06)

排名项目名Star描述1luongnv89/claude-howto20.2kClaude Code 的可视化、示例驱动指南——从基本概念到高级代理,提供可立即产生价值的复制粘贴模板。从打字claude到编排代理、钩子、技能和 MCP 服务器——通过可视化教程、复制粘贴模板和引导式学习路径2NousResear…...

通义千问2.5-7B低成本上线:共享GPU资源部署案例

通义千问2.5-7B低成本上线:共享GPU资源部署案例 想体验最新最强的开源大模型,但被动辄几十GB的显存需求和昂贵的专业显卡劝退?这可能是很多开发者和创业团队面临的现实困境。今天,我们就来分享一个极具性价比的解决方案&#xff…...

反思学习!

前言之前挖的小程序,没找到漏洞,挖的web没找到漏洞,然后这次买了fofa会员,不买应该也能挖到这次的侧重点不一样了,以前学校的首页啊,什么学院啊,我都能看半天,看着看着就知道了&…...

从图像压缩到信道反馈:CsiNet如何重塑大规模MIMO的深度学习范式

1. 当无线通信遇上计算机视觉:CSI为何能被看作图像? 第一次听说把信道状态信息(CSI)当作图像处理时,我的反应和大多数通信工程师一样:"这脑洞开得有点大吧?"但当我真正动手复现CsiNet…...

20个核心AI概念轻松入门:收藏这份小白友好指南,开启大模型学习之旅!

如果你曾尝试学习AI,大概率至少有过一次这样的感受……“这到底在讲什么?” 术语太多。 工具太多。 网上所有人都说得好像理所当然。 学习AI很容易让人感到崩溃。 尤其如果你不是直接从事这一行,几乎像在学一门全新的语言。 但我逐渐意识到一…...

工业仿真混合引擎实时调度策略解析

工业场景下,混合引擎(通常指融合了传统物理求解器与AI/ML代理模型或神经求解器的仿真系统)的实时调度策略是实现数字孪生、预测性维护和实时优化的核心技术瓶颈。其核心目标是在满足确定性延迟和计算精度的前提下,动态分配计算资源…...

AWS 账单查看与付款方式设置指南(企业支持实用手册)

一文搞定 AWS 发票下载、费用明细查询和电汇付款配置,适合企业财务和运维人员快速上手。 前言 使用 AWS 的企业经常会遇到这几个问题:月底了发票在哪下载?费用明细怎么导出给财务?公司要用银行电汇付款怎么设置? 这篇文章把这三件事讲清楚,都是控制台操作,不需要写代码…...

Glyph视觉推理新手必看:如何用智谱开源模型轻松处理超长合同与论文

Glyph视觉推理新手必看:如何用智谱开源模型轻松处理超长合同与论文 1. 从痛点出发:为什么你需要Glyph? 想象一下,你手头有一份长达200页的合同,或者一篇包含复杂图表和公式的学术论文。你需要快速找到关键条款&#…...

从零学卷积神经网络——梯度下降,反向传播,卷积核权重视觉对比

很多人在刚接触卷积神经网络时,会被满屏的矩阵数字搞晕。其实,卷积核并不是冰冷的算式,你可以把它想象成一副副“神奇眼镜”。比如这张 77 的图像,左上和右下是亮区,其他地方是暗区。现在,我们让它分别戴上…...

Pixel Language Portal 助力后端开发:构建高并发实时数据处理服务

Pixel Language Portal 助力后端开发:构建高并发实时数据处理服务 1. 实时数据处理的行业痛点 想象一下这样的场景:一家智能工厂部署了上千个传感器,每秒产生数百万条数据;或者一个金融交易平台,需要实时处理全球市场…...

如何快速掌握WandEnhancer使用:面向新手的完整免费增强指南

如何快速掌握WandEnhancer使用:面向新手的完整免费增强指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer WandEnhancer是一款专为游戏辅助…...

2025年终极指南:R3nzSkin国服特供版——一键解锁LOL全皮肤的完整解决方案

2025年终极指南:R3nzSkin国服特供版——一键解锁LOL全皮肤的完整解决方案 【免费下载链接】R3nzSkin-For-China-Server Skin changer for League of Legends (LOL) 项目地址: https://gitcode.com/gh_mirrors/r3/R3nzSkin-For-China-Server 你是否厌倦了每次…...

100G SFP光模块全解读:核心定义、关键特性与主流应用场景

在高速光通信网络飞速发展的当下,100G速率已成为数据中心、城域网、5G承载网等场景的核心传输需求,而100G SFP光模块作为实现光电信号转换的关键器件,凭借小巧的体积、灵活的适配性,成为连接网络设备、支撑高速数据传输的核心载体…...

当AI搜索引擎开始替用户做消费决策,品牌的媒介宣发逻辑也正在被彻底改写

去年年底,联合利华CEO在内部会上说了句话,传出来后不少品牌人都在转。他说“懒惰营销的时代已经结束了”,一年只拍几条广告、围绕几个新品做营销的传统打法,已经彻底失效。这话放在2026年的媒介宣发语境下,几乎是一份判…...

常州装修设计领域评测与推荐——聚焦实力标杆,认准鸿鹄领跑优势

一、核心引导问题1. 面对常州装修设计行业的趋势,不同规模的企业应如何筛选技术扎实、效果可视的常州装修设计服务商?2. 常州鸿鹄装饰设计工程有限公司凭借哪些核心优势,成功跻身行业头部阵营?3. 常州装修设计行业其核心包含哪些能…...

马尔可夫性、极小性和忠实性的关系:因果图与数据的深层逻辑

马尔可夫性、极小性和忠实性的关系:因果图与数据的深层逻辑 在因果推断中,我们试图通过观测数据来还原背后的因果图(DAG)。然而,图结构与概率分布之间的关系并非绝对的一一对应。为了从数据中锁定唯一的因果结构&#…...

外汇流动性和市场情绪指标MT4、MT5

使用外汇流动性指标交易 外汇流动性指标通过帮助识别关键市场水平来支持贸易规划,包括: 支撑与阻力位 –根据交易密度显著或反复反应的区域确定。供需区——通过被称为买方和卖方流动性区的区域突出显示,这些区域暗示了可能存在未成交的买卖…...

Redis 常用数据类型

下面给你一套面试最标准、逻辑清晰、直接背诵的版本: Redis 常用数据类型 使用场景 底层原理 面试话术,一次性讲全。 一、开场一句话(必说) Redis 是基于内存的高性能 KV 数据库,支持丰富的数据结构,通过…...

【无标题】第二章 Hadoop3安装

2.1 启动Docker容器2.1.1 加载镜像用来将一个Docker镜像从/cg/images/hadoop_node.tar.gz压缩包加载到本地Docker环境里面docker load < /cg/images/hadoop_node.tar.gz运行结果如下&#xff1a;docker run --name master --privileged --ulimit nofile65535:65535 --hostna…...

# Linux服务Day04: 一站式DNS入门(原理+单域+多域+Web实战+分离解析)

前言 DNS 是互联网最基础、最重要的服务之一&#xff0c;没有DNS我们就只能记一串难用的IP地址访问网站。 今天我们完整掌握&#xff1a; ✅ DNS 是什么、怎么工作 ✅ 单域名DNS解析搭建 ✅ 多域名Web虚拟主机实战 ✅ DNS 分离解析&#xff08;不同来源IP解析到不同IP&#xff…...

微信聊天数据永久保存的终极解决方案:如何用WeChatMsg高效导出并深度分析

微信聊天数据永久保存的终极解决方案&#xff1a;如何用WeChatMsg高效导出并深度分析 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub…...

[CI/CD] 排障实录:内网环境下 Jenkins + ArgoCD 流水线搭建

说明:本文基于个人学习测试环境编写,部分配置(如镜像仓库使用 HTTP、NodePort 暴露服务等)仅为简化演示,仅供参考,生产环境请遵循安全规范。 1. 基本信息 任务类型:部署 / 故障排查 涉及系统/服务: K3s 集群(v1.33.4+k3s1,1 Master + 2 Worker) Jenkins(Helm 部署…...

智慧交通项目实战:从0到1构建一个雨天车辆行人检测系统(附VOC/YOLO格式数据集及完整代码)

智慧交通实战&#xff1a;雨天场景下的车辆行人检测系统开发全流程 最近在开发一个智慧交通项目时&#xff0c;遇到了雨天场景下检测精度大幅下降的问题。这促使我深入研究如何在恶劣天气条件下保持稳定的目标检测性能。本文将分享从数据准备到边缘部署的完整流程&#xff0c;特…...

celery-redis异步任务具体应用

Celery Redis 异步任务队列实战指南 本文以商城项目为例&#xff0c;深入讲解 Celery Redis 异步任务队列的架构设计与实现细节&#xff0c;并分析为何选择 Redis 而非 RabbitMQ 作为消息代理。 一、什么是异步任务队列&#xff1f; 在 Web 应用开发中&#xff0c;某些操作耗…...

FanControl完全指南:告别风扇噪音,5分钟打造完美静音电脑

FanControl完全指南&#xff1a;告别风扇噪音&#xff0c;5分钟打造完美静音电脑 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitH…...

从理论到实践:信息量、码元与比特的深度解析及通信系统中的应用

1. 通信基础&#xff1a;从消息到信息的本质跃迁 记得我第一次接触通信原理时&#xff0c;最困惑的就是"消息"和"信息"的区别。老师举了个生动的例子&#xff1a;收到"明天下雨"这条消息&#xff0c;对农民和上班族的信息量完全不同。这让我恍然…...