(更新上架)按日分的2.4亿条深圳共享单车企业每日订单表,分为csv和geojson文件

(更新上架)按日分的2.4亿条深圳共享单车企业每日订单表,分为csv和geojson文件

Published on

目录:


按日分的2.4亿条深圳共享单车企业每日订单表,分为csv和geojson文件:爱发电 · (更新上架)按日分的深圳共享单车企业每日订单表csv和geojson文件)

一句话概述

日级导出的深圳共享单车出行数据(含原始坐标 raw 与标准 WGS84 坐标双目录),CSV / GeoJSON,开箱即可用于可视化、统计分析与空间挖掘;兼容任意主流数据库 / 分析引擎导入(PostgreSQL/PostGIS、DuckDB、ClickHouse、SQLite、Pandas、GeoPandas 等)。

你将获得

深圳共享单车企业每日订单表(每日一个csv或geojson文件)/
  wgs84/                    # 标准 WGS84 坐标(推荐用于分析与叠加)
    csv_zip/                # 每天一个 zip,内含该日 CSV
    geojson_zip/            # 每天一个 zip,内含该日 GeoJSON(起点点要素)
  raw/                      # 原始坐标(快速浏览/教学演示)
    csv_zip/
    geojson_zip/
  每日订单数量统计.csv
  README.pdf / 使用指引(可选)
  • 日期覆盖:2021年1月1日到8月30日。 (结合官方和实际数据,只有20210101到20210830这一段时间的数据有意义。)
  • 数据总量:244,412,855 条数据
  • 双坐标系:原始坐标(可能为 GCJ-02 / BD09LL 等,未做纠偏)+ 已转换 WGS84 坐标(可用于对齐卫星 / OSM / GPS 底图)。
  • 常见字段(精简示例,字段命名以实际文件为准):
    • user_id:匿名化用户标识(仅用于同一用户聚合分析)
    • company_id:运营公司标识
    • start_time_cn / end_time_cn:北京时间字符串
    • start_lng_wgs84 / start_lat_wgs84end_lng_wgs84 / end_lat_wgs84
    • start_lng_raw / start_lat_rawend_lng_raw / end_lat_raw
    • (空间格式)GeoJSON 点几何表示行程起点(对应所在坐标系目录)

适用场景

  • 高峰时段规律分析、出行强度统计
  • OD(起终点)热点分布、聚类与格网聚合
  • 骑行时长 / 时间分布特征挖掘
  • 与天气 / 轨道 / 其它公共出行数据叠加(需外部数据源)
  • 教学示例:GeoJSON 可直接拖入 kepler.gl / geojson.io / QGIS

为什么有两个目录?

目录用途特点
wgs84/正式分析、地图叠加、跨数据集融合坐标标准,对齐 OSM / GPS / 卫星底图
raw/快速浏览、教学演示保留原始平台坐标,可能轻微偏移

格式选择建议

需求推荐格式说明
表格浏览 / 快速筛选CSV (zip)兼容 Excel / WPS;体积较大已压缩
在线地图可视化GeoJSON (zip)直接拖入 kepler.gl / geojson.io
大数据批处理 / 列存Parquet / GeoParquet(如提供)高效压缩与向量化读取
Python 空间分析GeoParquet / GeoJSONGeoParquet 若提供优先

发货

  • 发货:购买后平台私信发送提取连接,提供阿里云盘、夸克网盘和百度网盘的链接。

FAQ(可自行裁剪)

Q:点与底图有偏移?
A:检查是否误用了 raw/ 目录,建议换用 wgs84/

Q:文件太大打不开?
A:只解压需要的日文件;或在 CSV 里抽样(每隔 100 行取 1)。

Q:如何做时间动画?
A:kepler.gl 添加时间过滤器,字段选 start_time_cn

Q:可以继续追加更多天吗?
A:保持相同字段与目录规范即可追加。

Q:如何转空间格式?
A:用 GeoPandas 读取 CSV,构造 Point 列后另存为 GeoParquet / Shapefile。

增值服务

可以根据私信的联系方式,咨询任何数据集有关的问题。

为了集中讨论,欢迎在Github Issue上面提出问题。

博客相关文章:

拿到爱发电的共享单车每日订单数据后怎么用?

这篇指南教你"不开发也能用数据"。前提是你已经自己用代码或者在我的爱发电 · (更新上架)按日分的深圳共享单车企业每日订单表csv和geojson文件)中获取了每日订单数据。

方式一:只想看看——直接用 Excel/表格

  1. 选择坐标系:建议从 wgs84/csv_zip/ 开始(更标准)
  2. 找到某个日期(例如 bike_data_20210101_wgs84.zip),解压缩得到 CSV。
  3. 用 Excel、WPS 或 Numbers 打开。
  4. 常见字段:

