温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-07-13 15:37:31 来源:亿速云 阅读:735 作者:Leah 栏目:大数据

本篇文章给大家分享的是有关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数据库,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI