2

datart系列04:基于threejs自定义插件3D-MAP

 1 year ago
source link: https://dumplingbao.github.io/2023/01/11/datart-bi-04/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

datart系列04:基于threejs自定义插件3D-MAP

2023-01-11

| 可视化工具

Datart

| 18

datart自定义插件的方式,基于threejs自定义插件3D-MAP。

根据经纬度进行的城市数据展示场景,适用数据大屏,3D地图等

见插件文件:air_quality.sqlair_quality_sd.sql

  1. 三个纬度、一个指标
  2. 三个纬度有顺序要求(1、需要显示的名称,2、经度,3、纬度)

备注:三个维度有顺序要求是为了保证不改动源码扩展插件,动源码有两种解决方式如下:

第一种:增加经度、纬度的维度类型,根据类型判断

第二种:扩展经度、纬度的维度拖入框,类似双Y轴方式

  • 地图:地图json文件url地址

  • 基准值:适配不同数据级别展示,推荐设置样本数据最大值

  • 缩放级别:地图缩放等级,适配不同区域展示情况

  • 效果:水波、气泡、热力图

  • 中心坐标:设置中心坐标的经度、纬度,控制地图显示区域

插件地址:https://github.com/dumplingbao/datar-plug

<div id="container"></div>
<script>
let f1 = new dumplingbaoThree.Map(
document.getElementById('container'),
{
data: {
// 城市数据
cityData:
[
{
city: "青岛",
value: 100,
EN: [120.3844, 36.1052],//经纬度
},
{
city: "济南",
value: 89,
EN: [117.00, 36.40],
}
]
}
},
{
// config: {
// mapJson: 'https://geo.datav.aliyun.com/areas_v3/bound/370000_full.json',
// valueMax: 100,
// level: 3,
// longitude: 118.77,
// latitude: 36.40
// },
config: {
// 地图json地址
mapJson: 'https://geo.datav.aliyun.com/areas_v3/bound/100000_full.json',
// 基准值,推进样本数据最大值
valueMax: 100,
// 缩放级别
level: 16,
// 中心坐标经度
longitude: 105.11,
// 中心坐标纬度
latitude: 35.98
},
}
);
</script>
  1. 根据datart插件使用说明进行操作
  2. 根据需要优化后提交官方自定义插件库,部分规则依据当前使用的版本,命名规则等未按官方提供插件库的方式
  3. 地图json文件推荐,阿里云datav:http://datav.aliyun.com/portal/school/atlas/area_selector
  4. 私有化部署,只需把文件放到私有化文件服务器或者可访问的地址即可
  5. 省份地图,推荐缩放级别在3或4即可,省份中心坐标自行百度
  6. 插件存在已知bug,后续修复,正常使用满足

3d-01

3d-02

3d-sd

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK