文档

中国城市魅力分析案例

更新时间:

本文通过中国城市魅力分析案例,教您如何通过SQL交互分析,分析出中国最具魅力城市。

案例介绍

本案例基于系统内置数据中国城市数据yicai_risinglab_city_index_point_2023(包含城市名称、商业指数、活跃指数等字段,通过DataV-Atlas分析地图,筛选出商业指数和活跃指数高于50的魅力城市。通过DataV-Atlas,将中国城市数据以点的形式展示在地图上,添加交互分析设置商业指数和活跃指数为查询参数,使用SQL语法筛选并展示商业指数和活跃指数高于50的魅力城市。完成本案例后,您将得到类似下图的分析地图。

image

说明

数据为样例数据,仅用于学习和交流。

准备工作

步骤一:展示城市地图

导入中国城市数据至项目,创建一个中国城市的可视化地图。将地图中点的颜色深浅表示商业指数的程度,即颜色越深的点代表城市的商业指数越大。将地图中的点半径大小表示活跃指数的程度,即半径越大的点代表城市的活跃指数越大。

添加城市数据

  1. 登录DataV-Atlas控制台

  2. 在菜单栏单击我的项目,进入项目管理界面。

  3. 单击全部项目下的新建地理分析项目,输入项目名称并选择项目分组(默认全部项目)。本文示例项目名称为中国城市魅力分析,实际使用时,您也可按需自定义。

  4. 单击创建项目,完成项目创建。项目成功创建后,将自动跳转到项目编辑界面。

  5. 在数据源添加窗口下选中已有数据集 > Atlas演示数据库 > public > yicai_risinglab_city_index_point_2023,单击添加到项目。您将得到如下图城市地图。

    image

颜色映射商业指数

  1. 工具栏切换到图层面板,将POINT图层点元素的颜色配置着色基于商业指数字段commercial_indeximage

  2. 点击颜色配置的分段函数,选择数值到颜色的分段映射方式为自定义。您可按需定义颜色对应的区间数值。具体使用可参考分段函数。本案例先选择等距,再切换到自定义。是为了保证,在后续数据量变化后,颜色对应数值的范围仍然保持不变。image

半径映射活跃指数

  1. 定位到半径的配置处,将点的半径数值基于活跃指数字段activity_index。其他选项保持默认。image

  2. 完成设置后,关闭图层配置。您将得到以下效果中国城市地图。颜色越深半径越大的点,表示该点所在的城市魅力越大。image

步骤二:筛选商业指数

此时分析地图已将商业指数和活跃指数可视化表达。您可通过交互分析,添加查询参数关联数据源,实现在地图中筛选指定范围商业指数的城市。

添加商业指数查询参数

创建一个数值类的查询参数表示商业指数变量,后续将在数据源的SQL查询中进行条件筛选的关联。

  1. 单击地图工具栏的交互分析image,开始配置查询参数。在新建SQL参数窗口选择数值类型image

  2. 添加范围值过滤类型,设置最值,并添加参数名称和SQL语句查询时的参数名称。参数示例如下:

    • 参数显示名称:商业指数(颜色)

    • 最小值参数名:min_commerical_index

    • 最大值参数名:max_commerical_index

    image

  3. 添加成功后,查询参数窗口将出现商业指数(颜色)的卡片。image表示该参数暂未被数据源引用。image

查询参数关联地图

将数据源转为SQL查询,在SQL语句中将该查询参数作为查询条件,地图中展示的数据即为关联了商业指数满足指定范围的数据。

  1. 在左侧工具栏下选择数据源,将数据源转为SQL查询。转化为SQL查询成功之后,该数据源将出现image图标。image

  2. 点亮image图标,页面底部将弹出SQL查询窗口,输入如下SQL语句关联商业指数查询参数,实现对数据源的条件筛选。 image

    -- 条件筛选商业指数在指定范围内的数值,{{}}引用变量
    SELECT "gid", "city_id", "city_name", "province_name", "city_tier", "total_index", "total_rank", "commercial_index", "commercial_rank", "hub_index", "hub_rank", "activity_index", "activity_rank", "lifestyle_index", "lifestyle_rank", "future_index", "future_rank", "geom" 
    FROM "public"."yicai_risinglab_city_index_point_2023"
    WHERE commercial_index between {{min_commerical_index}} and {{max_commerical_index}};
  3. 单击SQL运行窗口的预览查询结果按钮进行结果预览,确定无误后单击运行。当查询参数的商业指数出现了1个关联数据源时,说明参数关联成功。image

  4. 调整查询参数的最小值范围到50,地图中符合商业指数在50-100范围内的点呈现如下。image

步骤三:筛选活跃指数

类似步骤二,您可通过交互分析,添加活跃指数为查询参数关联数据源,实现在地图中筛选指定范围活跃指数的城市。

添加活跃指数查询参数

创建一个查询参数表示活跃指数变量,后续将在数据源的SQL查询中进行条件筛选的关联。

  1. 单击地图工具栏的交互分析image,开始配置新的查询参数。在新建SQL参数窗口选择数值类型

  2. 添加范围值过滤类型,设置最值,并添加参数名称和SQL语句查询时的参数名称。参数示例如下:

    • 参数显示名称:活跃指数(半径)

    • 最小值参数名:min_active_index

    • 最大值参数名:max_active_index

    image

  3. 添加成功后,查询参数窗口将出现活跃指数(半径)的卡片。

查询参数关联地图

在SQL语句中将该查询参数作为查询条件,地图中展示的数据即为指定范围下的数据。

  1. 在左侧工具栏下选择数据源,点亮image图标,在打开的SQL查询窗口修改SQL语句如下。此时也关联活跃指数查询参数。

    -- 条件筛选商业指数和活跃指数在指定范围内的数值,{{}}引用变量
    SELECT "gid", "city_id", "city_name", "province_name", "city_tier", "total_index", "total_rank", "commercial_index", "commercial_rank", "hub_index", "hub_rank", "activity_index", "activity_rank", "lifestyle_index", "lifestyle_rank", "future_index", "future_rank", "geom" 
    FROM "public"."yicai_risinglab_city_index_point_2023"
    WHERE commercial_index BETWEEN {{min_commerical_index}} AND {{max_commerical_index}}
    AND activity_index BETWEEN {{min_active_index}} AND {{max_active_index}};
  2. 单击SQL运行窗口的预览查询结果按钮进行结果预览,确定无误后单击运行。当查询参数的活跃指数出现了1个关联数据源时,说明参数关联成功。image

  3. 恢复商业指数查询参数范围,并调整活跃指数最小值范围到20,地图中符合活跃指数在20~100范围内的点呈现如下。image

添加城市标签

在地图中添加城市标签,以更快查看信息。

  1. 在左侧工具栏下选择图层,选择POINT图层,打开图层配置。打开文字标签,并选择city_name字段作为标签字段。此时地图中的点下方出现对应城市名称,但由于标签过多,造成堆叠效果。image

  2. 图层配置的样式面板找到基础样式的碰撞检测,打开碰撞检测,系统将自动优化文字展示。image

步骤四:分享使用城市地图

  1. 将地图生成分享链接,分享至他人。image

  2. 复制链接,在浏览器打开。打开交互分析,通过调整活跃指数范围和商业指数范围,分析出符合条件的魅力城市。image

    通过该分析地图可知,商业指数和活跃指数在50以上的中国魅力城市有:北京市、上海市、广州市、深圳市、杭州市、成都市、重庆市。