行政区信息_介绍|学习笔记

简介: 快速学习行政区信息_介绍

开发者学堂课程【大数据 Spark2020版(知识精讲与实战演练)第四阶段 行政区信息_介绍】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/691/detail/12118


行政区信息_介绍


行政区信息_介绍

项目最核心的内容是获取某个行政区的平均载客时间,需要在数据集中添加行政区的信息,有能力获取行政区信息,本部分是行政区信息的讲解,了解 GeoJSON 等工具,能够在整个数据集中通过经纬度找到行政区的名字,分布四个步骤,第一步需求介绍,第二步工具介绍,第三步解析 JSON,第四步读取 Geometry。

通过需求介绍理解需求,了解后续步骤、GeoJSON 含义,梳理思路,了解 GeoJSON

1.需求

项目的任务是统计出租在不同行政区的平均等待时间(出租车开到北京的宣武区,等待下一个客人上车是时间是多少,时间称为待客时间或平均等待时间),所以源数据集和经过计算希望得到的新数据集大致如下

查看每一个行政区的平均等待时间

源数据集

image.png

第一列 license 代表出租车用户、出租车司机行驶证号,第二列 pickUpTime 上车时间,第三列 dropUptime 下车时间,第四五列,pickUpX于pickUpY 是上车的经纬度,第六七列 dropUpX、dropUpY 是下车的经纬度

对需求进行处理,目标数据集是

目标数据集:

image.png

有一个行政区的名字,borough 就是一个行政区的名字,Queens 是皇后区,NA 是不存在,Brooklyn 是伯克林,avg 是等客时间的平均值,stddev 是平均等客时间的标准差,两个值的反应数据统计规律的值

对需求进行分析的最终目的是分析目标数据集的样子,有目标数据集可以反推出通过源数据集获取目标数据集的过程

通过需求大致了解目标数据集,数据处理的结果有三列,一列行政区,一列等待时间的平均值,一列等待时间的标准差

2.目标数据集分析

目标数据集中有三列,borough , avg( seconds) , stddev_samp(seconds)心

borough 表示目的地行政区的名称

avg(seconds) 和 stddev_samp(seconds) 是 seconds 的聚合,seconds 是下车时间和下一次上车时间之间的差值,代表等待时间

所以有两列数据是现在数据集中没有

borough 要根据数据集中的经纬度,求出其行政区的名字

seconds 要根据数据集中上下车时间,求出差值

要找到行政区与等客时间,等客时间可以通过会话分析找到

找到行政区的过程是曲折的,首先找到纽约总共行政区数量以及每个行政区的范围,在目标集中需要有行政区信息,从源数据集中找到经纬度判断源数据集下车的经纬度是否某个行政区的位置中,在范围中则找到行政区的名称

3.步骤

(1)求出 borough

①读取行政区位置信息

②搜索每一条数据的下车经纬度所在的行政区,找到行政区名称

③在数据集中添加行政区列

(2)通过会话分析求出 seconds

(3)根据 borough 计算平均等待时间,是一个聚合操作

如何找到行政区信息,在国际上、行业内有一个标准的地理范围表示,表示称为 GeoJSON,是一种文件格式

4.GeoJSON 是什么

(1)定义

GeoJSON 是一种基于 uson 的开源标准格式,用来表示地理位置信息。其中定了很多对象,表示不同的地址位置单位

(2)如何表示地理位置

image.png

有点 point,线段 point,多边形 Polygon

简单说,是一个 JSON 文件格式数据,数据定义地理位置信息,可以定义点、线段、多边形的地理位置信息

找到纽约所有行政区以及范围,数据集使用 GeoJSON 表示

5.数据集

行政区范围可以使用 GeoJSON 中的多边形来表示

课程中为大家提供了一份表示了纽约的各个行政区范围的数据集, 叫做,nyc-borough-boundaries-polygon.geojson

image.png

数据集是 JSON 格式,分为几段,第一段有 type,第二段有 features,

Type 表示 FeatureCollection,数据集是一组 feature,features 是一个数组,数组中每一项是一个单独的 feature,在一个 feature 中,表示一个行政区,行政区有类型是 feature,properties 是源信息,如 Id 是什么,行政区的编号是多少,行政区的名字,数据集包含行政区的名字

