mysql geojson_GIS开发:mysql空间数据导出geojson

本文介绍如何使用Node.js将MySQL数据库中的空间数据表转换为GeoJSON矢量图层文件。首先,安装fs、wellknown和mysql库,然后建立数据库连接,查询空间坐标和属性字段数据。通过wellknown库解析空间坐标,将数据组合成GeoJSON格式,最后将结果保存为文件。
摘要由CSDN通过智能技术生成

使用nodejs,实现将mysql数据库中的空间数据表,导出成geojson的矢量图层文件,保存。

安装fs、wellknow和mysql三个nodejs类库:

let fs = require("fs");

letparset = require('wellknown');

letmysql = require('mysql');

//创建mysql的数据库连接

letconnection = mysql.createConnection({

//主机地址 (

host     : 'localhost',

//用户名

user     : 'root',

//密码

password : '******',

//在mysql中创建的数据库名

database : 'database'

});

//连接到数据库

connection.connect();

// var tabletype;

lettabledata = [];

//查询空间坐标的数据,并保存

constsqlb="select st_ASTEXT(geometry) AS geo from dbname";

connection.query(sqlb, function (error, results, fields) {

for(letk=0;k

lettst={};

tst =parset(results[k].geo);

tabledata.push(tst);

}

});

//查询空间数据表中的其他属性字段数据,并保存

letsql="select * from dbname";

connection.query(sql , function (error, results, fields) {

let dataJson  = results;

letfeatures=[];

letname =[];

letn =0;

for(lett in dataJson[0] ) {

n++;

name[n] =t;

}

//将数据库中的数据,拼接成geojson的格式

for(leti=0;i

letfdata = {};

letpdata = {};

fdata["type"]="Feature";

fdata["properties"] =pdata;

for(letj=1;j

pdata[name[j]] =dataJson[i][name[j]];

}

fdata["geometry"] =tabledata[i];

features.push(fdata);

}

//添加geojson的数据头信息

var road = [] ;

var roaddata ={};

roaddata["type"] ="FeatureCollection";

roaddata["name"] ="roadcenter";

roaddata["crs"] = { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } };

roaddata["features"] =features;

road.push(roaddata);

//保存geojson文件

var roadjson =JSON.stringify(roaddata);

fs.writeFileSync('filepath',roadjson);

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值