用js将geojson转换成WKT格式并插入到数据库

2024-01-10 18:04

本文主要是介绍用js将geojson转换成WKT格式并插入到数据库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

用js将geojson转换成WKT格式并插入到数据库

var fs = require("fs");
var mysql = require("mysql");
var Geojson2wkt = require("Geojson2Wkt");var connection = mysql.createConnection({host: "172.16.2.252",port: 3316,user: "root",password: "Wang4995",database: "point"
});connection.connect();// 定义表名
var tableName = "zy_plant"; // 替换为你想要的表名// Read JSON file
fs.readFile("./zy20240110.json", { encoding: "utf-8" }, (err, data) => {if (err) {console.error(err);return;}let jsonobj = JSON.parse(data);var features = jsonobj.features;// Extract properties from the first featurevar properties = features[0].properties;// Create table SQL statementvar createTableSQL = "CREATE TABLE IF NOT EXISTS " + tableName + " (id INT AUTO_INCREMENT PRIMARY KEY, ";// Iterate through properties and add columns to the SQL statementfor (var key in properties) {if (properties.hasOwnProperty(key)) {createTableSQL += key + " VARCHAR(255), ";}}createTableSQL += "geom GEOMETRY);";// Execute create table SQL statementconnection.query(createTableSQL, (err, results) => {if (err) {console.error(err);return;}console.log("Table " + tableName + " created or already exists.");var insertedCount = 0;// Iterate through features and insert data into the tablefor (var i = 0; i < features.length; i++) {var feature = features[i];var insertData = [];var insertedFields = [];// Iterate through properties and add values to insertDatafor (var key in properties) {if (feature.properties.hasOwnProperty(key)) {insertData.push("'" + feature.properties[key] + "'");insertedFields.push(key);}}// Add geometry datavar geometryWKT = Geojson2wkt.convert(feature.geometry);insertData.push("ST_GeomFromText('" + geometryWKT + "')");insertedFields.push("geom");// Construct insert SQL statementvar insertSQL = "INSERT INTO " + tableName + " (" + insertedFields.join(", ") + ") VALUES (" + insertData.join(", ") + ")";// Execute insert SQL statementconnection.query(insertSQL, (err, results) => {if (err) {console.error(err);} else {insertedCount++;console.log(`Inserted data for fields: ${insertedFields.join(", ")}`);console.log(`Total inserted records: ${insertedCount}`);}});}// Close database connectionconnection.end();});
});
``

这篇关于用js将geojson转换成WKT格式并插入到数据库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/591618

相关文章

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

mysql数据库重置表主键id的实现

《mysql数据库重置表主键id的实现》在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,本文主要介绍了mysql数据库重置表主键id的实现,具有一定的参考价值,感兴趣的可以了... 目录关键语法演示案例在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,当我们

如何自定义Nginx JSON日志格式配置

《如何自定义NginxJSON日志格式配置》Nginx作为最流行的Web服务器之一,其灵活的日志配置能力允许我们根据需求定制日志格式,本文将详细介绍如何配置Nginx以JSON格式记录访问日志,这种... 目录前言为什么选择jsON格式日志?配置步骤详解1. 安装Nginx服务2. 自定义JSON日志格式各

Spring Boot 整合 MyBatis 连接数据库及常见问题

《SpringBoot整合MyBatis连接数据库及常见问题》MyBatis是一个优秀的持久层框架,支持定制化SQL、存储过程以及高级映射,下面详细介绍如何在SpringBoot项目中整合My... 目录一、基本配置1. 添加依赖2. 配置数据库连接二、项目结构三、核心组件实现(示例)1. 实体类2. Ma

python dict转换成json格式的实现

《pythondict转换成json格式的实现》本文主要介绍了pythondict转换成json格式的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下... 一开始你变成字典格式data = [ { 'a' : 1, 'b' : 2, 'c编程' : 3,

查看Oracle数据库中UNDO表空间的使用情况(最新推荐)

《查看Oracle数据库中UNDO表空间的使用情况(最新推荐)》Oracle数据库中查看UNDO表空间使用情况的4种方法:DBA_TABLESPACES和DBA_DATA_FILES提供基本信息,V$... 目录1. 通过 DBjavascriptA_TABLESPACES 和 DBA_DATA_FILES

Java实现数据库图片上传与存储功能

《Java实现数据库图片上传与存储功能》在现代的Web开发中,上传图片并将其存储在数据库中是常见的需求之一,本文将介绍如何通过Java实现图片上传,存储到数据库的完整过程,希望对大家有所帮助... 目录1. 项目结构2. 数据库表设计3. 实现图片上传功能3.1 文件上传控制器3.2 图片上传服务4. 实现

使用Dify访问mysql数据库详细代码示例

《使用Dify访问mysql数据库详细代码示例》:本文主要介绍使用Dify访问mysql数据库的相关资料,并详细讲解了如何在本地搭建数据库访问服务,使用ngrok暴露到公网,并创建知识库、数据库访... 1、在本地搭建数据库访问的服务,并使用ngrok暴露到公网。#sql_tools.pyfrom