Node.js 如何阅读大型geojson中的每个功能
我需要从Geojson文件中获取数据,并将其中一些数据插入到数据库中。 问题是:这个文件是2.4Gb,所以Node.js不能这样读取它 我尝试使用一些json流模块,但没有成功(大json)(streamJSON)。 模块需要一个对象数组,然而,geojson只是一个包含一个对象数组的对象 模块预期:Node.js 如何阅读大型geojson中的每个功能,node.js,json,geojson,Node.js,Json,Geojson,我需要从Geojson文件中获取数据,并将其中一些数据插入到数据库中。 问题是:这个文件是2.4Gb,所以Node.js不能这样读取它 我尝试使用一些json流模块,但没有成功(大json)(streamJSON)。 模块需要一个对象数组,然而,geojson只是一个包含一个对象数组的对象 模块预期: [ { 'name': '', 'hello': '' }, { 'name': '', 'hello': '' }, ...thousands of objects ] 但我有
[
{
'name': '',
'hello': ''
},
{
'name': '',
'hello': ''
},
...thousands of objects
]
但我有:
{
'type':'FeatureCollection',
'features':[ ...thousand of objects... ]
}
我尝试使用streamjson:
const fs = require('fs')
const {parser} = require('stream-json')
const {chain} = require('stream-chain')
const {pick} = require('stream-json/filters/Pick')
const {streamValues} = require('stream-json/streamers/StreamValues')
const pipeline = chain([
fs.createReadStream('myHugeFile.json'), //2.4Gb
parser(),
pick({filter: /^\d+\.features\.\d+/}),
streamValues()
])
pipeline.on('data', (data) => {
console.log(data)
})
pipeline.on('end', () => {
console.log(`Done`)
})
它从不转到('data')上的。
我想获取“features”数组中的所有要素对象