遇见数据集

India Fuel Pumps — Open Dataset

收藏
github2026-08-02 更新2026-08-03 收录
官方服务:

资源简介:

一个开放的、机器可读的数据集,包含印度各地公共部门石油营销公司以及壳牌的每一个加油站:HPCL、IndianOil (IOCL)、BPCL、Jio-bp、Nayara 和 Shell。大约有103,000多个站点,每个站点都包含位置、联系方式、营业时间以及来源报告的每一种燃油产品和价格,完全按原样捕获——没有等级分类、没有过滤、没有假设。

An open, machine-readable dataset covering every gas station across India operated by public-sector oil marketing companies and Shell, including HPCL, IndianOil (IOCL), BPCL, Jio-bp, Nayara, and Shell. The dataset comprises more than 103,000 stations, with each entry providing the station's location, contact details, operating hours, plus all fuel products and their corresponding prices as reported by the original source. All data is captured exactly in its unmodified original form, with no tiered classification, no filtering, and no unwarranted assumptions introduced during data curation.

创建时间:
2026-07-16
原始信息汇总

数据集概述

India Fuel Pumps 是一个开放、机器可读的数据集,收录了印度公共部门石油营销公司及壳牌(Shell)旗下的约 103,000 个加油站,涵盖印度石油(IOCL)、印度斯坦石油(HPCL)、巴拉特石油(BPCL)、Jio-bp、Nayara 和 Shell 六个品牌。每条记录包含加油站的位置、联系方式、营业时间,以及来源所报告的所有燃油产品和价格,且未做任何等级分类或过滤


数据覆盖

品牌 加油站数量 数据来源
HPCL 约 23,950 petrolpump.hpretail.in
IOCL (IndianOil) 约 39,496 locator.iocl.com
BPCL 约 27,842 api.cep.bpcl.in(与“BharatGas”应用同源)
Jio-bp 约 2,294 netmanager.ril.com(私有应用后端)
Nayara 约 9,050 nayaraenergy.com 加油站定位器
Shell 约 332 shellretaillocator.geoapp.me(第三方定位组件)

每条记录均包含 capturedAt 时间戳,标记数据抓取时间。Shell 另有一份独立的城市级价格表(22 个主要城市),因属于城市平均估算而非单站数据,因此未纳入本数据集


记录结构(RawOutletRecord)

每条记录包含以下字段(原始保留,不做规范化处理):

  • 品牌HPCL | IOCL | BPCL | JioBP | Nayara | Shell
  • 标识符outletId(来源方自有ID)、stationId(跨品牌去重键)
  • 来源信息sourceUrlcapturedAt
  • 位置:加油站名称(以实时页面为准)、地址、城市、邦、邮政编码、纬度、经度、地理哈希(geohash)
  • 联系与营业:营业时间(文本)、联系电话、Google Maps 链接
  • 产品列表:来源显示的所有燃油产品(如“XP100”“Speed 100”),以及每升价格(若无则不填)

关键设计原则

  • 实时页面上的加油站名称优先于静态列表。
  • 城市和邦保持原始字符串,不做标准化或归并。
  • 产品价格不做汇总、分类或丢弃,原样呈现。
  • 数据集不包含任何燃料等级(如 E0)分类——等级判定由下游消费者自行完成。

数据格式

数据集采用 geohash 分片存储,便于地图客户端按需下载:

dataset/ index.json # 分片索引与元数据 shards/<geohash3>.<hash>.json # 每个约156公里单元内的加油站

  • index.json 包含总加油站数、各品牌数量、分片列表(前缀、文件名、数量)及生成时间。
  • 每个分片文件以内容哈希命名(SHA-256 前16位十六进制),若数据未变则文件名不变,便于 CDN 缓存。
  • 全量数据约 103,000 条,解压后小于 50 MB,可直接完整加载。

使用方式

  1. 获取 dataset/index.json,了解分片列表。
  2. 并行下载与目标区域(边界框、城市或当前位置)相交的分片。
  3. 在内存中合并各分片的 RawOutletRecord[],自行进行后续分类、搜索或地图渲染。

数据可直接从仓库的 dataset/ 目录克隆或下载。


更新频率

  • 每日 02:07 UTC 运行,超过 3 天未检查的加油站会被重新抓取,多数单元因已新鲜而被跳过。
  • 每次运行生成 GitHub Release,包含新增/关闭加油站及价格变动的可读差异报告。
  • 单品牌抓取失败不影响其他品牌,发布步骤会合并成功的品牌数据。

数据管道

由单个 GitHub Actions 工作流(.github/workflows/census.yml)编排:

  • HPCL、IOCL、Jio-bp、Nayara、Shell 直接在 CI 中运行。
  • BPCL 通过 Tailscale 出口节点(住宅 IP Raspberry Pi)运行,以规避对 GitHub Actions 数据中心 IP 的 403 限制。
  • 管道具备部分失败容忍断点续跑能力(通过工作日志恢复)。

源代码结构

src/ 目录包含各品牌的 Provider 实现、共享的可恢复工作池、及解析器。关键技术特点:

  • 礼貌限速(约 2-3 请求/秒),请求头自带联系 URL。
  • 抓取结果以 .jsonl.gz 压缩存储(压缩约 7 倍)。
  • 测试不使用网络,解析器基于真实浏览器捕获的 HTML/JSON 样本测试。

本地运行示例: bash npm install npm run census:hpcl # 运行 HPCL 全国普查 npm run census:iocl # 运行 IOCL 全国普查

... 其余品牌类似


数据来源与许可

  • 数据来源于公开的官方石油公司加油站定位器(无需登录或访问受限数据)。
  • BPCL 端点基于“BharatGas”Android 应用的静态字节码逆向;Jio-bp 端点为私有客户应用后端,但未使用任何登录凭据。
  • 许可证:MIT——可自由用于商业或非商业目的,需保留版权和许可声明。
  • 数据集为非官方数据,可能过时或存在错误,使用前建议通过电话核实。

