如何进行geojson图层批量坐标转换
发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,今天就跟大家聊聊有关如何进行geojson图层批量坐标转换,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在没有规律的坐标偏移情况下,如国内在线
千家信息网最后更新 2025年02月06日如何进行geojson图层批量坐标转换在没有规律的坐标偏移情况下,如国内在线地图偏移和经纬度转换,可以进行方便进行单个坐标的转换,转换图层就需要自己进行开发了。
这里使用了coordtransform进行偏移坐标的转换。
今天就跟大家聊聊有关如何进行geojson图层批量坐标转换,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
//引入fs和coordtransform库const fs = require('fs');const coordtransform = require('coordtransform');//geojson矢量对象处理function dataByfeaturetype(_feature) { this.datafeature = _feature; this.featuretype = _feature.geometry.type; this.coords = _feature.geometry.coordinates; this.newcoords = [];}//点、线、面中数据坐标遍历处理dataByfeaturetype.prototype.handlePoint = function () { this.newcoords = coordtransform.wgs84togcj02(this.coords[0], this.coords[1]);}dataByfeaturetype.prototype.handleMultipointOrLinestring = function () { let _tempCoords = []; for (let _udx = 0; _udx < this.coords.length; _udx++) { //这个根据自己的需要,选择坐标的偏移处理函数 _tempCoords.push(coordtransform.wgs84togcj02(this.coords[_udx][0], this.coords[_udx][1])); } this.newcoords = _tempCoords;}dataByfeaturetype.prototype.handleMultiLineStringOrPolygon = function () { let _tempCoords = []; for (let _udx = 0; _udx < this.coords.length; _udx++) { let _evCoords = []; for (let _ndx = 0; _ndx < this.coords[_udx].length; _ndx++) {//这个根据自己的需要,选择坐标的偏移处理函数 _evCoords.push(coordtransform.wgs84togcj02(this.coords[_udx][_ndx][0], this.coords[_udx][_ndx][1])); } _tempCoords.push(_evCoords); } this.newcoords = _tempCoords;}dataByfeaturetype.prototype.handleMultiPolygon = function () { let _tempCoords = []; for (let _udx = 0; _udx < this.coords.length; _udx++) { let _polygons = []; for (let _ndx = 0; _ndx < this.coords[_udx].length; _ndx++) { let _polygon = []; for (let _tdx = 0; _tdx < this.coords[_udx][_ndx].length; _tdx++) { _polygon.push(coordtransform.wgs84togcj02(this.coords[_udx][_ndx][_tdx][0], this.coords[_udx][_ndx][_tdx][1])); } _polygons.push(_polygon); } _tempCoords.push(_polygons); } this.newcoords = _tempCoords;}//根据图层的不同类型,选择处理方法dataByfeaturetype.prototype.handleByType = function () { switch (this.featuretype) { case "Point": this.handlePoint(); break; case "MultiPoint": case "LineString": this.handleMultipointOrLinestring(); break; case "MultiLineString": case "Polygon": this.handleMultiLineStringOrPolygon(); break; case "MultiPolygon": this.handleMultiPolygon(); break; }}//获取数据处理结果dataByfeaturetype.prototype.getResult = function () { this.datafeature.geometry.coordinates = this.newcoords; return this.datafeature;};//输入文件fs.readFile('输入geojson文件', { encoding: 'utf-8'}, (err, res) => { if (err) return; let _geojsondata = JSON.parse(res); let _newfeatures = []; let _features = _geojsondata.features; for (let _fdx = 0; _fdx < _features.length; _fdx++) { let _feature = _features[_fdx]; let _featurehandle = new dataByfeaturetype(_feature); _featurehandle.handleByType(); _newfeatures.push(_featurehandle.getResult()); } _geojsondata.features = _newfeatures; //输出处理结果 fs.writeFile("输出geojson", JSON.stringify(_geojsondata), (err) => { console.log(err); });});
看完上述内容,你们对如何进行geojson图层批量坐标转换有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
坐标
偏移
处理
内容
函数
选择
单个
地图
对象
情况
数据
更多
矢量
知识
篇文章
经纬
经纬度
行业
规律
资讯
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
归档模式的数据库
数据库有两个删除语句有什么区别
听证服务器
中欧数字经济和网络安全 扬州
我的世界离线服务器怎么连接
服务器管理器的菜单
豪门足球风云手游数据库
驻马店市网络安全周
有关网络安全为题的稿
数据库表如何插入行
数据库的命令hello
网络技术改变生活方式
三门峡软件开发培训
pb9 更换数据库
张家口服务器机柜哪里便宜
网络安全设备怎么用
湘潭口碑好的软件开发哪家便宜
黑色沙漠单机版服务器下载
网络安全宣传周乱晒照片的后果
刷数据库对cpu的影响吗
怎么读取数据库中的值
软件工程vr软件开发适合考研吗
手机服务器备份在哪里做
关于网络安全我国实行
苏州人工智能软件开发收费报价表
编码在网络安全中的原理
fgo日服为什么连接服务器失败
剑灵网通五区服务器
大数据库都包括哪些
日本网络安全性怎么样