溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

GIS開(kāi)發(fā)中csv如何轉(zhuǎn)換空間圖層數(shù)據(jù)

發(fā)布時(shí)間:2021-12-16 16:43:09 來(lái)源:億速云 閱讀:315 作者:柒染 欄目:大數(shù)據(jù)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)GIS開(kāi)發(fā)中csv如何轉(zhuǎn)換空間圖層數(shù)據(jù),文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

在arcmap中,可以將excel或者csv數(shù)據(jù)處理成空間點(diǎn)數(shù)據(jù),使用nodejs語(yǔ)言,開(kāi)發(fā)將csv文件轉(zhuǎn)換成geojson空間圖層數(shù)據(jù)。  

GIS開(kāi)發(fā)中csv如何轉(zhuǎn)換空間圖層數(shù)據(jù)

具體實(shí)現(xiàn)的代碼如下:

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

const fs = require('fs');

//npm install csv,導(dǎo)入csv的開(kāi)發(fā)包

const csv = require('csv');

//定義geojson的數(shù)據(jù)集節(jié)點(diǎn)

let geojsondata = {

    type: "FeatureCollection",

    features: [],

};

//讀取csv文件

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

    encoding: 'utf-8'

}, (err, res) => {

    csv.parse(res, {

    //設(shè)置csv文件的分隔符

        delimiter: ','

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

 //根據(jù)每條記錄中,坐標(biāo)點(diǎn)的順序構(gòu)建點(diǎn)feature

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

            try {

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

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

  //構(gòu)建點(diǎn)feature,空間類(lèi)型為點(diǎn)數(shù)據(jù)

                let pointfeature = {

                    type: "Feature",

                    geometry: {

                        type: "point",

                        coordinates: [_coordx, _coordy],

                    },

   //屬性根據(jù)需求進(jìn)行添加

                    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的結(jié)果輸出到文件

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

        });

    });

});

另外坐標(biāo)系(crs)等信息,可以在geojson的根文件中進(jìn)行添加。  
輸出的geojson文件,在qgis中測(cè)試是否顯示正確。    

上述就是小編為大家分享的GIS開(kāi)發(fā)中csv如何轉(zhuǎn)換空間圖層數(shù)據(jù)了,如果剛好有類(lèi)似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI