层级生成器功能介绍

层级生成器是一款用于生成自定义下钻区域树形结构数据的小工具,本文介绍层级生成器的详细功能。

进入层级生成器

单击DataV.GeoAtlas地理小工具系列,即可打开层级生成器工具页面。层级生成器面板

层级生成器界面概述

层级生成器界面主要分成两大主要功能面板,分别为地图面板和层级树面板。面板

  • 地图面板:地图面板负责层级数据内容在地图展示浏览,其操作逻辑与范围选择器保持一致,详细功能说明请参见地图面板功能详解

  • 层级树面板:您可以在层级树面板中进行查看示例、上传层级和导出层级等功能操作,详情功能说明请参见层级树面板功能详解

地图面板功能详解

功能

说明

查看层级地理数据样式

地图面板中,以蓝色粗实线描边样式表示选中节点;以浅白色填充且淡蓝色虚线绘制选中节点内的子节点。样式

层级下钻与上钻

单击子区域即可下钻,单击下钻区域外侧即可上钻返回到上一级。

说明

下钻操作逻辑与范围选择器保持一致。

层级树面板功能详解

功能

说明

查看示例

单击层级树面板右上角的不会用?点我查看示例处,即可在面板中增加江浙沪包邮区层级树下钻示例内容,示例数据中包含了江浙沪的行政区域层级,具体到区县级。查看示例

说明

您可以直接将该示例层级数据导出下载到本地。

导入层级

单击层级树面板下方的导入层级.json按键,您可以在本地电脑内选择一个保存完整的层级数据文件,层级文件支持DataV专有格式和开放格式两种。

导出层级(DataV专有)

单击层级树面板下方的导出层级(DataV专有)按键,您可以导出层级数据(level.json)文件,文件内的地理字段有压缩,能在DataV的组件(如基础平面地图等组件)中使用。导出的文件中还包含一份名为(层级映射.json)的文件,该文件内会记录每个节点的映射信息。

导出层级(开放格式)

单击层级树面板下方的导出层级(开放格式)按键,您可以导出层级数据(level.json)文件和(层级映射.json)的文件,文件内的地理字段未经压缩,具体地理字段说明请参见下钻数据结构定义

层级树节点

在层级树面板中,每一行即为一个层级节点,每一个节点内有5种节点信息,包括标题、treeID、地理数据、子节点和父节点。层级树节点信息

说明

标题、地理数据、子节点和父节点这四个信息,可由您自定义配置修改,只有treeID不可手动更改,由层级面板进行自动计算得到。

解绑与绑定地理信息

  • 解绑地理信息:当节点右侧显示小绿点和解绑数据符号,表示当前节点具有地理信息,您可以单击解绑图标图标,在弹窗的二次确认解绑数据对话框中,单击确认即可解绑当前节点下的地理信息。

  • 绑定地理信息:当节点右侧显示小红点和绑定数据符号,表示当前节点内没有地理信息,您可以单击绑定数据图标,在弹窗的绑定数据对话框中,您可以选择行政区数据集自定义数据两种类型的地理数据。

    • 行政区数据集:选择该类型,您可以在下方下拉框内,自定义输入并选择系统内置的某个行政区域,并自定义选择是否选中下方的同时添加所有下游节点,单击对话框右下角确认即可绑定一个行政区域地理数据。

    • 自定义数据:选择该类型,您可以单击下方上传geojson文件按键,自定义从本地电脑中上传已有的geojson文件,单击对话框右下角确认即可绑定一个自定义地理数据。

重命名节点

单击节点右侧的重命名图标,即可自定义输入修改节点的名称。

新增子节点

单击节点右侧的新增子节点图标,即可在当前节点的下级新增一个子节点。新增子节点

删除节点

单击节点右侧的删除图标,即可删除当前节点。

更改节点层级

您可以单击某个节点并拖动该节点,通过将节点在面板内上下移动,调整该节点在面板中的层级位置。调整节点层级位置

通过浏览示例,快速了解层级生成器功能

层级生成器自带一个简单的示例,展示了江浙沪的行政区下钻层级样式。示例浏览动图

浏览示例操作示范:

  1. 单击层级树面板工具条右上角的不会用?点我查看示例,即可添加江浙沪包邮区例子到面板中。

  2. 单击面板内的节点标题,即可在左侧地图面板中定位展示选中节点行政区域。

    说明

    每个节点标题右侧有几个功能按键,分别是绑定和解绑地理数据、重命名标题、新增子节点和删除子节点,详情请参见层级树面板功能详解

  3. 单击左侧地图面板内的层级行政区域,单击区域即可下钻,单击区域外侧即可返回上一层上钻,当鼠标悬浮在某个行政区域时,会提示该区域的标题进行联动样式展示。

    说明

    层级生成器的地图面板操作逻辑和范围选择器的逻辑基本一致。

自制层级下钻示例

