js实现数组转换成WKT,并生成下载JSON文件

  • 示例数据如下:
  // 示例的 JSON 字符串
        var jsonString = '{"field1": "value1", "field5": [[121,31], [121,31.15], [121,31.15], [121,31]]}';
  • 解析JSON数据,并转换成WKT,注意此处WKT面数据的话需要闭合
// 解析 JSON 字符串
 var jsonData = JSON.parse(jsonString);
        
 // 获取 field5 的二维数组
 var coordinatesArray = jsonData.field5;
        
  // 转换成 WKT 格式
  function convertToWKT(coordinates) {
          var wkt = "POLYGON ((";
          coordinates.forEach(function(coord, index) {
                wkt += coord[0] + " " + coord[1];
                if (index < coordinates.length - 1) {
                    wkt += ", ";
                }
          });
         wkt += coordinatesArray[0][0] + " " +  coordinatesArray[0][1];
         wkt += "))";
         return wkt;
    }
   // 将数组转换为 WKT 格式的字符串
    var wktString = convertToWKT(coordinatesArray);
  • 生成JSON下载文件
     // 将 WKT 字段添加到 JSON 对象中
      jsonData.wkt = wktString;
     // 创建新的 JSON 文件内容
     var newJsonString = JSON.stringify(jsonData, null, 2); // null, 2 是格式化 JSON 输出
     // 生成并下载 JSON 文件
    function downloadJson() {
          var blob = new Blob([newJsonString], {type: "application/json"});
          var url = URL.createObjectURL(blob);
          var a = document.createElement('a');
          a.href = url;
          a.download = 'output.json';
          document.body.appendChild(a);
          a.click();
          document.body.removeChild(a);
   }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值