Merge remote-tracking branch 'origin/demo' into demo
4 files modified
1 files added
| | |
| | | distance?:number |
| | | } |
| | | |
| | | export const flyByArea = async function (sn:string,dockPoint:Point,areaList:any[],radius:number,deviceSn:string): Promise<IWorkspaceResponse<any>> { |
| | | export const flyByArea = async function (sn:string,dockPoint:Point,jsonPath:any,radius:number,deviceSn:string,payloadIndex:string): Promise<IWorkspaceResponse<any>> { |
| | | const url = `${HTTP_PREFIX}/workspaces/${sn}/jobs/${deviceSn}/flyByArea` |
| | | const result = await request.post(url,{dockPoint:dockPoint,areaList:areaList,radius:radius}) |
| | | const result = await request.post(url,{dockPoint:dockPoint,jsonPath:jsonPath,radius:radius,payloadIndex:payloadIndex}) |
| | | return result.data |
| | | } |
| | | |
| New file |
| | |
| | | {"type":"FeatureCollection","crs":{"type":"name","properties":{"name":"EPSG:4326"}},"features":[{"type":"Feature","id":0,"geometry":{"type":"Polygon","coordinates":[[[115.86646556494736,28.634450296554235],[115.86425430209033,28.635738328540754],[115.86455173471609,28.633120921432976],[115.86697714906381,28.633843533997606],[115.86646556494736,28.634450296554235]]]},"properties":{"FID":0,"Id":0}},{"type":"Feature","id":1,"geometry":{"type":"Polygon","coordinates":[[[115.86400669060504,28.620271391369386],[115.86002109341996,28.616202513049245],[115.86637425430604,28.614203765804177],[115.86591204400565,28.617200102075913],[115.86400669060504,28.620271391369386]]]},"properties":{"FID":1,"Id":0}},{"type":"Feature","id":2,"geometry":{"type":"Polygon","coordinates":[[[115.83936693345481,28.616199931733206],[115.84128848946852,28.616084360149614],[115.84093157031771,28.618154491224743],[115.83814760094094,28.618654178035968],[115.83936693345481,28.616199931733206]]]},"properties":{"FID":2,"Id":0}},{"type":"Feature","id":3,"geometry":{"type":"Polygon","coordinates":[[[115.76493801956997,28.690367528093361],[115.76654812497384,28.688124702651749],[115.77111669010515,28.688505416412738],[115.7695938350613,28.690980055858802],[115.76493801956997,28.690367528093361]]]},"properties":{"FID":3,"Id":0}}]} |
| | |
| | | } |
| | | cesium.addEllipse(ellipseSetting) |
| | | cesium.flyTo(ellipseSetting, 5, 20000) |
| | | |
| | | // 加载图斑 |
| | | cesium.loadGeoJson('../src/assets/jsonData/jkj(1).json') |
| | | }) |
| | | |
| | | function draw (type: MapDoodleType, bool: boolean) { |
| | |
| | | import { useDockControl } from './use-dock-control' |
| | | import { flyByArea, Point } from '/@/api/wayline' |
| | | import { parseJsonFile } from '/@/utils/geo-utils' |
| | | |
| | | import { cesiumOperation } from '/@/hooks/use-cesium-tsa' |
| | | import * as Cesium from 'cesium' |
| | | const props = defineProps<{ |
| | | sn: string, |
| | | deviceInfo: DeviceInfoType, |
| | | payloads: null | PayloadInfo[], |
| | | modelValue: Boolean, |
| | | }>() |
| | | |
| | | const cesiumFunc = cesiumOperation() |
| | | |
| | | const store = useMyStore() |
| | | const clientId = computed(() => { |
| | |
| | | lat: props.deviceInfo.dock.basic_osd.latitude |
| | | }) |
| | | const deviceSn = props.deviceInfo.dock.basic_osd.sub_device?.device_sn |
| | | const jsonData = await parseJsonFile('../src/assets/jsonData/图斑_FeaturesToJSON(1).json') |
| | | const jsonPath = 'src/main/resources/jkj(1).json' |
| | | const sn = props.sn |
| | | const features = jsonData.features |
| | | const list = [] |
| | | |
| | | features.forEach(feature => { |
| | | const areaList = [] |
| | | feature.geometry.coordinates[0].forEach(areaPoint => { |
| | | console.log('areaPoint:', areaPoint) |
| | | const point = { |
| | | lon: areaPoint[0], |
| | | lat: areaPoint[1] |
| | | console.log(payloadSelectInfo, '-------------') |
| | | const payloadIndex = payloadSelectInfo.payloadIndex |
| | | // const jsonData = await parseJsonFile('../src/assets/jsonData/jkj(1).json') |
| | | |
| | | // const features = jsonData.features |
| | | // const list = [] |
| | | |
| | | // features.forEach(feature => { |
| | | // const areaList = [] |
| | | // feature.geometry.coordinates[0].forEach(areaPoint => { |
| | | // console.log('areaPoint:', areaPoint) |
| | | // const point = { |
| | | // lon: areaPoint[0], |
| | | // lat: areaPoint[1] |
| | | // } |
| | | // areaList.push(point) |
| | | // }) |
| | | // list.push(areaList) |
| | | // }) |
| | | |
| | | flyByArea(sn, dockPoint, jsonPath, radius, deviceSn, payloadIndex).then(res => { |
| | | const targetPoint = res.data |
| | | // 获取到点之后在图上绘点 |
| | | targetPoint.forEach((point, index) => { |
| | | const setting = { |
| | | longitude: point.lon, |
| | | latitude: point.lat, |
| | | point: { |
| | | pixelSize: 8, |
| | | outlineWidth: 2, |
| | | color: Cesium.Color.RED, |
| | | outlineColor: Cesium.Color.BLACK, |
| | | }, |
| | | label: { |
| | | text: '位置' + (index + 1), |
| | | outlineWidth: 20, |
| | | font: '14px sans-serif', |
| | | heightReference: 80, |
| | | pixelOffset: new Cesium.Cartesian2(0, -35), |
| | | fillColor: Cesium.Color.BLACK |
| | | }, |
| | | id: 'target' + index, |
| | | } |
| | | areaList.push(point) |
| | | }) |
| | | list.push(areaList) |
| | | }) |
| | | |
| | | flyByArea(sn, dockPoint, list, radius, deviceSn).then(res => { |
| | | console.log(res, '----------------') |
| | | cesiumFunc.addPoint(setting) |
| | | }) |
| | | }) |
| | | } |
| | | |
| | |
| | | cesium.addPoint(setting) |
| | | // cesium.flyTo(setting) |
| | | } |
| | | cesium.loadGeoJson('../src/assets/jsonData/图斑_FeaturesToJSON(1).json') |
| | | }, { |
| | | deep: true, |
| | | }) |