如何为data.gov.in API设置筛选器以获取指定城市空中交通数据?
嘿,我之前折腾过data.gov.in的API,刚好能给你讲讲怎么筛选特定城市的空中交通数据。核心就是用好API的filters参数,下面给你一步步拆解:
第一步:确认目标数据集的字段名
首先你得找到对应的空中交通数据集(比如航班起降记录、空域流量统计这类),进入数据集详情页后,查看它的数据字典或者预览数据表格,找到代表城市的字段名——可能是city、location、airport_city这类(注意:如果数据集里没有直接标注Noida,可能需要关联周边机场,比如德里的IGI机场,部分数据集会把Noida作为卫星城选项纳入)。第二步:构造带筛选器的API请求
data.gov.in的API支持用filters参数精准过滤结果,格式为filters[字段名]=目标值。比如如果字段是city,要筛选Noida的话,请求里就加入filters[city]=Noida。
给你举个实际的curl请求例子(记得替换成你的API密钥和目标数据集的ID):curl "https://api.data.gov.in/resource/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx?api-key=YOUR_API_KEY&filters[city]=Noida&format=json&offset=0&limit=20"这里几个关键参数的作用:
api-key:你在data.gov.in注册账号后获取的专属密钥format=json:指定返回JSON格式(也可以换成format=csv获取表格数据)offset和limit:用于分页,控制返回结果的起始位置和数量
第三步:处理特殊场景
如果数据集里没有直接的city字段,而是用机场IATA代码或者区域标识,那就要调整筛选逻辑。比如Noida周边的核心机场是DEL(德里英迪拉·甘地国际机场),如果数据集用airport_code作为字段,那筛选器就改成filters[airport_code]=DEL。
另外要注意大小写敏感性:有些数据集的字段值是区分大小写的,比如Noida和noida可能返回不同结果,最好和数据预览里的格式保持一致。验证请求有效性
发起请求后,检查返回的JSON/CSV数据,确认结果里的城市字段都是Noida(或者关联的机场数据)。如果没返回结果,大概率是这几个原因:字段名拼写错误、筛选值和数据集里的格式不匹配,或者该数据集本身没有Noida相关的记录。
内容的提问来源于stack exchange,提问作者Sachin Goyal




