导语

SSC分析模型,全名SuperMap Short Cut,底层采用Contraction Hierarchies(简称CH)算法,该算法旨在通过对图形进行预处理和优化来降低最佳路径分析的时间复杂度。SuperMap iServer 11i(2023)(以下简称iServer)对交通网络分析服务的最佳路径分析,支持开启 SSC 分析模型,可大幅提升分析性能。本文将从以下3个方面进行介绍:

● 背景

● iServer如何开启SSC分析模型

● 开启SSC与传统分析性能对比

一、背景

1.1 当前现状

城市级道路数据规模较小,因此默认情况下,iServer最佳路径分析速度通常能够满足大多数应用场景的需求。

然而,当分析数据为全国范围数据时,特别是在高并发场景下,最佳路径分析性能可能会受到影响,因此 iServer 11i(2023)对交通网络分析服务的最佳路径分析,支持开启 SSC 分析模型,可大幅提升分析性能。

1.2 为什么SSC分析模型速度快

SSC分析模型,全名SuperMap Short Cut,底层采用Contraction Hierarchies(简称CH)算法,CH 算法的主要思想是在图形中进行一系列的"缩减"操作,以去除一些边,从而创建一个分层结构,其中高级别的图层包含更少的节点和边,而低级别的图层则保留更多的细节。

CH算法在大型图形中的最佳路径分析方面表现出色,它通过在预处理阶段进行一系列计算工作,显著提高了后续分析的速度。适用于处理大规模网络、高并发环境以及需要频繁进行最佳路径分析的应用。

1.3 SSC分析模型优缺点

优点

  1. 分析速度快。通过预处理生成一个层次结构文件(*.ssc),该文件可以为节点分配不同的层次,这使得最佳路径分析得到加速。
  2. 产品初始化速度快,可以根据使用场景,灵活配置按需初始化分析对象。

缺点

  1. 提前生成,可通过SuperMap iDesktopX桌面生成SSC文件或通过iServer交通网络分析配置自动生成SSC文件。
  2. 适用于静态或变化较少的数据。
  3. SSC分析模型目前只适用于交通网络分析最佳路径分析功能。

1.4 SSC分析模型适用场景

  1. 路网数据规模大,例如包括整个省份或全国的道路网络数据。
  2. 并发量大的、使用频繁的最佳路径分析应用。
  3. 数据变动幅度较小。

二、iServer如何开启SSC分析模型

iServer开启SSC分析模型有3步:

1.网络数据集准备

2.(可选)SuperMap iDesktopX制作SSC分析模型

3.SuperMap iServer 发布网络分析服务

其中第2步可以省略,可以使用iServer自动生成。但是要注意的是,通过iServer生成,交通网络分析服务初始化较慢,无进度条显示。所以,针对数据量大(如全国路网、全省路网),推荐使用桌面生成SSC。

2.1 网络数据集准备

1)在SuperMap iDesktopX 11i(2023)中,打开需要生成网络数据集的线数据集,新增道路等级字段,如下图“lv”字段。

2)按照道路等级,将该字段进行标识,取值范围1-3,其中 1的道路等级最低,一般为乡村道路,3的道路等级最高,一般为高速路等。

3)在交通分析选项卡中,通过拓扑构网,构建二维网络数据集。

4)最终生成二维网络数据集。

2.2 (可选)SuperMap iDesktopX制作SSC分析模型

1)在SuperMap iDesktopX 11i(2023)中,右上角搜索“SSC”。

2)点击“构建SSC文件”,依次选择“数据源”、“数据集”、“道路等级”、“文件路径”(其他参数可按需配置)点击执行按钮,即可生成*.scc文件。

2.3 SuperMap iServer 发布网络服务

1)进入iServer服务管理页面,点击快速创建服务。

2)选择文件型工作空间。

3)选择工作空间存储路径。

4)勾选交通网络分析服务。

5)填写相关信息,并勾选“SSC分析模型配置”,“是否启用SSC分析模型”,“是否自动生成SSC文件”、选择“SSC文件路径”、选择“道路等级字段”,点击发布。



这里要注意地是:

1.如果已经执行过第二步(SuperMap iDesktopX制作SSC分析模型),SSC文件选择第二步生成好的*.ssc文件即可。

2.如果没有执行过第二步,则iServer将会自动生成与“SSC 文件路径” 参数同名、同路径的 SSC文件。

6)发布成功后,可以进入到服务中,使用最近路径分析进行验证。

三、开启SSC与最佳分析性能对比

测试环境 CPU:Intel(R) Core(TM) i7-10875H 内存:16G 浏览器:Chrome 113
测试数据 全国路网(360万条记录)、udbx本地存储
测试软件 supermap-iserver-1111-22418-6909-windows-x64-deploy、apache-jmeter-5.5
测试场景 单台机器,全国范围内随机2点最佳路径分析。5并发、10并发、50并发、100并发对比最佳路径分析和开启SSC最佳路径分析

全国路网 并发数 最佳路径分析 最佳路径分析(开启SSC) 性能提升百分比
360万条线数据 5 1.6s 0.062s 2480%
360万条线数据 20 5.8s 0.22s 2536%
360万条线数据 50 14.3s 0.56s 2454%
360万条线数据 100 23.7s 1.04s 2179%

总结:

全国路网,SuperMap iServer开启SSC后的最佳路径分析,相比常规最佳路径分析性能提升20倍以上。

