欢迎光临散文网 会员登陆 & 注册

GIS开发:csv转空间图层数据

2022-06-22 09:07 作者:地理信息技术杂谈  | 我要投稿

在arcmap中,可以将excel或者csv数据处理成空间点数据,使用nodejs语言,开发将csv文件转换成geojson空间图层数据。


具体实现的代码如下:

//excel文件可以另存为csv文件

const fs = require('fs');

//npm install csv,导入csv的开发包

const csv = require('csv');

//定义geojson的数据集节点

let geojsondata = {

    type: "FeatureCollection",

    features: [],

};

//读取csv文件

fs.readFile('csv文件路径', {

    encoding: 'utf-8'

}, (err, res) => {

    csv.parse(res, {

    //设置csv文件的分隔符

        delimiter: ','

    }, (err, records, info) => {

 //根据每条记录中,坐标点的顺序构建点feature

        for (let _idx = 1; _idx < info.records; _idx++) {

            try {

                let _coordx = parseFloat(records[_idx][3]);

                let _coordy = parseFloat(records[_idx][4]);

  //构建点feature,空间类型为点数据

                let pointfeature = {

                    type: "Feature",

                    geometry: {

                        type: "point",

                        coordinates: [_coordx, _coordy],

                    },

   //属性根据需求进行添加

                    properties: {

                        id: String(new Date().getTime()),

                        prop1: records[_idx][0],

                        prop2: records[_idx][1]

                    },

                };

//将feature加入到集合中

                geojsondata.features.push(pointfeature);

            } catch (error) {

                console.log(_idx);

            }

        }

  //将geojson的结果输出到文件

        fs.writeFile("geojson文件输出", JSON.stringify(geojsondata), () => {

        });

    });

});

另外坐标系(crs)等信息,可以在geojson的根文件中进行添加。
输出的geojson文件,在qgis中测试是否显示正确。


GIS开发:csv转空间图层数据的评论 (共 条)

分享到微博请遵守国家法律