从 REST API 服务器请求 JSON 数据的节点脚本

问题描述 投票:0回答:0

首先,我想准确地说我是 JavaScript 和地理空间领域的新手。

最近有一个REST在线服务下载数据的需求: *https://map.sitr.regione.sicilia.it/gis/rest/services/catasto/cartografia_catastale/MapServer/4/query * 由于我必须发送数千个请求,我发现这个工具应该可以解决我的问题:https://github.com/tannerjt/AGStoShapefile

不幸的是,这个存储库的 index.js 脚本向服务器传递了一个查询,这给了我 502 错误。可能是因为意大利服务器每次只允许 1000 个请求。

有没有一种方法,从index.js脚本开始,以迭代的方式向服务器请求数据?

服务器压力问题与这段index.js脚本有关:

data.toString().split('\n').forEach(function (service) {
        var service = service.split('|');
        if(service[0].split('').length == 0) return;
        var baseUrl = getBaseUrl(service[0].trim());
        var reqQS = {
            where: '1=1',
            returnIdsOnly: true,
            f: 'json'
        };
        var userQS = getUrlVars(service[0].trim());
        // mix one obj with another
        var qs = mixin(userQS, reqQS);
        qs = queryString.stringify(qs);
        var url = decodeURIComponent(getBaseUrl(baseUrl) + '/query/?' + qs);

        var throttle = 0;
        if(service.length > 2) {
            throttle = +service[2];
        }

        rp({
            url : url,
            method : 'GET',
            json : true
        }).then((body) => {
            requestService(service[0].trim(), service[1].trim(), body.objectIds, throttle);
        }).catch((err) => {
          console.log(err);
        });
    })

我尝试了很多次通过更改查询来更改请求,但由于我对 javascript 和节点主题的了解不足,我还没有找到解决方案。

javascript jquery node.js json gis
© www.soinside.com 2019 - 2024. All rights reserved.