iClient对接百万海量点展示

2024-02-25 09:32

本文主要是介绍iClient对接百万海量点展示,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者:lly

背景

我们在开发过程中,有时难免会需要展示上百万的点数据。今天咱们就介绍下SuperMap iClient对于对接百万数据量的展示。
对于百万数据量的展示有以下两种方式:
1.Echarts插件展示,这种方式不再赘述,参考以下博客
https://blog.csdn.net/supermapsupport/article/details/100140949
2.高效率点图层展示,本文主要介绍通过高效率点图层展示百万点数据

一、高效率点图层

1.引入开发文件

<script type="text/javascript" include="papaparse,dat-gui,widgets" src="../js/include-web.js"></script>
<script type="text/javascript" include="deck" src="../../dist/leaflet/include-leaflet.js"></script>

2.初始化底图

  map = L.map('map', {preferCanvas: true,                 //使用Canvas渲染closePopupOnClick: false,         //设置为false后用户单击地图时不会关闭弹出窗口center: [40.7594, -73.91426],maxZoom: 18,zoom: 11});var url = host + "/iserver/services/map-china400/rest/maps/ChinaDark";L.supermap.tiledMapLayer(url).addTo(map);

3.读取数据

  $.get('../data/nyc-taxi.csv', function (csvstr) {widgets.loader.removeLoader();var nycData = Papa.parse(csvstr, {skipEmptyLines: true, header: true});var data = nycData.data;addGraphicLayer(data);})

4.数据处理

将读取到的数据的每个点放入graphics要素数组中

   //设置每个点的经纬度for (var i = 0; i < data.length; ++i) {var coordinates = data[i];if (coordinates.lng === coordinates.lat) {continue;}graphics[i] = L.supermap.graphic({latLng: L.latLng(coordinates.lat, coordinates.lng)});}

5.绘制图层

使用webgl方式渲染图层

 graphicLayer = L.supermap.graphicLayer(graphics, {render: "webgl",                    //指定使用的渲染器(webgl渲染目前只支持散点)color: graphicStyle.color,                   //要素颜色highlightColor: graphicStyle.highlightColor,  //webgl 渲染时要素高亮颜色radius: graphicStyle.radius,                  //要素半径,单位像素onClick: function (graphic) {   //图层鼠标点击响应事件(webgl、canvas渲染时都有用)}}).addTo(map);

6.渲染结果

在这里插入图片描述
以上就是使用SuperMap iClient通过高效率点图层对接百万数据量的实现示例。完整代码如下:
http://iclient.supermap.io/examples/leaflet/editor.html#12_graphiclayer_webgl

这篇关于iClient对接百万海量点展示的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/745067

相关文章

Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)

《Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)》文章介绍了如何使用dhtmlx-gantt组件来实现公司的甘特图需求,并提供了一个简单的Vue组件示例,文章还分享了一... 目录一、首先 npm 安装插件二、创建一个vue组件三、业务页面内 引用自定义组件:四、dhtmlx

如何更优雅地对接第三方API

如何更优雅地对接第三方API 本文所有示例完整代码地址:https://github.com/yu-linfeng/BlogRepositories/tree/master/repositories/third 我们在日常开发过程中,有不少场景会对接第三方的API,例如第三方账号登录,第三方服务等等。第三方服务会提供API或者SDK,我依稀记得早些年Maven还没那么广泛使用,通常要对接第三方

起点中文网防止网页调试的代码展示

起点中文网对爬虫非常敏感。如图,想在页面启用调试后会显示“已在调试程序中暂停”。 选择停用断点并继续运行后会造成cpu占用率升高电脑卡顿。 经简单分析网站使用了js代码用于防止调试并在强制继续运行后造成电脑卡顿,代码如下: function A(A, B) {if (null != B && "undefined" != typeof Symbol && B[Symbol.hasInstan

三.海量数据实时分析-FlinkCDC实现Mysql数据同步到Doris

FlinkCDC 同步Mysql到Doris 参考:https://nightlies.apache.org/flink/flink-cdc-docs-release-3.0/zh/docs/get-started/quickstart/mysql-to-doris/ 1.安装Flink 下载 Flink 1.18.0,下载后把压缩包上传到服务器,使用tar -zxvf flink-xxx-

对接话费充值API接口的开发步骤以及各种优势

对接话费充值API接口通常涉及以下步骤: 1.选择API提供商: 研究并选择一个可靠的话费充值API提供商。考虑因素包括覆盖范围、费率、交易限额、客户支持和用户评价。 2.注册和获取API密钥: 在选定的API提供商平台上注册账户,并获取API密钥或访问令牌,这是调用API时进行身份验证的必要信息。 3.阅读API文档: 仔细阅读API文档,了解如何构建请求、需要哪些参数、API的

通过Ajax请求后台数据,返回JSONArray(JsonObject),页面(Jquery)以table的形式展示

点击“会商人员情况表”,弹出层,显示一个表格,如下图: 利用Ajax和Jquery和JSONArray和JsonObject来实现: 代码如下: 在hspersons.html中: <!DOCTYPE html><html><head><meta charset="UTF-8"><title>会商人员情况表</title><script type="text/javasc

Jasperreports+jaspersoft studio 实现单个或多个jrxml(jasper)文件生成一个pdf文件,并利用Servlet发送该pdf文件到浏览器中展示

Jasperreports+jaspersoft studio 实现单个或多个jrxml(jasper)文件生成一个pdf文件,并利用Servlet发送该pdf文件到浏览器中展示; 代码如下: Demo07.jrxml <?xml version="1.0" encoding="UTF-8"?><!-- Created with Jaspersoft Studio version 6.6.

Java应用对接pinpoint监控工具的时候,应用名称长度超出限制而导致接入失败

一、背景 java应用需要接入pinpoint,同一个虚拟机上的其他应用接入成功,唯独本应用不行。 首先排除是pinpoint agent的问题,因为其他应用都正常。 然后,我就对比二者的启动脚本。 -javaagent:/opt/pinpoint/pinpoint-bootstrap.jar -Dpinpoint.agentId=DA301004_17 -Dpinpoint.applic

【CSS】flex布局 - 左边超过打点, 右边完整展示

场景:宽度一定的情况下右边自适应,左边被挤压。 需要的效果如下: flex 的三个参数分别对应:flex-grow、flex-shrink、flex-basis。 flex-grow:定义项目的放大比例,默认为0。即如果存在剩余空间,也不放大。flex-shrink:定义项目的缩小比例,默认为1。即如果空间不足,该项目将缩小。flex-basis:定义在分配多余空间之前,项目占据的主轴空间。

C# 无法删除 Winform的PictureBox正在展示的图片

最近用C#的前端项目,写了PictureBox展示并上传图片。想删除掉已经展示和上传的图片,提示资源正在使用中不能删除。 查了一些原因,总结原因是PictureBox控件占用着图片资源,不允许删除。 从PictureBox展示图片入手,可以采用以下两个解决办法: 1:使用Bitmap类转接图片资源 Image bmp = new Bitmap(img); this.twoPictureBo