不二一

不二一 查看完整档案

苏州编辑  |  填写毕业院校  |  填写所在公司/组织填写个人主网站
编辑
_ | |__ _ _ __ _ | '_ \| | | |/ _` | | |_) | |_| | (_| | |_.__/ \__,_|\__, | |___/ 该用户太懒什么也没留下

个人动态

不二一 收藏了文章 · 9月12日

加速城市轨道交通发展,数字化运营新基建搭建地铁管理系统

前言

HT for Web 自主研发了强大的基于 HTML5 的 2D、3D 渲染引擎,为可视化提供了丰富的展示效果。在 2D 组态 和 3D 组态 上,Hightopo(以下简称 HT )的 HT for Web 产品有着丰富的组态可供选择,本文将介绍运用 HT 丰富的 2/3D 组态 搭建出的一个 地铁数字孪生管理系统 。

数字孪生指现实世界以及利用数字化技术营造的与现实世界对称的数字化镜像,以数字化方式拷贝一个物理对象,模拟对象在现实环境中的行为。数字孪生的模型概念包括三大要素,即物理世界、虚拟空间以及两者的交互接口。其目标在于精准映射现实空间的物理信息,呈现给管理者进行相关决策。

数字孪生的优势

提高可靠性和可用性。

降低风险。

降低维护成本。

改善生产。

更少的时间创造更多的价值。

系统结构

地铁数字孪生管理系统,该系统首先针对地铁车站这一物理对象,以及针对安防、环控等需求来分析物理对象特征,建立三维虚拟模型,并融合设计建造阶段、运维阶段产生的所有信息,借助传感器、设备运行历史等数据构建物理实体和虚拟空间的交互关系,最终为用户提供各类服务应用。该系统结构主要包括以下四个模块。

一、三维建模

需要针对地铁车站该物理实体作一一映射,包括建筑结构如墙、天花板、楼板、风机盘管、水管管道等构件,并根据最终服务应用的目标分析其他物理实体的特征,即地铁屏蔽门、电梯、灯光照明、进出口闸机、消防栓、火灾报警器等设施。三维虚拟模型的建立是实现数字孪生系统的基石,无论是信息融合还是预测分析都必须基于虚拟模型。

1、站台整体概览

2、站厅整体概览

3、自动售票机

4、安检机

5、进出口闸机

二、运维信息

将设计施工阶段、运维阶段产生的所有信息集成至孪生系统中,比如用户信息、设备信息、采购信息保修信息和财务信息等。实现模型和信息的一体化,简化业务流程和解决方案,为高效运维提供可能。

三、虚实交互

利用传感器采集实时数据,并根据各个设备的历史运行数据等,完成物理世界与虚拟空间的虚实交互。传感器动态获取的实时数据,结合照明系统、 监控系统、暧通系统等系统的运行历史数据和当前状态,存储入服务器中,为虚拟空间的构建提供必要前提。在虚拟空间中,以三维虚拟模型为基础,利用不同计算方法,获得相应的运营策略、环控策略和能耗预测方案。

四、预测分析

读取服务器中的相关数据,获取地铁进出站客流量的历史数据,依据不同时段,不同星期,不同月份的客流量数据,依据不同权重比,提前计算预测进出站客流量。在此基础上,可以根据预测客流量合理调派地铁工作人员,以及调整地铁进站安检通道,选择合理的方案以应对地铁站客流高低峰时段,帮助地铁站平稳运营。

根据服务器中的相关数据,计算在地铁车站上不同位置温湿度、空气质量的三维分布并可视化。在此基础上,可以计算不同平面以及各边界表面的热舒适度,保证地铁环境的热舒适性。同时能对不同的通风、制冷加热方案做能耗分析,选择合理方案控制能源消耗,节约运维成本。

总结

对于地铁这样规模庞大且人流密集的重大设施,监测、控制其环境质量,满足乘客的舒适度体验又能在紧急情况下保证乘客的人身安全是非常必要的。传统地铁环境控制系统采用自动化管理与控制系统,面对获取的大量运行状态监测数据,难以用可视化的方式呈现。

