我希望使用ogr2ogr库将文件中的所有geojsons转换为一个批处理中的shapefile。我知道这可以直接从终端使用gdal cli,但我想知道如何做它在节点。非常感谢!
我有这样的代码来转换一个文件:
// Using CommonJS modules
const ogr2ogr = require('ogr2ogr').default;
const fs = require('fs') ;
// Promise API
(async() => {
// Convert path to GeoJSON.
let {data} = await ogr2ogr('/Users/MihaiB/Desktop/test_josm/test22.geojson' );
console.log(data);
let {stream} = await ogr2ogr( data, {format: 'ESRI Shapefile'}, {destination:'/Users/MihaiB/Desktop/shapefile2.shx'});
console.log(stream)
})()
发布于 2021-12-21 17:37:08
毕竟,解决方案似乎很容易(即使要花很长时间才能弄清楚),我不得不使用dirTree包来获取给定文件夹中所有文件的路径。
const ogr2ogr = require('ogr2ogr').default;
const PATH = require('path');
const dirTree = require('directory-tree');
// Promise API
( async() => {
// List Files in a Directory using dirTree package
const tree = dirTree('/Users/MihaiB/Desktop/test_josm/', {extensions:/\.geojson$/},
async (item, PATH, stats) => {
console.log(PATH);
// Convert path to GeoJSON
let {data} = await ogr2ogr(PATH);
console.log(data);
// Convert GeoJSON to Shapefile
let {stream} = await ogr2ogr( data, {format: 'ESRI Shapefile', destination:'/Users/MihaiB/Desktop/batch2/'});
console.log(stream)
});
})
()
https://stackoverflow.com/questions/70417866
复制相似问题