缓冲区分析
该框架支持缓冲区分析
代码实例
vue
<script setup lang="ts">
import { onMounted, onBeforeUnmount } from 'vue'
const LarkExplorer = window.LarkExplorer
let map: any
onMounted(() => {
LarkExplorer.ready({
baseUrl: './dist/resources/',
}).then(initMap)
})
function initMap() {
// 默认谷歌影像地图
const baseImagery = LarkExplorer.BaseLayer.DefaultTdtImg
// 默认全球地形
const baseTerrain = LarkExplorer.BaseLayer.DefaultTerrain
map = new LarkExplorer.Map('map', baseImagery, baseTerrain)
initView()
}
function initView() {
const status = {
position: {
x: -947707.6526854301,
y: 5525655.629629169,
z: 3043025.882299652,
},
hpr: {
heading: 3.862207334800405,
pitch: -0.3624409974692644,
roll: 0.0001087727106403591,
},
}
map.Navigation.flyToPos(status, 3)
console.log(map)
}
const buffer = () => {
const pointD = map.SpecialAnalysis.Buffer.pointDegrees([111, 23], 1000)
const pos = LarkExplorer.Coordinate.PosFromXYZ(111, 23)
const point = map.SpecialAnalysis.Buffer.point(pos, 1000)
console.log('点缓冲区', pointD, point)
const positions0 = [
[111, 23],
[111.2, 23],
[111.4, 23],
]
const polylineD = map.SpecialAnalysis.Buffer.polylineDegreesArray(
positions0,
1000
)
const polylinePos = positions0.map((pos) =>
LarkExplorer.Coordinate.PosFromXYZ(pos[0], pos[1])
)
const polyline = map.SpecialAnalysis.Buffer.polyline(polylinePos, 1000)
console.log('线缓冲区', polylineD, polyline)
const positions1 = [
[111, 23],
[111, 24],
[110, 24],
[110, 23],
[111, 23],
]
const polygonD = map.SpecialAnalysis.Buffer.polygonDegreesArray(
positions1,
1000
)
const polygonPos = positions1.map((pos) =>
LarkExplorer.Coordinate.PosFromXYZ(pos[0], pos[1])
)
const polygon = map.SpecialAnalysis.Buffer.polygon(polygonPos, 1000)
console.log('面缓冲区', polygonD, polygon)
}
</script>
运行效果
更多示例