geojson中的经纬度 通过vue计算中心点
时间: 2024-06-09 18:06:09 浏览: 210
要计算一个 geojson 的中心点,可以按照以下步骤:
1. 遍历 geojson 中所有的坐标点,计算出它们的经度(longitude)和纬度(latitude)的平均值。
2. 将这个平均值作为中心点的经度和纬度。
下面是一个示例代码,使用 Vue.js 和 turf 库来计算 geojson 中心点:
```html
<template>
<div>
<h1>Geojson 中心点计算</h1>
<p>中心点经度:{{ center[0] }}</p>
<p>中心点纬度:{{ center[1] }}</p>
</div>
</template>
<script>
import * as turf from '@turf/turf'
export default {
data() {
return {
geojson: {
type: 'FeatureCollection',
features: [
{
type: 'Feature',
properties: {},
geometry: {
type: 'Polygon',
coordinates: [
[
[100.0, 0.0],
[101.0, 0.0],
[101.0, 1.0],
[100.0, 1.0],
[100.0, 0.0]
]
]
}
}
]
},
center: []
}
},
mounted() {
this.calculateCenter()
},
methods: {
calculateCenter() {
const coords = this.geojson.features[0].geometry.coordinates[0]
const points = coords.map(coord => {
return turf.point(coord)
})
const collection = turf.featureCollection(points)
const center = turf.centerOfMass(collection)
this.center = center.geometry.coordinates
}
}
}
</script>
```
在上面的代码中,我们使用了 `turf` 库来计算中心点。首先,我们将 geojson 中的坐标点转换为 `turf` 的点对象,然后将这些点对象放入一个 `featureCollection` 中。最后,我们使用 `centerOfMass` 方法来计算这个 `featureCollection` 的中心点。
阅读全文