数字孪生技术与地铁环控系统相结合,具有以下优势:
1、三维可视化。数字孪生打破了通过平面图纸整合建筑信息的传统模式,通过 3D 建模技术映射物理现实世界的建筑模型。能够逼真还原地铁车站的建筑结构、管道系统、通风空调系统、电梯系统、安全警报系统等,同时涵盖所有的几何、材料和状态信息。
2、全生命周期。 数字孪生从规划设计到施工再到运维阶段的信息集成,保证了数据的完整性和一致性,贯穿地铁车站全生命周期。改善了传统模式中设计、建造阶段的信息与运维阶段的信息分别储存的弊端,减少了维护成本。
3、预测性分析。 数字孪生技术的引入为预测性决策和分析提供了基础。利用传感器监测大功率或易燃易爆等危险物品的关键数据;可借助深度学习算法,分析监控采集的乘客行为图像;根据通风空调系统的配置和传感器采集的数据等,分析车站热舒适度,同时预测能耗。

通过多年的积累,HT 还拥有许多其他优秀的三维可视化案例。例如 数据中心机房 等,如有兴趣,可以查看.

 

2019 我们也更新了数百个工业互联网 2D/3D 可视化案例集,在这里你能发现许多新奇的实例,也能发掘出不一样的工业互联网:https://mp.weixin.qq.com/s/ZbhB6LO2kBRPrRIfHlKGQA

同时,你也可以查看更多案例及效果:https://www.hightopo.com/demos/index.html

查看原文

不二一 收藏了文章 · 9月12日

8个JavaScript库可更好地处理本地存储

image

我为当前项目测试了一些本地存储库。想知道他们有什么很棒的功能吗?继续阅读。

Local Storage Bridge

https://github.com/krasimir/l...

如果你必须在同一个浏览器中从一个标签页发送消息到另一个标签页,你不必用艰难的方式。Local storage bridge在这里让任务变得更简单。

基本使用:

// 发送
lsbridge.send(‘app.message.error’, { error: ‘Out of memory’ });

// 监听
lsbridge.subscribe(‘app.message.error’, function(data) {
  console.log(data); // { error: ‘Out of memory’ }
});

Basil.js

image

Basil.js统一了session、localStorage和cookie,为你提供了一种处理数据的直接方法。

基本使用:

let basil = new Basil(options);

basil.set(‘name’, ‘Amy’);
basil.get(‘name’);
basil.remove(‘name’);
basil.reset();

store.js

https://github.com/marcuswest...

Store.js像其他东西一样处理数据存储。但还有更多的功能,它的一个高级特性是让你更深入地访问浏览器支持。

基本使用:

store.set(‘book’, { title: ‘JavaScript’ }); // Store a book
store.get(‘book’); // Get stored book
store.remove(‘book’); // Remove stored book
store.clearAll(); // Clear all keys

lscache

https://github.com/pamelafox/...

它与localStorage API类似。事实上,它是localStorage的一个封装器,并使用HTML5模拟memcaches函数。在上面的文档中发现更多的功能。

基本使用:

lscache.set(‘name’, ‘Amy’, 5); // 数据将在5分钟后过期
lscache.get(‘name’);

Lockr

image

Lockr建立在localStorage API之上。它提供了一些有用的方法来更轻松地处理本地数据。

是什么让你要使用此库而不是localStorage API?

好吧,localStorage API仅允许你存储字符串。如果要存储数字,则需要先将该数字转换为字符串。在Lockr中不会发生这种情况,因为Lockr允许你存储更多的数据类型甚至对象。

基本使用:

Lockr.set(‘name’, ‘Amy’);
Lockr.set(‘age’, 28);
Lockr.set(‘books’, [{title: ‘JavaScript’, price: 11.0}, {title: ‘Python’, price: 9.0}]);

Barn

https://github.com/arokor/barn

Barn在localStorage之上提供了一个类似Redis的API。如果持久性很重要,那么你将需要这个库来保持数据状态,以防发生错误。

基本使用:

let barn = new Barn(localStorage);

// 原始类型
barn.set(‘name’, ‘Amy’);
let name = barn.get(‘name’); // Amy

// List
barn.lpush(‘names’, ‘Amy’);
barn.lpush(‘names’, ‘James’);
let name1 = barn.rpop(‘names’); // Amy
let name2 = barn.rpop(‘names’); // James

localForage

https://github.com/localForag...