贡献方式

  • 若发现加油站信息错误、关闭或数据过时,可提交 Issue。
  • 欢迎新增品牌作为新的 Provider 实现。
  • 计划中的众包可用性信号功能尚未构建。

相关项目

  • E0 Finder:一个面向印度的乙醇-free(E0)汽油快速移动端地图,是该数据集的主要消费方,基于原始记录自行进行等级分类和置信度判断。仓库地址:https://gtxtreme.pages.dev/e0-finder(非官方,不隶属任何石油公司)。
搜集汇总
数据集介绍
India Fuel Pumps — Open Dataset 数据集图片
构建方式
该数据集的构建基于对印度六家主要石油销售公司(HPCL、IOCL、BPCL、Jio-bp、Nayara 和 Shell)官方公开的加油站定位器进行系统性爬取,涉及约 10.3 万个站点。对于每一品牌,采用定制的 Provider 实现,通过共享的可恢复工作池进行数据抓取,并利用地理哈希分片技术将数据划分为约 156 公里的网格单元,便于按需下载。每条记录均带有获取时间戳,确保数据新鲜度。构建过程强调原始性,不对燃料等级进行分类或过滤,保留来源网站上的原始产品名称与价格,并采用实时抓取名称优先于静态名单的策略。
使用方法
使用者可通过克隆或直接下载 GitHub 仓库中的 dataset/ 目录获取数据。典型消费流程为:首先获取 index.json 以了解数据分片概况,然后根据感兴趣的地理区域(如包围盒、城市或当前位置)并行拉取相应的地理哈希分片文件,最后在内存中合并记录并应用自定义的分类、搜索或地图渲染逻辑。整个数据集解压后小于 50 MB,支持一次加载全部数据的国家级地图应用,也可按视图流式加载局部数据。此外,用户还可根据文档提供的接口说明,自行运行爬虫脚本对特定品牌进行数据重抓,或通过 GitHub Issues 报告数据纠正建议。
背景与挑战
背景概述
印度燃油泵开放数据集由Gaurav Thakkar于近年创建,整合了印度六家主要燃油零售商的超过10.3万个加油站信息,包括HPCL、IOCL、BPCL、Jio-bp、Nayara和Shell。该数据集旨在提供原始、未经分类的燃油价格与位置数据,解决印度燃油市场信息碎片化和不透明的问题,为能源市场分析、消费者决策及燃料乙醇(E0)可用性研究提供基础数据支撑。其发布推动了印度能源数据开放运动,对精准燃料采购、市场竞争力分析及环保燃料推广具有重要影响力。
当前挑战
该数据集的构建面临多重挑战。领域层面,印度燃油市场数据分散于各公司私有系统,格式不一,且部分接口需逆向工程(如Jio-bp和BPCL的私有API),存在法律和伦理风险;同时,数据实时性要求高,燃油价格波动频繁,需每日更新以确保准确性。构建过程中,需处理反爬虫机制(如BPCL的403拒绝)、IP限制,以及不同数据源的结构差异;此外,数据清洗需避免过度假设,保持原始记录,但这也增加了下游消费者分类和使用的难度。
常用场景
经典使用场景
India Fuel Pumps 数据集以其全面的覆盖范围和细粒度的记录结构,成为印度燃油零售领域空间分析与网络规划研究的基石。研究者可借助其地理编码、营业时间及联系方式等字段,构建全国加油站的分布图谱,进而分析城乡差异、区域密度及品牌间竞争格局。其按地理哈希分片的数据格式,使得大规模空间查询与可视化变得高效便捷,为地理信息系统(GIS)与交通网络研究提供了标准化的数据基座。
解决学术问题
该数据集解决了长期以来印度燃油零售领域缺乏开放性、结构化、细粒度数据的难题。它提供了一个包含十余万加油站的统一视图,涵盖了位置、价格及产品等信息,且明确保持了原始数据的“原貌”,使研究者能够在不引入预判偏差的前提下,独立进行产品分级、价格分析等下游研究工作。这一特性极大降低了数据获取与清洗成本,为能源经济、公共政策及消费者行为等领域的实证研究扫清了关键障碍,推动了相关学术议题从定性讨论走向定量验证。
实际应用
在实际应用中,该数据集为燃油价格监控、供应链优化及消费者导航服务提供了及时且可扩展的数据支撑。例如,商业公司可基于其高频更新的价格与库存信息,构建动态定价模型或优化物流配送路径;车主则可利用由该数据驱动的应用程序,快速检索附近加油站并比对实时油价,作出经济高效的加油决策。其不设限制的MIT许可,亦便于各类商业与非商业项目直接集成,促进了数据价值的广泛释放。
数据集最近研究
最新研究方向
印度燃料泵开放数据集的最新研究聚焦于构建一个涵盖HPCL、IOCL、BPCL、Jio-bp、Nayara及Shell等六大品牌的全国性燃料零售网络全景视图,其核心创新在于采用geohash分片与内容寻址存储,实现高效、增量式的数据更新与分发。该数据集精准捕捉每座加油站的原始产品与价格信息,避免任何主观分级,为下游应用如E0无乙醇汽油查找工具提供了坚实的数据基石。研究重点已从静态数据收集转向动态数据治理,探讨如何利用每日定时抓取、容错流水线及逆向工程合法接口,确保大规模数据采集的及时性与可靠性。此数据集不仅服务于消费者决策,更深刻影响能源市场分析、偏远地区燃料可及性评估及环保燃料推广策略,其在开放数据运动中的实践,为其他基础设施类数据集的建设树立了典范。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务