首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Node中的GDAL ogr2ogr将ogr2ogr转换为批处理格式文件

使用Node中的GDAL ogr2ogr将ogr2ogr转换为批处理格式文件
EN

Stack Overflow用户
提问于 2021-12-20 05:54:31
回答 1查看 373关注 0票数 1

我希望使用ogr2ogr库将文件中的所有geojsons转换为一个批处理中的shapefile。我知道这可以直接从终端使用gdal cli,但我想知道如何做它在节点。非常感谢!

我有这样的代码来转换一个文件:

代码语言:javascript
运行
复制
// 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)       
  
})()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-21 17:37:08

毕竟,解决方案似乎很容易(即使要花很长时间才能弄清楚),我不得不使用dirTree包来获取给定文件夹中所有文件的路径。

代码语言:javascript
运行
复制
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)

 }); 
})
()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70417866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档