(转发请注明出处:http://www.cnblogs.com/zhangyongli2011/ 如发现有错,请留言,谢谢)

交通网络分析性能再升级,SuperMap iServer新增开启SSC分析模型的更多相关文章

  1. 性能再升级,XMeter Cloud 专业版正式上线

    去年 8 月,EMQ 正式在全球市场推出了最简单.快速的 MQTT 负载和场景测试云服务--XMeter Cloud,用户无需部署即可进行 MQTT 测试,以更低的测试成本轻松打造具有竞争力的可靠物联 ...

  2. SuperMap iServer 在Linux 部署中问题总结

    SuperMap iServer 作为超图公司的云GIS服务器产品,一般是部署在Linux服务器上.下面把日常部署和使用过程中遇到的相关问题做以汇总. 1.部署iServer的第一步是要检查Linux ...

  3. 年中盘点 | 2022年,PaaS 再升级

    作者丨刘世民(Sammy Liu)全文共7741个字,预计阅读需要15分钟 过去十五年,是云计算从无到有突飞猛进的十五年.PaaS作为云计算的重要组成部分,在伴随着云计算高速发展的同时,在云计算产业链 ...

  4. P1832 A+B Problem(再升级)

    P1832 A+B Problem(再升级) 题目提供者 usqwedf 传送门 标签 动态规划 数论(数学相关) 洛谷原创 难度 普及/提高- 通过/提交 107/202 题目背景 ·题目名称是吸引 ...

  5. SuperMap iServer 扩展/JAVA API 系列博客整理

    转载:http://blog.csdn.net/supermapsupport/article/details/70158940 SuperMap iServer为广大用户提供了整套 SDK,应用开发 ...

  6. A+B Problem(再升级)

    洛谷P1832 A+B Problem(再升级) ·给定一个正整数n,求将其分解成若干个素数之和的方案总数. 先说我的垃圾思路,根本没有验证它的正确性就xjb写的,过了垃圾样例,还水了20分,笑哭.. ...

  7. SuperMap iServer 9D HBase使用

    需提前将HBase进行部署,参考上篇部署文档 https://www.cnblogs.com/zhangyongli2011/p/9982143.html (转发请注明出处:http://www.cn ...

  8. 洛谷——P1832 A+B Problem(再升级)

    P1832 A+B Problem(再升级) 题目背景 ·题目名称是吸引你点进来的 ·实际上该题还是很水的 题目描述 ·1+1=? 显然是2 ·a+b=? 1001回看不谢 ·哥德巴赫猜想 似乎已呈泛 ...

  9. 洛谷P1832 A+B Problem(再升级) [2017年4月计划 动态规划03]

    P1832 A+B Problem(再升级) 题目背景 ·题目名称是吸引你点进来的 ·实际上该题还是很水的 题目描述 ·1+1=? 显然是2 ·a+b=? 1001回看不谢 ·哥德巴赫猜想 似乎已呈泛 ...

  10. NGK福利再升级,1万枚VAST限时免费送

    NGK在推出持有算力获得SPC空投活动后,福利再升级,于美国加州时间2021年2月8日下午4点推出新人福利活动,注册NGK成为新会员,即可获得0.2枚VAST奖励. VAST免费福利送活动仅送出1万枚 ...

随机推荐

  1. JavaScript小技巧~将伪数组转成数组的方法

    伪数组:具有数组结构但是五数组相关方法的类数组结构: 方式1:Array.from() 方式2:Array.prototype.slice.call(); 用方式1吧,好记简单

  2. Django 处理http请求之中间件

    Django处理http请求之中间件 by:授客 QQ:1033553122 欢迎加入全国软件测试交流QQ群:7156436 测试环境 Win7 Django 1.11 自定义中间件 中间件" ...

  3. [UE源码] 关于使用UE待改进的一些尝试

    UE从自己做了一款游戏后,发现了蓝图以及UE引擎本身的一些优缺点: 1.蓝图在一些简单的逻辑上书写方便,直观,而且编译速度快,但是也有一些其他问题: 结构体赋值后,无法二次修改 只有3种容器Array ...

  4. java中使用jdbc连接数据库操作

    先贴代码,在做说明 import java.sql.*; import java.util.ArrayList; import java.util.List; public class Conn { ...

  5. SEO初学指南之关键词研究(1) - 入门

    Hi,我是听风. 第一篇给大家科普了什么是SEO以及搜索引擎的原理,这篇文章我们正式进入关键词研究的章节. 本片文章将学习什么是关键词以及如何挑选符合预期的关键词. 一.什么是SEO关键词 简单来说就 ...

  6. 用IO多路复用实现 nginx 静态资源代理(C/Java/Golang)

    用IO多路复用实现 nginx 静态资源代理(C/Java/Golang) 效果展示 代理 HTML 代理图片 注意, 静态资源代理基于 HTTP, 可以了解上一篇文章: 几十行代码使用TCP简单实现 ...

  7. 【XML】Extensible Markup Language 可扩展标记语言

    Extensible Markup Language 可扩展标记语言[XML] 视频资料参考自:https://www.bilibili.com/video/BV1B441117Lu?p=186 其他 ...

  8. 【perl】01

    1.环境搭建 -- 解释器 / 编译器 Perl 在 Window 平台上有 ActiveStatePerl 和 Strawberry Perl 编译器. ActiveState Perl和 Stra ...

  9. git在idea中的冲突解决(非常重要)

    1.什么是冲突 冲突是指当你在提交或者更新代码时被合并的文件与当前文件不一致.读起来有点绕,结合下面的案例理解. 从上面对冲突的定义来看,冲突时发生在同一个文件上的. 2.生产上冲突的场景 常见冲突的 ...

  10. Pytorch使用ReduceLROnPlateau来更新学习率

    如需了解完整代码请跳转到: https://www.emperinter.info/2020/08/05/change-leaning-rate-by-reducelronplateau-in-pyt ...