本案例以自制一份京津翼地区的层级下钻数据,演示完整的层级制作过程。

  1. 单击DataV.GeoAtlas地理小工具系列,打开层级生成器页面。

  2. 在页面右侧的层级树面板中,单击面板默认显示根区域节点右侧的重命名图标,修改标题名为京津冀区域

  3. 单击京津冀区域节点右侧的新增子节点图标,依次绑定北京市天津市河北省三个行政区域的地理数据集,同时添加该区域内的所有下游节点,完成创建一份树状层级结构。绑定行政地理数据操作详情,请参见层级树面板功能详解绑定行政区域地理数据

  4. 单击页面左上角的范围选择器,进入范围选择器页面,在范围选择器分别下载京、津和冀三个行政区域数据,下载详情请参见范围选择器功能详解中的选择数据格式。下载数据

  5. 单击页面左上角的边界选择器,进入边界选择器页面,在边界选择器中合并京津冀三个行政区域的数据,合并数据的操作请参见地图面板功能详解中的合并。合并数据

  6. 京津冀整体行政区域数据合并完成后,单击选中该区域,并在下方属性表面板中,新增一列name字段属性列,并将属性字段名称命名为京津冀,完成配置后单击地图面板右侧的导出GeoJSON图标,下载合并后的完整数据。增加属性列并保存

  7. 单击页面左上角的层级生成器,切换进入层级生成器页面内,将上一步合并后下载下来的京津冀数据,绑定到根节点处,这样一份完整的层级下钻示例数据就制作完成了。绑定合并数据

  8. 单击层级树面板下方的导出层级(DataV专有),导出该层级结构数据文件到本地,并将两个文件上传到自己的服务器或者OSS上,生成两个新的API。

自制层级下钻数据在DataV产品组件使用示例

本案例描述将自制的京津翼地区的层级下钻数据,配置到DataV多种组件中使用的过程,以基础平面地图 3.0组件为例。

  1. 登录DataV控制台

  2. 工作台页面,选择任一数据看板,单击编辑,进入画布编辑器页面。

    说明

    如果工作台页面中没有数据看板,您可以参见使用模板创建PC端看板,创建一个数据看板。

  3. 单击左侧导航栏的组件库页签,进入组件管理页面。

  4. 在地图模块中添加一个基础平面地图 3.0组件,并在组件配置面板中,新增一个自定义区域下钻层子组件,具体添加子组件操作请参见配置中的添加子组件。image

  5. 单击自定义区域下钻层组件的数据源面板,选择数据接口页签,将数据源类型选择为API,在下方URL编辑框内,将提取到的JSON API粘贴到数据输入框内。如下图所示。image

    示例API链接如下。

    https://vis-data-server.oss-cn-hangzhou.aliyuncs.com/TiNqZkTkH1IeUOGTiMC6WgHY6TtG72.json
    image
  6. 选择默认区域接口,配置静态数据如下图所示。image

  7. 选择自定义topojson数据接口,将数据源类型选择为API,在下方URL编辑框内,将提取到的JSON API粘贴到数据输入框内。如下图所示。image

    示例API链接如下。

    https://vis-data-server.oss-cn-hangzhou.aliyuncs.com/Aj6uSgiyi23D4rMSBEMGRfaIn1W1Jn.json
    image
  8. 自定义区域下钻层子组件数据接口配置完成后,即可在画布编辑器的地图组件中查看到京津冀区域的层级下钻样式,双击行政区域即可下钻,效果如下图所示。下钻效果展示

衍生示例效果展示

您还可以在边界生成器中自定义绘制一份边界数据,然后绑定到层级生成器中进行层级的生成,如下图所示。手绘示例

将自定义绘制的边界数据制作成层级下钻结构数据后,您也可以将其导出成DataV专有格式,并将该导出的层级结构数据文件,应用到基础平面地图 3.0组件的自定义区域下钻层子组件中,具体生成层级结构数据及应用到DataV组件的操作方法,请参见自制层级下钻示例自制层级下钻数据在DataV产品组件使用示例

下钻数据结构定义

下图所示的下钻层级数据将会应用在DataV产品的组件中,如您想在外部使用层级数据则可以参考下图数据的规范并了解字段的含义。示例图

上图中数据是一份JSON,根节点中包含一个version字段,其他字段都是层级节点的通用字段。对于每一个层级节点而言,其字段的含义如下。

字段

说明

parent

父节点的treeID。

treeID

节点的ID,显示为"x-x-x"结构,如“1-2-3”表示根节点的第二个子节点的第三个子节点。

name

节点的名字。

treeName

节点的名字加ID。

payload

节点地理数据的TopoJSON,payload字段为地理数据字段,对于开放格式而言,即为TopoJSON,如果您是开发人员,则可以利用topojson-client,将TopoJSON转为GeoJSON。

children

子节点的集合。