【问题标题】:Socrata/SODA API call via JQuery not returning the entire dataset通过 JQuery 调用 Socrata/SODA API 不返回整个数据集
【发布时间】:2015-11-13 01:56:16
【问题描述】:

我正在对下表进行 GET 调用: https://data.cityofnewyork.us/Social-Services/Halloween-Noise-Lat-Long/25yv-wyir

它有 715 个条目。

但是,当我进行 GET 调用时,它只返回 463 个条目。

var map = L.map('map').setView([40.7518685, -73.984857], 11);

L.tileLayer('http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {
    attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> &copy; <a href="http://cartodb.com/attributions">CartoDB</a>',
    subdomains: 'abcd',
    maxZoom: 19})
    .addTo(map);


var halloweenData = "https://data.cityofnewyork.us/resource/25yv-wyir.json?";
$.getJSON(halloweenData, function(data) {
    for (var i = 0; i < data.length; i++){
        var m = L.circleMarker(new L.LatLng(data[i].latitude, data[i].longitude)).setRadius(4).addTo(map).bindPopup(data[i].created_date);
    }
})
console.log(halloweenData);

是否有人足够熟悉 Socrata/SODA API 来解释并帮助我纠正这种差异?我正在使用 jquery 和 leaflet.js

【问题讨论】:

  • 我不知道——这很神秘。通过 Web 界面(到 JSON)进行“导出”会给出一个包含所有记录的数据集(以不同的格式)。我认为这可能是分页的问题,但似乎不是。您可以看到,API JSON 中不存在纬度为“40.70211598279333”的记录,但我看不出有任何原因。

标签: jquery api leaflet socrata opendata


【解决方案1】:

该数据集的导出方式似乎存在错误,我们的工程师正在查看。

与此同时,我建议您查看SODA API for that dataset,因为您可能会对这些结果更满意。

我将该过滤器复制为SoQL query,并得到正确的计数:715:

https://data.cityofnewyork.us/resource/fhrw-4uyv.json?descriptor=Loud Music/Party&$where=UPPER(city) NOT LIKE "%STATEN%" AND created_date BETWEEN '2015-10-29T17:00:00' AND '2015-11-01T08:00:00'

示例:https://www.runscope.com/public/bff63de8-1862-45a9-888d-2b10741eacfa/b76280f5-0865-4beb-b05b-9808d5acbcef

让我知道这是否更适合你!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多