js上传geojson文件,读取geojson文件中的坐标。

首先来看看什么是geojson文件。

就是这样的:

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {},
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              91.373291015625,
              38.66835610151506
            ],
            [
              89.769287109375,
              37.76202988573211
            ],
            [
              93.2958984375,
              36.90597988519294
            ],
            [
              94.163818359375,
              37.90953361677018
            ],
            [
              93.636474609375,
              39.2407625100131
            ],
            [
              91.373291015625,
              38.66835610151506
            ]
          ]
        ]
      }
    }
  ]
}

这就是一个简单的geojson文件。如果我们做文件上传,需要取到其中的coordinates,也就是每一个坐标,怎么做呢:(仅展示核心代码)

//选择文件
		$("#displayfile").change(function (that) {
			var val = $(this).val();
			console.log($("input[type='file']"));
			if (val.split(".")[1] == 'json' || val.split(".")[1] == 'geojson') {
				$("#jiaInput").val($(this).val())
			} else {
				alert("请选择geojson文件格式");
			}
			var str = "";
			var obj = document.getElementById("displayfile");
			var length = obj.files.length;
			var reader = new FileReader();//新建一个FileReader
			reader.readAsText(obj.files[0], "UTF-8");//读取文件
			reader.onload = function (evt) { //读取完文件之后会回来这里
				var fileString = evt.target.result; // 读取文件内容
				console.log(JSON.parse(fileString))
				var fileJson = JSON.parse(fileString);
				console.log(fileJson.features[0].geometry.coordinates[0][0])//取到第一个json坐标点
			}
			for (var i = 0; i < length; i++) {
				$(".FileArea").html("");;
				var temp = obj.files[i].name;
				str += "<div>" + temp + "</div>";
			}
			$(".FileArea").append(str);
		})

这样就可以取到坐标点了,如果想取到每一个坐标点。进行一次遍历就好了。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值