千家信息网

geojson中怎么将数据导入mysql数据库

发表于:2024-10-08 作者:千家信息网编辑
千家信息网最后更新 2024年10月08日,本篇文章给大家分享的是有关geojson中怎么将数据导入mysql数据库,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。使用nodejs,
千家信息网最后更新 2024年10月08日geojson中怎么将数据导入mysql数据库

本篇文章给大家分享的是有关geojson中怎么将数据导入mysql数据库,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

使用nodejs,实现将geojson空间图层数据,导入到mysql数据库中。
具体的实现代码:
//引用fs、mysql和 Geojson2Wkt的类库

var fs = require("fs");

var mysql = require('mysql');

//Geojson2Wkt是将geojson中的坐标转换成wkt的形式

var Geojson2wkt = require('Geojson2Wkt');

//设置mysql的连接信息

var connection = mysql.createConnection({

host: 'localhost',

user: 'root',

password: '123456',

database: 'databasename'

});

//打开数据库连接

connection.connect();

var sql = [];

fs.readFile('geojson图层文件', {

encoding: "utf-8"

}, (err, data) => {

let jsonobj = JSON.parse(data);

var arr = jsonobj.features;

var brr = [];

var crr = [];

var drr = [];

var data = [];

var k = 0;

var sqla;

//将geojson坐标转换成wkt形式

for (var i = 0; i < arr.length; i++) {

brr[i] = arr[i].geometry;

drr[i] = arr[i].properties;

crr[i] = Geojson2wkt.convert(brr[i]);

}

for (var j in drr[0]) {

k++;

data[k] = j;

}

//获得geojson数据的空间类型,mysql需要根据不同的空间类型设置字段

var tdata = arr[0].geometry.type;

tdata = tdata.toLowerCase();

//创建mysql数据表的sql语句

sqla = "CREATE TABLE IF NOT EXISTS `tablename`( `" + data[1] + "` VARCHAR(100) NOT NULL, `" + data[2] + "` VARCHAR(100) NOT NULL, `" + data[3] + "` VARCHAR(100) NOT NULL, `" + data[4] + "` VARCHAR(100) NOT NULL, `" + data[5] + "` VARCHAR(100) NOT NULL,`geometry` " + tdata + " NOT NULL)";

connection.query(sqla);

//拼接sql语句,循环写入到图层中的数据

for (var t = 0; t < arr.length; t++) {

sql[t] =

"insert into tablename(" + data[1] + "," + data[2] + "," + data[3] + "," + data[4] + "," + data[5] + ", geometry) values('" + drr[t][data[1]] + "','" + drr[t][data[2]] + "'," + "'" + drr[t][data[3]] + "','" + drr[t][data[4]] + "'," + "'" + drr[t][data[5]] + "'" + ",GeomFromText('" + crr[t] + "'))";

connection.query(sql[t]);

}

});

以上就是geojson中怎么将数据导入mysql数据库,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

0