引言
前段时间一直沉迷于AI方向,几乎很久没碰大数据开发的相关内容了,今天突然看到阿里活动又推出DataV的体验了,我直接"啪"的一下就点进来了,很快啊!本来之前开发数字孪生的时候就接触过基础的DataV操作了,但是那时候是偏向于城市建模的CityV(城市视觉智能引擎),关于DataV-Atlas(可视分析地图)还是第一次使用,所以这里还是带着一丝好奇与期待的心情开始实践的。
可视分析地图(DataV-Atlas)
首先还是简要了解一下这款产品吧(阿里云DataV为了满足不同场景下的数据可视化需求,涉及的子产品数量较多,容易搞混)。
DataV Atlas 可视分析地图是阿里云面向地理空间数据的专业分析工具。它支持快速展示和实时分析海量时空数据,并可以通过SQL分析工具对用户数据库中的空间数据进行多维度的灵活分析。该工具能够帮助用户快速构建自己的地理分析地图,挖掘时空数据的价值,并支持商业决策和科学研究等领域的应用。
主要能力或者特点包括:
专业的时空分析工具
提供一系列强大的空间查询和分析功能,可以根据时间维度对地理空间数据进行分析。帮助用户在地图上进行可视化分析时间序列数据的变化趋势,比较不同时间点或时间段的地理数据,从而更好地理解时间与地理位置之间的关系。
分析地图的发布与共享
提供地图发布和共享功能,允许用户分享他们创建的分析地图,通过发送链接给其他人,让他们直接查看和与地图进行交互。这方便用户与他人共享地图,并进行协作和讨论。
看到这里我直接愣住了。这...这不就是GIS 吗?这难道不是和ArcGIS Server 一个东西么?后来我查了一下,发现它的全名居然真的叫DataV.GeoAtlas,好吧,这下破案了,但是值得说的是,它其实和ArcGIS Server并不完全相同或者说不完全对等。
阿里云DataV-Atlas和ArcGIS Server的异同点
阿里云DataV.GeoAtlas的特点:
-
重点在于数据可视化 :DataV.GeoAtlas是阿里云DataV平台中的一个模块,专注于地理数据的可视化展示。它提供了地图范围选择、地理边界生成和层级生成等功能,帮助用户快速创建美观的地图可视化效果。
-
易用性高 :面向非专业用户,通过图形化界面和拖拽操作简化了地图制作过程,不需要深厚的GIS专业知识。
-
集成于云服务 :作为阿里云服务的一部分,它能够无缝对接阿里云的其他服务,便于数据管理和分析。
-
输出格式多样:支持导出SVG图片和JSON数据,便于在Web应用中集成和分享。
ArcGIS for Server的特点:
-
全面的GIS服务 :ArcGIS for Server是一个企业级的地理信息系统服务器,提供全面的GIS服务,包括数据管理、地图服务发布、高级空间分析、多用户编辑等。
-
强大且可扩展:支持复杂的空间数据处理、高级分析功能,且具备高度的可定制性和扩展性,适合构建大型的地理信息系统。
-
跨平台服务:可以在多种环境中部署,支持多用户访问和大规模并发处理,适合企业和组织内部的GIS应用部署。
-
面向开发:提供了丰富的API和SDK,便于开发人员集成到自定义的应用程序中,实现更复杂的业务逻辑和功能定制。
通过以上内容,我们也可以得出下列对比表格:
可以看出,如果侧重于快速、直观的地理数据可视化展示,且需要云服务集成,DataV.GeoAtlas可能是更好的选择;若需构建复杂、可定制的GIS应用,要求强大的后端支持和高级分析功能,则ArcGIS for Server更加合适。
快速体验阿里云DataV-Atlas
进入阿里云产品试用界面,搜索【atlas】,点击【免费试用】,如下所示:
提交成功后如下所示:
点击【管理控制台】,进入如下界面,则为开通完毕:
阿里云DataV-Atlas界面介绍
查看空间容量
在数据库列表中的体验空间右侧,或在体验空间数据库详情页的右上角,可以查看当前空间的已使用容量和总容量。
上传数据表
单击右上角的上传数据,打开上传数据文件窗口。
在选择文件页签,将文件拖拽至添加处或单击浏览从本地文件选择需要上传的文件。
【注意】支持Shapefiles文件和GeoJSON文件。
-
Shapefiles格式文件需要将.shp、.dbf、.prj、.shx格式的文件压缩为一个.zip文件进行上传。
-
GeoJSON格式文件支持以.json或.geojson后缀的文件进行上传。
下一步,在文件存储目录页签 ,自定义数据表名称并选择需要上传的文件夹,单击保存至此处。
等待数据导入完成后,单击完成,系统将自动跳转至数据表详情页。
查看已上传数据表详情,包括但不限于数据地图、数据量、数据表大小及项目引用情况。
实践:DataV Atlas探索杭州美食
控制台登录默认进入的就是数据中心页,Atlas 数据中心提供了两个默认数据连接:
-
Atlas 演示数据库:存放 Atlas 官方提供的一些演示案例数据,会不定期更新进一些数据集供用户试用
-
体验空间:免费提供 100MB 空间供用户上传自有的数据来体验产品功能
本次实验数据两张表存放于 Atlas 演示数据库的 public 文件夹下:
-
"public"."hangzhou_poi_sample":杭州餐饮娱乐店样例数据,包括分类、地理位置和消费者评价等
-
"public"."hangzhou_districts":杭州市行政区划数据,包括行政区划名称、行政区划代码、行政区划级别、行政区划中心点经纬度、行政区划边界等
在列表中点击表名称即可预览该数据,支持地图模式以及数据表模式预览,支持查看表记录数量以及存储占用
创建可视化项目
点击顶部菜单从【数据中心】切换到 【我的项目】。
点击 【新建地理分析项目】。
选择 Atlas 演示数据库 下 "public"."hangzhou_poi_sample" 表添加到项目
点击左侧图层列表可以对图层进行样式配置
下面可以利用 SQL 来对这份样例数据进行一些好玩有趣的分析:
杭州各个区的吃货都爱吃些啥?
点击【转为SQL查询】。
点击【查看SQL】。
输入如下SQL语句:
js
WITH CategoryCounts AS (SELECT b.name AS 区域名称,
p.二级分类 AS 二级分类,
COUNT(p.二级分类) AS 类型数量,
b.geom as geom
FROM public.hangzhou_districts b
JOIN public.hangzhou_poi_sample p ON ST_Contains(b.geom, p.geom)
WHERE 一级分类 = '美食'
AND 二级分类 not in ('小吃快餐', '水果生鲜', '面馆', '本帮江浙菜')
GROUP BY b.name, p.二级分类, b.geom),
RankedCategories AS (SELECT 区域名称,
二级分类,
类型数量,
row_number() OVER (PARTITION BY 区域名称 ORDER BY 类型数量 DESC) as rank,
geom
FROM CategoryCounts)
SELECT 区域名称,
二级分类,
类型数量,
区域名称 || '
' || '美食标签:' || 二级分类 as 标注字段,
geom
FROM RankedCategories
WHERE rank = 1;
显示效果如下:
修改样式,添加【颜色着色】。
再新建一个数据源,点击【添加数据源】。
选择【SQL查询】,点击刚才那张表,选择默认的【SQL自定义查询】。
执行如下代码:
js
WITH CategoryCounts AS (SELECT b.name AS 区域名称,
p.二级分类 AS 二级分类,
COUNT(p.二级分类) AS 类型数量,
ST_PointOnSurface(b.geom) as geom --计算标注点
FROM public.hangzhou_districts b
JOIN public.hangzhou_poi_sample p ON ST_Contains(b.geom, p.geom)
WHERE 一级分类 = '美食'
AND 二级分类 not in ('小吃快餐', '水果生鲜', '面馆', '本帮江浙菜')
GROUP BY b.name, p.二级分类, b.geom),
RankedCategories AS (SELECT 区域名称,
二级分类,
类型数量,
row_number() OVER (PARTITION BY 区域名称 ORDER BY 类型数量 DESC) as rank,
geom
FROM CategoryCounts)
SELECT 区域名称,
二级分类,
类型数量,
区域名称||'
'||'美食标签:'||二级分类 as 标注字段,
geom
FROM RankedCategories
WHERE rank = 1;
执行后如下所示:
修改样式如下:
即可清晰的看出各个行政区美食最多的二级分类是哪些类型了。
后续还有一些步骤,一直到生成蜂巢图、热力图,都可以参考官方教程文档来操作。
同时,DataV Atlas里面也直接提供了的模板可以使用。
杭州美食
美国失业人口分析(2017 年)
中国新一线城市研究
这里还推荐一个省市地理文件下载的网站。
比如我从这里下载到了最新的湖北省武汉市江汉区道路路网数据,但是注意只有100M免费空间。
这里我们导入后也可以看到如下所示:
我们再加入一张武汉市的区域图,点击新建项目并添加:
不过最后还是想提一个建议,在执行SQL语句时能不能给出报错的原因,每次都只提醒运行失败,有时候很难找到问题在哪儿。