我是Node.js的新手,通过示例学习。
以下是我要做的事情,我有一个geoserver运行服务GeoJson,我想调用geoserver WFS url并使用node.js获取json数据。这是代码,当我运行它时,我得到:
getaddrinfo ENOENT
var http = require('http');
var options = {
host: "local:8080/geoserver/wfs?service=WFS&version=1.0.0&request=GetFeature&typeName=layername&outputFormat=JSON&cql_filter=id=1";
path: '/'
}
var request = http.request(options, function (res) {
var data = '';
res.on('data', function (chunk) {
data += chunk;
});
res.on('end', function () {
console.log(data);
});
});
request.on('error', function (e) {
console.log(e.message);
});
request.end();
请指导我正确的方向。谢谢。
答案 0 :(得分:5)
您需要传递正确的选项:
host - 应该只是主机名
path - 应该是主机上资源的路径(主机名后的所有内容
)方法 - 应该是GET或POST(在你的情况下为GET)。
var options = {
host: "local:8080";
path: '/geoserver/wfs?service=WFS&version=1.0.0&request=GetFeature&typeName=layername&outputFormat=JSON&cql_filter=id=1',
method: 'GET'
}
答案 1 :(得分:0)
我也试图通过Node.js获取GeoJSON并采取了不同的方法;我使用了Express和sequelizejs。这使我可以直接从Postgres / PostGIS获取对象。我需要在客户端进行一些格式化,以便从快速响应中形成有效的GeoJSON。