基础信息

  • start_time_cn / end_time_cn:北京时间字符串
  • user_id:匿名化的用户标识(仅用于同一用户内的统计,如行程计数;不用于身份识别)
  • company_id:运营公司

坐标信息(根据目录不同):

  • wgs84 目录:start_lng_wgs84/start_lat_wgs84,end_lng_wgs84/end_lat_wgs84
  • raw 目录:start_lng_raw/start_lat_raw,end_lng_raw/end_lat_raw
  1. 你可以用筛选功能看看某天、某公司、或某个时间段的数据量。

不过公司字段不是很准

小提示:CSV 行数可能很多,Excel 会变卡。只做浏览的话,过滤后保存一小份就行。

方式二:想看地图——用免费 Web 工具

准备 GeoJSON 文件:

  • 推荐:在 wgs84/geojson_zip/ 里选一个日期,解压得到 .geojson(标准坐标系),如果你想分析起终点之间的关系,建议用csv文件。
  • 或者:在 raw/geojson_zip/ 里选择(快速浏览用,可能有轻微偏移)

三个简单路线:

  • kepler.gl(强烈推荐,新手友好)

    1. 打开 https://kepler.gl/demo
    2. 拖拽 .geojson 文件到页面
    3. 点开图层设置(Layer),选择 Point
    4. 可以调颜色、大小,按时间刷(Filter 里选择 start_time_cn)
    5. 支持多图层叠加,可以同时查看起点和终点

  • geojson.io(极简,加载大量数据点可能无法打开)

    1. 打开 https://geojson.io
    2. 拖拽 .geojson 到页面
    3. 左侧会显示地图点位,右侧可以看属性
  • QGIS (专业 GIS 软件,免费)

    1. 下载:https://qgis.org/download/
    2. 安装后可以加载 GeoJSON,做更复杂的空间分析

坐标系说明

  • 如果使用 wgs84 目录的数据,点位会与底图精确对齐
  • 如果使用 raw 目录的数据,可能会有轻微偏移(这是正常的)

方式三:想做一点数据分析(入门版)

如果你愿意安装 Python(推荐新版 3.13)并用终端执行命令,可以这样:

  1. 安装依赖管理器 uv:
  1. 可视化最简单的散点图
# 读取并构造 GeoDataFrame(放在一个单元格)
import zipfile
import pandas as pd
import geopandas as gpd
from shapely.geometry import Point
from shapely import wkt
from pathlib import Path

zip_path = Path('../data/share/wgs84/csv_zip/bike_data_20210101_wgs84.zip')

with zipfile.ZipFile(zip_path) as z:
    with z.open(z.namelist()[0]) as f:
        df = pd.read_csv(f)

# 检查列名并构造经纬度列(容错)
if 'start_lng_wgs84' not in df.columns or 'start_lat_wgs84' not in df.columns:
    if 'start_geom_wgs84' in df.columns:
        pts = df['start_geom_wgs84'].map(lambda s: wkt.loads(s) if pd.notna(s) else None)
        df['start_lng_wgs84'] = pts.map(lambda p: p.x if p else None)
        df['start_lat_wgs84'] = pts.map(lambda p: p.y if p else None)

if 'end_lng_wgs84' not in df.columns or 'end_lat_wgs84' not in df.columns:
    if 'end_geom_wgs84' in df.columns:
        pts = df['end_geom_wgs84'].map(lambda s: wkt.loads(s) if pd.notna(s) else None)
        df['end_lng_wgs84'] = pts.map(lambda p: p.x if p else None)
        df['end_lat_wgs84'] = pts.map(lambda p: p.y if p else None)

# 构造起点/终点 GeoDataFrame(只包含有坐标的行)
start_df = df.dropna(subset=['start_lng_wgs84', 'start_lat_wgs84']).copy()
end_df = df.dropna(subset=['end_lng_wgs84', 'end_lat_wgs84']).copy()

gdf_start = gpd.GeoDataFrame(
    start_df,
    geometry=gpd.points_from_xy(start_df['start_lng_wgs84'], start_df['start_lat_wgs84']),
    crs="EPSG:4326"
)
gdf_end = gpd.GeoDataFrame(
    end_df,
    geometry=gpd.points_from_xy(end_df['end_lng_wgs84'], end_df['end_lat_wgs84']),
    crs="EPSG:4326"
)

# 合并用于统一绘图(添加类型标签)
gdf_start['point_type'] = 'start'
gdf_end['point_type'] = 'end'
gdf = gpd.GeoDataFrame(pd.concat([gdf_start, gdf_end], ignore_index=True), crs="EPSG:4326")

我应该学哪些下一步?(精选清单)