本文通过中国城市魅力分析案例,教您如何通过SQL交互分析,分析出中国最具魅力城市。
案例介绍
本案例基于系统内置数据中国城市数据yicai_risinglab_city_index_point_2023(包含城市名称、商业指数、活跃指数等字段),通过DataV-Atlas分析地图,筛选出商业指数和活跃指数高于50的魅力城市。通过DataV-Atlas,将中国城市数据以点的形式展示在地图上,添加交互分析设置商业指数和活跃指数为查询参数,使用SQL语法筛选并展示商业指数和活跃指数高于50的魅力城市。完成本案例后,您将得到类似下图的分析地图。
数据为样例数据,仅用于学习和交流。
准备工作
(可选)创建项目分组:系统提供默认分组,您可按需创建。
步骤一:展示城市地图
导入中国城市数据至项目,创建一个中国城市的可视化地图。将地图中点的颜色深浅表示商业指数的程度,即颜色越深的点代表城市的商业指数越大。将地图中的点半径大小表示活跃指数的程度,即半径越大的点代表城市的活跃指数越大。
添加城市数据
在菜单栏单击我的项目,进入项目管理界面。
单击全部项目下的新建地理分析项目,输入项目名称并选择项目分组(默认全部项目)。本文示例项目名称为
中国城市魅力分析
,实际使用时,您也可按需自定义。单击创建项目,完成项目创建。项目成功创建后,将自动跳转到项目编辑界面。
在数据源添加窗口下选中
,单击添加到项目。您将得到如下图城市地图。
颜色映射商业指数
工具栏切换到图层面板,将基础点图层点元素的颜色配置着色基于商业指数字段
commercial_index
。点击颜色配置的分段函数,选择数值到颜色的分段映射方式为自定义。您可按需定义颜色对应的区间数值。具体使用可参考分段函数。本案例先选择等距,再切换到自定义。是为了保证,在后续数据量变化后,颜色对应数值的范围仍然保持不变。
半径映射活跃指数
定位到半径的配置处,将点的半径数值基于活跃指数字段
activity_index
。其他选项保持默认。完成设置后,关闭图层配置。您将得到以下效果中国城市地图。颜色越深半径越大的点,表示该点所在的城市魅力越大。
步骤二:筛选商业指数
此时分析地图已将商业指数和活跃指数可视化表达。您可通过交互分析,添加查询参数关联数据源,实现在地图中筛选指定范围商业指数的城市。
添加商业指数查询参数
创建一个数值类的查询参数表示商业指数变量,后续将在数据源的SQL查询中进行条件筛选的关联。
单击地图工具栏的交互分析
,开始配置查询参数。在新建SQL参数窗口选择数值类型。
添加范围值过滤类型,设置最值,并添加参数名称和SQL语句查询时的参数名称。参数示例如下:
参数显示名称:商业指数(颜色)
最小值参数名:min_commerical_index
最大值参数名:max_commerical_index
添加成功后,查询参数窗口将出现商业指数(颜色)的卡片。
表示该参数暂未被数据源引用。
查询参数关联地图
将数据源转为SQL查询,在SQL语句中将该查询参数作为查询条件,地图中展示的数据即为关联了商业指数满足指定范围的数据。
在左侧工具栏下选择数据源,将数据源转为SQL查询。
转化完成后,页面底部将弹出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}};
单击SQL运行窗口的预览查询结果按钮进行结果预览,确定无误后单击运行。当查询参数的商业指数出现了1个关联数据源时,说明参数关联成功。
调整查询参数的最小值范围到50,地图中符合商业指数在50-100范围内的点呈现如下。
步骤三:筛选活跃指数
类似步骤二,您可通过交互分析,添加活跃指数为查询参数关联数据源,实现在地图中筛选指定范围活跃指数的城市。
添加活跃指数查询参数
创建一个查询参数表示活跃指数变量,后续将在数据源的SQL查询中进行条件筛选的关联。
单击地图工具栏的交互分析
,开始配置新的查询参数。在新建SQL参数窗口选择数值类型。
添加范围值过滤类型,设置最值,并添加参数名称和SQL语句查询时的参数名称。参数示例如下:
参数显示名称:活跃指数(半径)
最小值参数名:min_active_index
最大值参数名:max_active_index
添加成功后,查询参数窗口将出现活跃指数(半径)的卡片。
查询参数关联地图
在SQL语句中将该查询参数作为查询条件,地图中展示的数据即为指定范围下的数据。
在左侧工具栏下选择数据源,点亮
图标,在打开的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}};
单击SQL运行窗口的预览查询结果按钮进行结果预览,确定无误后单击运行。当查询参数的活跃指数出现了1个关联数据源时,说明参数关联成功。
恢复商业指数查询参数范围,并调整活跃指数最小值范围到20,地图中符合活跃指数在20~100范围内的点呈现如下。
添加城市标签
在地图中添加城市标签,以更快查看信息。
在左侧工具栏下选择图层,选择基础点图层,打开图层配置。打开文字标签,并选择city_name字段作为标签字段。此时地图中的点下方出现对应城市名称,但由于标签过多,造成堆叠效果。
在图层配置的样式面板找到基础样式的碰撞检测,打开碰撞检测,系统将自动优化文字展示。
步骤四:分享使用城市地图
单击页面左下角的分享按钮,单击分享项目即可进入项目分享页面。
单击分享链接右侧的复制图标。
在浏览器打开复制好的链接。打开交互分析,通过调整活跃指数范围和商业指数范围,分析出符合条件的魅力城市。
通过该分析地图可知,商业指数和活跃指数在50以上的中国魅力城市有:北京市、上海市、广州市、深圳市、杭州市、成都市、重庆市。