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

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 快速学习行政区信息_介绍

开发者学堂课程【大数据 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

相关文章
|
2月前
|
API
全国行政区划代码与经纬度查询免费API接口教程
该接口提供全国各行政区划代码及经纬度查询服务。通过POST或GET请求,输入用户ID、KEY及地点名称,可获取地区代码、省份、市级、区县级名称及经纬度等信息。示例URL:https://cn.apihz.cn/api/other/xzqhdm.php?id=88888888&key=88888888&sheng=北京&place=北京。返回数据包含状态码、信息提示及查询结果。
277 14
|
5月前
|
Java
设计信息录入界面,完成人员基本信息的录入工作,其中籍贯中涉及的“省、市”能实现联动,即选择“省”时,“市”会根据选择的“省”做相应的变换。
该博客文章展示了如何设计一个包含联动下拉列表(省、市)的信息录入界面,使用Java Swing组件库实现人员基本信息的录入,并提供了完整的界面布局和事件处理代码。
设计信息录入界面,完成人员基本信息的录入工作,其中籍贯中涉及的“省、市”能实现联动,即选择“省”时,“市”会根据选择的“省”做相应的变换。
|
7月前
|
JSON JavaScript 定位技术
Echarts自定义地图显示区域,可以显示街道,小区,学校等区域
Echarts自定义地图显示区域,可以显示街道,小区,学校等区域
|
8月前
|
定位技术 API
通过经纬度获得地址与城市名称(原创)
通过经纬度获得地址与城市名称(原创)
264 3
|
JSON 定位技术 数据格式
GeoJSON区县级地理数据信息拼接使用说明
GeoJSON区县级地理数据信息拼接使用说明
683 0
|
SQL 定位技术 索引
ArcGIS上海市行政区划图制作
ArcGIS上海市行政区划图制作
343 1
|
移动开发 JavaScript 前端开发
uniapp在H5获取当前定位信息不需要SDK可直接获取城市(包括经纬度省市区和市区编码)
最近在做获取用户当前定位信息的时候,发现uniapp官方提供的兼容性并不是特别好,光注意事项都是密密麻麻一大堆,在实际使用场景下,效果并不理想,也不是很稳定。于是便重新封装了一下腾讯地图的一些东西,提高了下兼容度!下边我会把我用的封装思路逻辑给大家一一讲解。完整代码可私信我我发给你以上便是基于uni-app框架开发,使用Promise进行异步请求和结果返回,封装的H5获取当前详细定位信息组件希望大家一起交流。
1880 0
|
JSON 自然语言处理 Java
行政区信息_GeoJSON 介绍|学习笔记
快速学习行政区信息_GeoJSON 介绍
894 0
行政区信息_GeoJSON 介绍|学习笔记
|
JSON 分布式计算 大数据
行政区统计_功能实现|学习笔记
快速学习行政区统计_功能实现
127 0
行政区统计_功能实现|学习笔记