用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

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

C++ 函数 strftime 和时间格式示例详解

《C++函数strftime和时间格式示例详解》strftime是C/C++标准库中用于格式化日期和时间的函数,定义在ctime头文件中,它将tm结构体中的时间信息转换为指定格式的字符串,是处理... 目录C++ 函数 strftipythonme 详解一、函数原型二、功能描述三、格式字符串说明四、返回值五

C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式

《C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式》Markdown凭借简洁的语法、优良的可读性,以及对版本控制系统的高度兼容性,逐渐成为最受欢迎的文档格式... 目录为什么要将文档转换为 Markdown 格式使用工具将 Word 文档转换为 Markdown(.

Java中JSON格式反序列化为Map且保证存取顺序一致的问题

《Java中JSON格式反序列化为Map且保证存取顺序一致的问题》:本文主要介绍Java中JSON格式反序列化为Map且保证存取顺序一致的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录背景问题解决方法总结背景做项目涉及两个微服务之间传数据时,需要提供方将Map类型的数据序列化为co

Python中bisect_left 函数实现高效插入与有序列表管理

《Python中bisect_left函数实现高效插入与有序列表管理》Python的bisect_left函数通过二分查找高效定位有序列表插入位置,与bisect_right的区别在于处理重复元素时... 目录一、bisect_left 基本介绍1.1 函数定义1.2 核心功能二、bisect_left 与

解决mysql插入数据锁等待超时报错:Lock wait timeout exceeded;try restarting transaction

《解决mysql插入数据锁等待超时报错:Lockwaittimeoutexceeded;tryrestartingtransaction》:本文主要介绍解决mysql插入数据锁等待超时报... 目录报错信息解决办法1、数据库中执行如下sql2、再到 INNODB_TRX 事务表中查看总结报错信息Lock

Druid连接池实现自定义数据库密码加解密功能

《Druid连接池实现自定义数据库密码加解密功能》在现代应用开发中,数据安全是至关重要的,本文将介绍如何在​​Druid​​连接池中实现自定义的数据库密码加解密功能,有需要的小伙伴可以参考一下... 目录1. 环境准备2. 密码加密算法的选择3. 自定义 ​​DruidDataSource​​ 的密码解密3

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

使用Python获取JS加载的数据的多种实现方法

《使用Python获取JS加载的数据的多种实现方法》在当今的互联网时代,网页数据的动态加载已经成为一种常见的技术手段,许多现代网站通过JavaScript(JS)动态加载内容,这使得传统的静态网页爬取... 目录引言一、动态 网页与js加载数据的原理二、python爬取JS加载数据的方法(一)分析网络请求1