首页 > 其他分享 >openlayers处理大量Overlay渲染问题

openlayers处理大量Overlay渲染问题

时间:2024-10-11 14:51:48浏览次数:11  
标签:shp 渲染 Overlay 地图 geojson dbf openlayers

问题背景

研发需求是提供离线地图,加载本地文件作为地图底图。后端提供了.shp.dbf.prj文件。由于 Openlayers 无法直接渲染shp数据,需要将shp数据格式转化为geojson格式,这可以在在线网站https://mapshaper.org/上实现,而.shp文件中提供了经纬和某些文字,文字注解在.dbf文件中。.shp.dbf都可以转换为geojson格式。

如果直接使用.shp转换后的geojson的文字信息,使用style.text实现标注,在 Openlayers v4.6.5 版本中,标注文字显示会有部分白色部分。所以需要使用 openlayers 的Overlay来实现。

当数据量很大,需要在 openlayers 上渲染所有的.dbf中的数据时,页面会非常卡顿,甚至放大缩小的功能都不能使用。数据量级就是全国所有的区县一级的名称和经纬度,大概 2800+ 条。

解决方法

碰到这种地图渲染大量数据的第一反应就是聚合显示,但是因为需求中的注解是区县名称,非业务信息,因此这种方式并不合适。但是可以借鉴这种层级显示数据的思路。

具体步骤如下:

  • 实时监听地图缩放级别

  • 获取当前地图的范围

  • 循环遍历数据,判断数据的经纬度是否在当前地图视图范围内。如果是,就调用Overlay类,显示文字

代码实现如下:

map.on("moveend", () => {
   
  var currZoom 

标签:shp,渲染,Overlay,地图,geojson,dbf,openlayers
From: https://blog.csdn.net/m0_46281382/article/details/142854069

相关文章

  • 2024-10-11 自定义渲染之arco-design-vue table的columns的title ==》使用DOM插入子元
    嗯...不知我没找到arco对应tabletitle的自定义渲染的正确方式 但我已经找了1个小时了,既然没找到就自己插入吧业务场景如下: 给表头插入一个必填的符号*,就这么简单的需求。代码如下:constelements:any=document.querySelectorAll('.arco-table-th-title');elements.f......
  • 运行使用Electron-forge打包的electron package时遇到在js文件中执行的exec命令和在渲
    js文件中执行的exec命令出错很可能是项目中使用了一些非html,css,js的源文件,比如用了Makefile来编译了cpp代码,或者执行的exec命令为cpdir/something.cpp之类的文件操作命令。可以使用修改forge.config.js文件配置的方式,使得npmrunmake的时候自动把Makefile等exec命令中用到......
  • 汽车3d动效的作用!云渲染实现3d动效
    在汽车营销领域,3D动效技术以其独特的视觉冲击力和交互体验,正成为吸引消费者注意力的新利器。而云渲染技术的应用,更是让这些动效如虎添翼,实现了高效、低成本的3D视觉内容制作与分享。本文将探讨汽车3D动效的作用,并分析云渲染如何助力实现这些令人惊叹的视觉效果。一、汽车3d动效......
  • 3DMAX云渲染:工业设计领域的新突破!
    随着数字化时代的到来,工业设计领域正经历着一场革命性的变革。3DMAX云渲染技术以其卓越的性能和灵活性,成为推动这一变革的关键力量。本文将探讨3DMAX云渲染技术如何为工业设计带来新突破,并分析其在工业设计领域的应用前景。一、3DMAX云渲染技术概述3DMAX云渲染技术是一种将渲染......
  • 地图可视化的艺术:深入比较Mapbox、OpenLayers、Leaflet和Cesium,不同场景下应如何选择
    目录地图可视化的艺术:深入比较Mapbox、OpenLayers、Leaflet和Cesium一、总览二、定制地图美学的先行者——Mapbox1、主要功能特点2、开源情况3、市场与应用人群4、安装与基础使用代码三、开源GIS地图库的全能王——OpenLayers1、主要功能特点2、开源情况3、市场与应......
  • 上传本地pcd文件,并用threejs渲染
    页面<template><div><inputtype="file"@change="handleFileUpload"accept=".pcd"/><inputtype="file"@change="changeFile"/><div@click="stringToFileClick&......
  • 浏览器的渲染原理
    浏览器渲染原理五个渲染流程Parse阶段:解析HTMLStyle阶段:样式计算三个阶段:收集,划分和索引所有样式表中存在的样式规则访问每个元素并找到适用于该元素的所有规则,CSS引擎遍历DOM节点,进行选择器匹配,并且匹配的节点执行样式设置结合层叠规则和其他信息为节点生成最......
  • Matplotlib 使用 LaTeX 渲染图表中的文本、标题和数学公式
    Matplotlib使用LaTeX渲染图表中的文本、标题和数学公式Matplotlib是一个功能强大的Python库,用于绘制各种高质量的图表和图形。在许多科研和技术文档中,数学公式是不可或缺的一部分,LaTeX提供了精美的数学公式渲染能力。Matplotlib支持通过LaTeX来渲染图表中的文本......
  • Winter Suite 冬季寒冷环境渲染着色器工具插件
    冬季套件为您提供了高质量渲染冬季或寒冷环境的钥匙。目前,已发布和正在制作的游戏都在使用冬季套装,该套装由多种产品组成,如具有先进动态特性的雪材料和霜冻相机效果。WebGL:1视频:1网络播放器:1|2特征:•动态覆盖和混合•渲染路径(正向和延迟)•高级BRDF着色控制......
  • 一种使用iText7渲染引擎去除文字水印方法的过程记录
    有一种PDF文本,使用旋转过的字体来作为水印。文件经过密码保护,不能通过编辑的方法去除。转载请保留这一段文字:charset#cnblogs,谢绝CSDN、知乎之流转载注意:拥有水印并且编辑密码包含的PDF文档可能具有版权保护,本文仅从技术角度讨论可能性。正常文件可以被打开而且显示无误,使用iTe......