这个简单而快速的库将通过IndexedDB或WebSQL使用异步存储来改善Web的脱机体验。它类似于localStorage,但具有回调功能。

基本使用:

localforage.setItem(‘name’, ‘Amy’, function(error, value) {
  // Do something
});

localforage.getItem(‘name’, function(error, value) {
  if (error) {
    console.log(‘an error occurs’);
  } else {
    // Do something with the value
  }
});

很神奇的是它提供中文文档

crypt.io

https://github.com/jas-/crypt.io

crypt.io使用标准JavaScript加密库实现安全的浏览器存储。使用crypto.io时,有三个存储选项:sessionStorage,localStorage或cookie。

基本使用:

let storage = crypto;
let book = { title: ‘JavaScript’, price: 13 };

storage.set(‘book’, book, function(error, results) {
  if (error) {
    throw error;
  }
  
  // Do something
});

storage.get(‘book’, function(error, results) {
  if (error) {
    throw error;
  }
  // Do something
});

你还知道其他本地存储库吗?为什么使用它?在下面的评论中让我知道!

查看原文

不二一 发布了文章 · 2019-12-28

MapServer-Helloworld

  • Mapserver的安装请自行google,这里介绍Mapserver的配置文件Mapfile的配置方法,将使用一个最简单的实例进行入门。
  • 首先准备好一个shp格式的世界地图,放到 ./data 目录下,包含文件 world.dbf、world.prj、world.shp、world.shx四个必须文件。可以通过本文附件进行下载。
  • Mapfile 文件是以 .map 为后缀的,新建文件 hello_world.map 并输入基本的信息如下:
 MAP
   EXTENT -180 -85 180 85
   NAME "hello world"
   SHAPEPATH data/
   SIZE 1024 600
   LAYER
     NAME world
     TYPE polygon
     DATA world
     STATUS default
     CLASS
       NAME "world"
       OUTLINECOLOR 139 134 130
       COLOR 238 229 0
     END
   END
 END
  • 启动 mapserver
  • 在浏览器中输入地址:http://localhost/cgi-bin/maps...path/to/hello_world.map
    (其中path_to请替换成自己的路径)即可看到最简单的mapserver渲染结果

343b7a76-dafe-44d0-b114-83438956c775.jpg

  • 至此,我们就实现了最简单的mapserver地图发布。
查看原文

赞 0 收藏 0 评论 0

不二一 关注了专栏 · 2019-12-27

SegmentFault 之声

在这里,我们将为你推送 SegmentFault 思否公司官方合作信息,和合作伙伴最新动态。SegmentFault 思否是中国领先的开发者社区和技术媒体,中国最大的 Hackathon 组织者。我们致力于成为科技企业和开发者沟通的桥梁,帮助科技企业和开发者对话。

关注 9497

不二一 关注了标签 · 2019-12-27

算法

算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。

关注 13085

不二一 关注了标签 · 2019-12-27

html

超文本标记语言(英文:HyperText Markup Language,HTML)是为“网页创建和其它可在网页浏览器中看到的信息”设计的一种标记语言。

关注 61739

不二一 关注了标签 · 2019-12-27

javascript

JavaScript 是一门弱类型的动态脚本语言,支持多种编程范式,包括面向对象和函数式编程,被广泛用于 Web 开发。

一般来说,完整的JavaScript包括以下几个部分:

  • ECMAScript,描述了该语言的语法和基本对象
  • 文档对象模型(DOM),描述处理网页内容的方法和接口
  • 浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口

它的基本特点如下:

  • 是一种解释性脚本语言(代码不进行预编译)。
  • 主要用来向HTML页面添加交互行为。
  • 可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。

JavaScript常用来完成以下任务:

  • 嵌入动态文本于HTML页面
  • 对浏览器事件作出响应
  • 读写HTML元素
  • 在数据被提交到服务器之前验证数据
  • 检测访客的浏览器信息

《 Javascript 优点在整个语言中占多大比例?

关注 132832

认证与成就

  • 获得 0 次点赞
  • 获得 1 枚徽章 获得 0 枚金徽章, 获得 0 枚银徽章, 获得 1 枚铜徽章

擅长技能
编辑

(゚∀゚ )
暂时没有

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2019-12-27
个人主页被 34 人浏览