pgRouting 3.8.0版本发布:图数据库路由分析工具的重大更新
pgRouting是一个基于PostgreSQL/PostGIS的开源扩展,专门用于在数据库中执行复杂的网络路由分析。它为空间数据库提供了强大的路径规划功能,支持最短路径、旅行商问题、车辆路径规划等多种算法,广泛应用于物流配送、交通规划、网络分析等领域。
官方函数升级
在3.8.0版本中,pgRouting团队将多个实验性函数升级为官方正式函数,标志着这些功能的稳定性和成熟度得到了认可。
-
pgr_degree函数:这个函数用于计算图中每个顶点的度数(即连接边的数量),在网络分析中非常有用。新版本调整了错误消息,并增加了仅需边SQL的新签名。
-
pgr_extractVertices函数:从边数据中提取顶点信息的工具函数,同样经过了错误消息的优化调整。
-
pgr_findCloseEdges函数:用于查找靠近指定点的边,移除了"partial"选项,简化了使用方式。
-
pgr_separateCrossing和pgr_separateTouching函数:这两个空间处理函数也从实验状态升级为官方函数,用于处理边交叉和接触的情况。
新增实验性功能
3.8.0版本引入了几个值得关注的新功能,虽然目前标记为实验性,但展示了pgRouting的发展方向:
-
收缩算法增强:
- pgr_contractionDeadEnd:专门处理死胡同的收缩算法
- pgr_contractionLinear:针对线性结构的收缩算法
- pgr_contractionHierarchies:支持层次化收缩,这是路径优化的重要技术
-
空间处理工具:
- pgr_separateCrossing和pgr_separateTouching:虽然已升级为官方函数,但作为新功能,它们提供了处理复杂空间关系的能力
函数签名变更与优化
pgr_contraction函数进行了重大调整:
- 原先必须的"收缩顺序"参数现在变为可选参数,并更名为"methods"
- 优化了可选参数的名称和顺序
- 旧签名pgr_contraction(text,bigint[],integer,bigint[],boolean)被标记为弃用
底层代码改进
开发团队对核心代码进行了多项优化:
- 重新组织了pgr_contraction的代码结构,提高了可维护性
- 重写了pgr_nodeNetwork的SQL实现,提升了性能
函数弃用计划
随着项目发展,一些旧函数将被逐步淘汰:
- 空间分析相关:pgr_AlphaShape
- 拓扑处理相关:pgr_CreateTopology、pgr_analyzeGraph、pgr_analyzeOneWay
- 顶点处理相关:pgr_createVerticesTable
- 网络节点处理:pgr_nodeNetwork
对于这些被弃用的函数,文档中已经添加了迁移指南,帮助用户过渡到新的替代方案。
技术价值与应用前景
pgRouting 3.8.0的发布体现了几个重要技术方向:
- 功能成熟化:将经过验证的实验功能升级为官方功能,提高了生产环境的可靠性
- 算法多样化:新增的收缩算法为不同网络结构提供了专门优化
- 空间处理增强:分离交叉和接触边的功能强化了复杂空间网络的处理能力
- API规范化:函数签名的调整使接口更加一致和易用
这些改进使得pgRouting在物流规划、交通网络分析、基础设施管理等领域的应用将更加高效和可靠。特别是新增的层次化收缩算法,为大规模网络的高性能路径查询提供了新的可能性。
对于现有用户,建议关注弃用函数的迁移指南;对于新用户,可以直接使用更加规范和优化的新API。随着空间网络分析需求的增长,pgRouting这类专业工具的持续进化将为地理空间分析领域带来更多价值。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0152- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
LongCat-Video-Avatar-1.5最新开源LongCat-Video-Avatar 1.5 版本,这是一款经过升级的开源框架,专注于音频驱动人物视频生成的极致实证优化与生产级就绪能力。该版本在 LongCat-Video 基础模型之上构建,可生成高度稳定的商用级虚拟人视频,支持音频-文本转视频(AT2V)、音频-文本-图像转视频(ATI2V)以及视频续播等原生任务,并能无缝兼容单流与多流音频输入。00
auto-devAutoDev 是一个 AI 驱动的辅助编程插件。AutoDev 支持一键生成测试、代码、提交信息等,还能够与您的需求管理系统(例如Jira、Trello、Github Issue 等)直接对接。 在IDE 中,您只需简单点击,AutoDev 会根据您的需求自动为您生成代码。Kotlin03
Intern-S2-PreviewIntern-S2-Preview,这是一款高效的350亿参数科学多模态基础模型。除了常规的参数与数据规模扩展外,Intern-S2-Preview探索了任务扩展:通过提升科学任务的难度、多样性与覆盖范围,进一步释放模型能力。Python00
skillhubopenJiuwen 生态的 Skill 托管与分发开源方案,支持自建与可选 ClawHub 兼容。Python0112