打开位置数据的黑箱:GeoJSON到Excel的实用转换技巧
上周在极海品牌公众号文章《数字化战略布局:500新增品牌优化您的门店扩张计划》的末尾,附上了文章内容配套的矢量数据文件,是我们统计的截止3月31日,县一级茶饮和咖啡行业整体门店的数量。这个文件是开放的文本格式:GeoJSON。很快就有后台留言,说希望转成Excel的格式。
用GeoJSON格式分享给大家的初衷是方便用地图的形式呈现这份数据,而且文本文件也比较好处理。但因为品牌监测公众号的读者群体,有不少是咨询行业的从业者和连锁品牌的经营者,大家更熟悉Excel这样的工具,对地图的制作、地理数据文件的处理平时接触较少。那还是将这份数据处理成CSV格式,放到本文最后的链接中。
如果您不太嫌麻烦,也喜欢折腾点新鲜事物,就顺着下文的介绍,试试自己将这份数据制作成地图以及转成Excel甚至其它格式。
搜索引擎输入关键词QGIS,就能下载一个开源免费的GIS桌面软件。安装好以后,直接将上次下载到的文件”区县门店.geojson”拖进来,就能看到地图了。第一步算成功了。
后面挑战一下自己,研究研究怎么添加一个底图,将茶饮的县一级分布,按照茶饮门店的数量,从浅到深配置成类似下图的样子。
如果您是一位咨询行业的数据分析师,那肯定对BI软件不陌生。收费的Tableau、免费的PowerBI都支持GeoJSON文件。在Tableau中,操作非常简单,点击数据连接中的空间文件,直接就可以打开。
在工作表中,也是直接将识别后的空间表拖入即可。剩下的如何配置颜色、标签、过滤,这都是Tableau的最常规操作了。Tableau实现过滤的优势,后文再说。
什么软件都都不想装,也没有问题啊!欢迎大家免费使用极海的上图应用。访问(https://geohey.com/app/dataviz/),免费注册登录。将文件拖拽到右下角,上传完毕,配置,一路下一步,数据就可以入到云端的库中了。
点击新添加的这份数据右侧的”+”号。然后在右边栏的图层配置中选择”分段填充”,在属性栏下拉到底,选择”茶饮果汁门店数量”,分段方式选择”自然分段”,数量拉杆到”10”,填充颜色选一个您喜欢的渐变色带。后面的配置您还可以自己探索。保存地图,分享出来。就制作出了一个可以让别人在线访问、点击查询的地图。我做好的下图示例在这里,请参考。您在极海上图操作使用中的疑问,请联系小助手。
虽然说我在文末附上了这次数据的CSV格式,但我非常期待您能自己动手做一次格式转换。
也是三个方法: 第一种方法还是要请出来QGIS。右键点击这个数据图层,选择”Open Attribute Table(打开属性表)”。在打开的表格中Ctrl+A,就是全选的意思,然后Ctrl+C,全部拷贝。
到WPS表格(Excel也OK)中,粘贴即可。第一列就是一长串的坐标,这些坐标数值是每个县轮廓多边形的那些节点。这其实就是GeoJSON文件的核心特征:用一串文本坐标来描述空间对象的位置。在WPS表格中,你不需要这这一列了,就删除掉。
删除以后,会多出来很多空行,虽然并不影响在表格中的其它操作,但毕竟看起来不美观,将这些空行删除掉。
这里面有个小技巧,按键F5,弹出来的定位窗口,选择空值,然后点击”定位”,就会将这些空行选中。
在菜单的编辑栏里点击”删除”,选择”整行”。
你熟悉的表格就完美转换成功了。
在QGIS中还可以选择用导出的方式转换。右键后,选择”Export”,”Save Features As…”,在format下拉框中选择MS Office Open XML spreadsheet [XLSX],就是Excel的格式。
导出来以后的文件除了完整的字段表格,还多了几何和经纬度。这些都可以忽略了。
在Tableau中,同样也提供了导出功能。在这里面导出的字段是当前工作表可视化用到的,所以会比较简洁。你试试看,下图中,只导出了县的名称和门店的数量。导出的文件格式是CSV。
当然,更加灵活的方式是python程序。就以下四行,妥妥的完成一个小目标。
最后,我们再试试做一点分析。
我在上一篇文章中提到,用简单的过滤就可以找到你想关注的目标区域。我的过滤条件是农村人口40万以上,门店数量120家以下,租货和商务服务业从业数量1500人以上。这对于熟悉BI软件的咨询师就太简单了。Tableau中的操作是直接将这三个字段拖进筛选器即可,右侧也会同时出现筛选的交互操作框,你可以通过拉动拉杆的方式动态调整这些数字。所以为什么数据分析师都那么喜欢这类BI软件,一些很小的组件会让你比较快速的实现数据探索。
在QGIS的操作,是该图层右键后选择”Filter”,然后将过滤的条件语句填写上去。这条语句是: "茶饮果汁门店数量" < 120 AND "乡村人口(人)" > 400000 AND "租赁和商务服务业(人)" > 1500
注意:字段名用双引号。过滤的条件数字不用引号。AND表示并且的意思。
同样的,在极海上图应用中,把这句条件语句填写到过滤条件里,符合这个条件的那些县就会留在地图上。其它的,就被过滤掉了。
当然,我还是建议你写几句代码,体验一下用程序折腾数据的感觉。写一个notebook的程序,一步步看结果。
还可以试试SQL的语句,当然你要先将这份数据导入到数据库中。
至此,你已经完成了读取GeoJSON文件,转换文件和分析过滤门店数据的三个小任务。如果这是你第一次接触地理数据,那么这套操作以后,对位置信息的感性认识就差不多形成了,如果还写了程序,理解了那几句代码的意思,那就和机器智能的底层原理有了亲密的接触。更关键的是扩展了数据分析师最基本的知识点。这些技能对于数据科学家和分析师来说是基础,但也是非常有用的,可以帮助我们从大量数据中提取出有价值的信息。
不要担心如果您是初学者或者在某些环节感到挑战。每一步的实践都是学习过程的一部分,而每一次的尝试都会让您更加熟练。数据就像一个谜一样,等待着我们去解开它的秘密,而您现在已经有了解开它的工具。
欢迎大家下载我们提供的GeoJSON文件,按照本文的步骤亲自操作一遍。将您的发现或者是在操作过程中遇到的问题分享给我们,您的问题和见解都将是本公众号未来内容改进和深化的宝贵资源。
每一次学习和实践都是向着数据分析专家之路迈进的一步。期待听到您的故事和体验。最后,如果您觉得这篇文章对您有帮助,别忘了分享给您身边对数据感兴趣的朋友们。
数据链接。