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

OpenLayers+WebGIS实时协作黑科技!多人同步标绘神器

基于OpenLayers的跨平台GIS协同标绘系统,GeoJSON+Socket.io OpenLayers实时协同全链路解决方案,WebGIS协同标绘痛点终结者!应急指挥/智慧城市必备!

 

系统功能及特点:

1、支持场景构建、场景保存、场景删除、场景列表显示、场景加载等管理功能;

2、支持多用户终端协同标绘;

3、支持点、线、面、圆形等图形标绘(可扩展);

4、标绘元素的选择、编辑、移动、删除等操作;

5、采用JSON.stringify将场景列表及场景数据持久化为 json 文件存储;

系统演示视屏:

基于ol的在线协同标绘系统

技术栈说明:

    <link rel="stylesheet" href="lib/openlayer/v10.5.0/ol.css"><script src="lib/openlayer/v10.5.0/dist/ol.js"></script>
  "dependencies": {"express": "^5.1.0","socket.io": "^4.8.1","uuid": "^11.1.0"}

源代码结构:

<!DOCTYPE html>
<html><title>协同标绘系统</title><link rel="stylesheet" href="lib/openlayer/v10.5.0/ol.css"><link rel="stylesheet" href="plot.css"><script src="lib/openlayer/v10.5.0/dist/ol.js"></script><script src="https://cdn.socket.io/4.7.5/socket.io.min.js"></script>
</head>
<body><div class="scene-panel"><div class="scene-controls"><input type="text" id="sceneName" style="height:22px" placeholder="输入场景名称"><button onclick="saveScene()">保存场景</button> <button onclick="toggleScenes()">场景列表</button>|<div class="toolbar" style="display: inline;"><button data-type="Point">点</button><button data-type="LineString">线</button><button data-type="Polygon">面</button><button data-type="Circle">圆</button><button data-type="Arrow">箭头</button><button id="delete-all">清空</button> | <button id="select-btn" class="active">选择</button><button id="modify-btn">编辑</button><button id="move-btn">移动</button><button id="delete-btn">删除</button></div></div><div class="scene-list" id="sceneList"></div></div><div class="user-list" id="userList"></div><div id="map"></div><script src="plot-utils.js"></script><script src="plot-scene.js"></script><script src="plot-main.js"></script><script src="plot-interaction.js"></script><script src="plot-style.js"></script></body></html>

 

 

http://www.xdnf.cn/news/258859.html

相关文章:

  • 使用xlwings将两张顺序错乱的表格进行数据核对
  • 二叉搜索树的判断(双指针解决)
  • 深度残差网络ResNet
  • Controller层接收参数方式
  • 瑞萨 EZ-CUBE2 调试器
  • AI赋能新媒体运营:效率提升与能力突破实战指南
  • ZYNQ工业级串口方案:AXI UART 16550扩展RS-485实战(自动方向控制+Linux驱动)
  • AI大模型-微调和RAG方案选项
  • 友元函数和友元类
  • 【学习笔记】深入理解Java虚拟机学习笔记——第1章 走进Java
  • 4.1 模块概述
  • JavaScript基础-逻辑运算符
  • 【质量管理】现代TRIZ问题识别中的功能分析——组件分析
  • 网站怎样备份网站,备份网站数据的方法
  • 正弦波、方波、三角波和锯齿波信号发生器——Multisim电路仿真
  • re题(52)BUUCTF-[FlareOn5]Minesweeper Championship Registration
  • 深度理解linux系统—— 进程优先级
  • 深入理解C++构造函数:从入门到实践
  • AXI中的burst有几种?都用在什么场景中
  • 复刻低成本机械臂 SO-ARM100 舵机配置篇(WSL)
  • HTML5+JavaScript实现连连看游戏之二
  • [预备知识]6. 优化理论(二)
  • Codeforces Round 1022 (Div. 2) A ~ C
  • 【AI面试准备】数据治理与GDPR脱敏机制构建
  • 一键暂停Windows更新工具
  • 数字智慧方案6186丨智慧应急指挥解决方案(43页PPT)(文末有下载方式)
  • VGG网络模型
  • 自监督学习的学习笔记
  • Python 数据智能实战 (7):智能流失预警 - 融合文本反馈
  • git问题记录-如何切换历史提交分支,且保留本地修改