【问题标题】:Getting data for LSOA via the ons API通过 ons API 获取 LSOA 的数据
【发布时间】:2015-10-15 16:23:10
【问题描述】:

我已经能够为选举区获取一系列人口普查概念的有效数据。

例如http://data.ons.gov.uk/ons/api/data/dataset//QS201EW.json?dm%2F2011WARDH=E05001107&apikey=MYAPIKEY&jsontype=json-stat&totals=false&context=Census&geog=2011WARDH

但是,此数据的地理范围太大(这是选区级别 - 我相信是大都会)。我想要我能得到的最小/最细粒度的数据,并相信下超级输出层 LSOA 代表了这一点。但是,当我将 API 调用调整为该地理层次结构时,例如

http://data.ons.gov.uk/ons/api/data/dataset//QS201EW.json?dm%2F2011LSOAH=E01008368&apikey=MYAPIKEY&jsontype=json-stat&totals=false&context=Census&geog=2011LSOAH

我收到以下回复

'404 INTERNAL ERROR: Dataset QS201EW for context Census and hierarchy 2011LSOAH not found'

这是为什么?数据是否不适用于此地理层次结构,或者我的 API 调用有问题?提前感谢您的帮助。

【问题讨论】:

    标签: ons-api


    【解决方案1】:

    感谢其他地方的帮助,我有一个答案。问题是我定义为 2011LSOAH 的地理层次结构应该是 2011STATH。较低的超级输出层是“统计层次”的一部分。

    我还发现,通过使用 ONS 的数据浏览器here,可以为任何给定查询构建 API url。

    【讨论】:

    • 我正在寻找类似的答案。但是,您的链接(ONS 的数据导出器)似乎不起作用..
    • 我实际上想找到给定邮政编码的 LSOA 代码。你这样做了吗? 2011STATH好像是MLOA代码??
    • 据我了解(不远),2011STATH 是包含 LSOA 、 MSOA 等的层次结构。我希望 LSOA 代码在我的 ONS API 查询中使用。为此,我不得不使用来自 neighbourhood.statistics.gov.uk 的另一个 api。这个过程在这篇文章中描述stackoverflow.com/questions/29622849/…
    【解决方案2】:

    我可以稍后再补充一些提示:

    获取一个或多个命名 LSOA 的数据 ....

    http://data.ons.gov.uk/ons/api/data/dataset/QS201EW.json?dm/2011STATH=E01008397,E01008396&apikey=12345&jsontype=json-stat&totals=false&context=Census&geog=2011STATH

    获取 LA 内的所有 LSOA

    http://data.ons.gov.uk/ons/api/data/dataset/QS201EW.json?pdm/E08000021=LSOA&apikey=12345&jsontype=json-stat&totals=false&context=Census&geog=2011STATH

    这使用替代的 pdm/{parent area code}={list of child area types} 语法。

    父区号也可以是祖父母或祖先。您可以通过这样的调用获取潜在父区域的代码 http://data.ons.gov.uk/ons/api/data/hierarchy/QS601EW.xml?context=Census&apikey=12345&geog=2011WARDH&levels=0,1,2,3,4,5,6

    另一个 PDM 示例:获取东南地区所有地方当局(任何类型)的男性人数并以 JSON-Stat 形式返回:

    http://data.ons.gov.uk/ons/api/data/dataset/QS104EW.json?context=Census&apikey=12345&geog=2011WARDH&totals=true&jsontype=json-stat&dm/CL_0000035=CI_0000071&pdm/E12000008=NMD,UA,LONB,MD

    请注意,除了使用 NeSS 服务获取邮政编码区域之外,您还可以使用 ArcGIS。首先调用 ESRI 世界服务以获取邮政编码或地名的 x 和 y 坐标,然后对 ONS ArcGIS 服务进行查询以返回其所在管理区域的名称/代码:

    function getCentroid() {
        var searchstring = document.getElementById("postcodeorplace").value;
        var testURL = "http://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/find?text=" +
        searchstring + "&outFields=*&bbox=%20-5.4188710000000002,49.865400000000001,%201.7641,55.813870000000001&sourceCountry=GBR&outSR=27700&f=json&maxLocations=6";
        getJSONResponse1(testURL);
    }
    
    function getExtCode() {
        var layer = document.getElementById("layerpicker");
        var layerval = layer.options[layer.selectedIndex].value;
        var xpos = document.getElementById("xcoord").value;
        var ypos = document.getElementById("ycoord").value;
    
        var testURL = "http://services1.arcgis.com/ESMARspQHYMw9BZ9/ArcGIS/rest/services/" + layerval + "/FeatureServer/0/query?returnGeometry=false&outFields=*&geometryPrecision=0&f=json&geometry=" +
                      xpos + "," + ypos + "&geometryType=esriGeometryPoint&inSR=27700"
        getJSONResponse2(testURL);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-07
      • 2021-11-30
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 2015-05-16
      相关资源
      最近更新 更多