Geometry 是行政区的范围,type 是 Polygon,Polygon 表示多边形,要用多个线段表示,中间 coordinates 是线段的起点终点,第一条数据是一个经度纬度,代表一个点,第二段又表示一个点,两个点之间可以连成一条线,第三个、第四个都代表一个点,连接起来就是一个多边形,多边形代表一个行政区,数据集中有多个 feature,一个 feature 代表一个行政区,feature 中 properties 下有行政区的名字,Geometry 描述行政区的范围

使用步骤

(1)创建一个类型 Feature ,对应 JSON 文件中的格式

(2)通过解析 JSON ,创建 Feature 对象

(3)通过 Feature 对象创建 GeoJSON 表示一个地理位置的 Geometry 对象Geometry 对象表示一个位置、一个范围、表示一个地理单位

(4)通过 Geometry 对象判断一个经纬度是否在其范围内

一个 Geometry 对象代表一个行政区的范围,判断经纬度是否在其范围内

6.总结

(1)思路

①从需求出发,设计结果集

②推导结第集所欠缺的字段

③补齐欠缺的字段,生成结果集,需求完成

(2)后续整体上要做的事情

需求是查看出租车在不同行政区的等待客人的时间

需要补充两个点,一是出租车下客点的行政区名称,二是等待时间。

本章节聚焦于行政区的信息补充

(3)学习步骤

①介绍 JSON 解析的工具,解析数据集

②介绍读取 GeoJSON 的工具

③JSON 解析

④读取 GeoJSON

相关文章
|
网络协议 网络架构
|
7月前
|
机器学习/深度学习 运维 搜索推荐
大数据分析如何精准拿捏你的移动应用体验?
大数据分析如何精准拿捏你的移动应用体验?
238 10
|
存储 Dragonfly 安全
阿里云服务器历史优惠价格展示(2023年1月到7月)
阿里云服务器每个月都有活动,不过优惠价格并不是每个月都一样的,活动内的云服务器实例规格也从年初的共享型s6、计算型c6等六代云服务器过渡到了通用算力型u1和计算型c7、通用型g7等七代云服务器为主,进入5月份之后又增加了八代计算型c8y、内存型r8y等八代云服务器,下面是小编整理汇总的2023年阿里云服务器1月到7月的历史优惠价格,以供大家参考。
456 0
阿里云服务器历史优惠价格展示(2023年1月到7月)
|
JavaScript API 开发者
Vue3自定义hooks
Vue3自定义hooks
237 0
|
JSON 数据格式 iOS开发
APNS IOS 消息推送JSON格式介绍
在开发向苹果Apns推送消息服务功能,我们需要根据Apns接受的数据格式进行推送。下面积累了我在进行apns推送时候总结的 apns服务接受的Json数据格式 示例 1: 以下负载包含哦一个简单的 aps 字典。
3769 0
|
C# Windows
WPF技术之Border控件
WPF(Windows Presentation Foundation)的Border控件用于创建一个可视的边框,可以将其他控件包裹在内。
941 0
WPF技术之Border控件
|
网络协议 网络安全 虚拟化
在 Hyper-V 虚拟机中更新组策略时出现 RPC 服务不可用的错误
在 Hyper-V 虚拟机中更新组策略时出现 RPC 服务不可用的错误
442 3
|
Windows
【NI Multisim 14.0编辑环境——菜单栏】
序言 NI Multisim最突出的特点之一就是用户界面友好。它可以使电路设计者方便、快捷地使用虚拟元器件和仪器、仪表进行电路设计和仿真。 首先启动NI Multisim 14.0,打开如图所示的启动界面,完成初始化后,便可进入主窗口。 打开之后,我们先来了解一下 NI Multisim 14.0的主界面。 主窗口包括标题栏、菜单栏、工具栏、工作区域、电子表格视图(信息窗口)、状态栏及项目管理器7个部分。 标题栏:显示当前打开软件的名称及当前文件的路径、名称。 菜单栏:同所有的标准Windows应用软件一样,NI Multisim 采用的是标准的下拉式菜单。 工具栏:在工具栏中收集了一些比较常
932 0
【NI Multisim 14.0编辑环境——菜单栏】
|
Unix Linux 程序员
嵌入式系统软件架构
嵌入式系统软件架构
1215 0
|
弹性计算 网络协议 安全
阿里云服务器端口开启教程(ECS和轻量)
阿里云服务器端口开启教程(ECS和轻量)阿里云服务器端口怎么打开?云服务器ECS端口在安全组中开启,轻量应用服务器端口在防火墙中打开,阿里云服务器网以80端口为例,来详细说下阿里云服务器端口开放图文教程,其他的端口如8080、3306、443、1433也是同样的方法进行开启端口:
1500 0