高程产品报告生产代码修改

earthstar-new
Mr.Dong 2025-02-13 16:39:11 +08:00
parent 22bf3f8327
commit 2731a1986a
11 changed files with 349 additions and 266 deletions

View File

@ -12,13 +12,27 @@ export default {
window.addEventListener('beforeunload', () => { window.addEventListener('beforeunload', () => {
sessionStorage.setItem('umeetCloudVuex', JSON.stringify(this.$store.state)) sessionStorage.setItem('umeetCloudVuex', JSON.stringify(this.$store.state))
}) })
} },
mounted() {
const hash = window.location.hash;
// ?
const queryString = hash.split('?')[1]; // "userId=1&userName=dqy"
// 使 URLSearchParams
const params = new URLSearchParams(queryString);
//
const userId = params.get('userId');
const userName = params.get('userName');
localStorage.setItem('userId', userId);
localStorage.setItem('userName', userName);
},
} }
</script> </script>
<style> <style>
html, body, #app{ html,
body,
#app {
width: 100%; width: 100%;
height: 100%; height: 100%;
font-size: 16px; font-size: 16px;

View File

@ -28,16 +28,17 @@
<el-table-column type="selection" width="55"> </el-table-column> <el-table-column type="selection" width="55"> </el-table-column>
<el-table-column label="序号" type="index" width="70"> <el-table-column label="序号" type="index" width="70">
</el-table-column> </el-table-column>
<el-table-column prop="samplesId" label="样本编号" show-overflow-tooltip min-width="100px;"> <el-table-column prop="id" label="样本编号" show-overflow-tooltip min-width="100px;">
</el-table-column> </el-table-column>
<el-table-column prop="lat" label="纬度" sortable show-overflow-tooltip> <el-table-column prop="lat" label="纬度" sortable show-overflow-tooltip>
</el-table-column> </el-table-column>
<el-table-column prop="lng" label="经度" sortable show-overflow-tooltip> <el-table-column prop="lon" label="经度" sortable show-overflow-tooltip>
</el-table-column> </el-table-column>
<el-table-column :label="smLabel" show-overflow-tooltip> <el-table-column :label="smLabel" show-overflow-tooltip>
<template slot-scope="scope">{{ getSampleVal(scope.row.paramStr) }}</template> <!-- <template slot-scope="scope">{{ getSampleVal(scope.row.dataValue) }}</template> -->
<template slot-scope="scope">{{ scope.row.dataValue }}</template>
</el-table-column> </el-table-column>
<el-table-column prop="collectDate" label="采样时间" sortable show-overflow-tooltip min-width="80px;"> <el-table-column prop="dataTime" label="采样时间" sortable show-overflow-tooltip min-width="80px;">
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" min-width="100px;"> <el-table-column label="操作" align="center" min-width="100px;">
<template slot-scope="scope"> <template slot-scope="scope">
@ -92,7 +93,7 @@ import {
getSampleData, getSampleData,
getSamplesByLayer, getSamplesByLayer,
} from "@/api/lang/pendingOrder"; } from "@/api/lang/pendingOrder";
import { getOrderSamples } from '@/api/pendingOrder'
import cu from "@/lib/cesiumUtils"; import cu from "@/lib/cesiumUtils";
import SampleSetting from "@/components/ration/sampleSetting/index.vue"; import SampleSetting from "@/components/ration/sampleSetting/index.vue";
import WKT from "terraformer-wkt-parser"; import WKT from "terraformer-wkt-parser";
@ -133,6 +134,9 @@ export default {
orderId: { orderId: {
require: true, require: true,
}, },
productType: {
require: true
},
productSubType: { productSubType: {
require: true, require: true,
}, },
@ -487,15 +491,15 @@ export default {
cu.removePoint(); cu.removePoint();
if (val.length !== 0) { if (val.length !== 0) {
for (let i in val) { for (let i in val) {
cu.addPoint(val[i].lng, val[i].lat, 10); cu.addPoint(val[i].lon, val[i].lat, 10);
} }
} }
this.multipleSelection = val; this.multipleSelection = val;
}, },
getSplData() { getSplData() {
getSamplesList(this.orderId).then((res) => { getOrderSamples(this.orderId, this.productSubType).then((res) => {
if (res.code == 200) { if (res.code == 200) {
let rd = res.data.list; let rd = res.data;
if (rd.length > 0) { if (rd.length > 0) {
for (const i in rd) { for (const i in rd) {
// //
@ -506,10 +510,12 @@ export default {
this.$refs.multipleTable.toggleAllSelection(); this.$refs.multipleTable.toggleAllSelection();
let min = Number.MAX_SAFE_INTEGER; let min = Number.MAX_SAFE_INTEGER;
let max = Number.MIN_SAFE_INTEGER; let max = Number.MIN_SAFE_INTEGER;
this.$store.commit("setAltRange", null); this.$store.commit("setAltRange", null);
this.allSampleData.forEach((k, v) => { this.allSampleData.forEach((k, v) => {
k.dataTime = this.formatDatetime(k.dataTime); k.dataTime = this.formatDatetime(k.dataTime);
const xqsmParam = JSON.parse(k.paramStr); const xqsmParam = k;
if (xqsmParam.alt) { if (xqsmParam.alt) {
min = min > xqsmParam.alt ? xqsmParam.alt : min; min = min > xqsmParam.alt ? xqsmParam.alt : min;
max = max < xqsmParam.alt ? xqsmParam.alt : max; max = max < xqsmParam.alt ? xqsmParam.alt : max;

View File

@ -3,81 +3,36 @@
<div class="realResult"> <div class="realResult">
<div class="box1"><span class="sp1"></span><span class="sp2">真实性检验结果</span></div> <div class="box1"><span class="sp1"></span><span class="sp2">真实性检验结果</span></div>
<div class="resContent"> <div class="resContent">
<el-table <el-table :header-cell-style="headerRowClass" :cell-style="tableRowClassName" style="width: 100%"
:header-cell-style="headerRowClass" :data="tDatas" :stripe="true" class="table-head-transparent" size="medium">
:cell-style="tableRowClassName" <el-table-column v-for="(item, index) in Object.keys(tData).slice(0, midValue)" :key="index"
style="width: 100%" :label="item | truthFunFilter" :property="item" align="center">
:data="tDatas"
:stripe="true"
class="table-head-transparent"
size="medium"
>
<el-table-column
v-for="(item, index) in Object.keys(tData).slice(0, midValue)"
:key="index"
:label="item | truthFunFilter"
:property="item"
align="center"
>
<template slot-scope="scope">{{ scope.row[item] }}</template> <template slot-scope="scope">{{ scope.row[item] }}</template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-table <el-table :header-cell-style="headerRowClass" :cell-style="tableRowClassName"
:header-cell-style="headerRowClass" style="width: 100%; margin-top: 16px" :data="tDatas" :stripe="true" class="table-head-transparent"
:cell-style="tableRowClassName" size="medium">
style="width: 100%; margin-top: 16px" <el-table-column v-for="(item, index) in Object.keys(tData).slice(midValue)" :key="index"
:data="tDatas" :label="item | truthFunFilter" :property="item" align="center">
:stripe="true"
class="table-head-transparent"
size="medium"
>
<el-table-column
v-for="(item, index) in Object.keys(tData).slice(midValue)"
:key="index"
:label="item | truthFunFilter"
:property="item"
align="center"
>
<template slot-scope="scope">{{ scope.row[item] }}</template> <template slot-scope="scope">{{ scope.row[item] }}</template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!--<span v-for="(item,index) in resMap" :key="index">{{item.name | truthFunFilter}}{{item.val}}</span>--> <!--<span v-for="(item,index) in resMap" :key="index">{{item.name | truthFunFilter}}{{item.val}}</span>-->
<div v-if="meanError.length !== 0"> <div v-if="meanError.length !== 0">
<el-table <el-table :header-cell-style="headerRowClass" :cell-style="tableRowClassName" style="width: 100%"
:header-cell-style="headerRowClass" :data="meanError" :stripe="true" size="medium">
:cell-style="tableRowClassName" <el-table-column prop="8_0" label="平均相对误差相对X轴误差" align="center"
style="width: 100%" v-if="meanError[0]['8_0'] != null">
:data="meanError"
:stripe="true"
size="medium"
>
<el-table-column
prop="8_0"
label="平均相对误差相对X轴误差"
align="center"
v-if="meanError[0]['8_0'] != null"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="8_1" label="平均相对误差相对Y轴误差" align="center"
prop="8_1" v-if="meanError[0]['8_1'] != null">
label="平均相对误差相对Y轴误差"
align="center"
v-if="meanError[0]['8_1'] != null"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="24_0" label="平均绝对相对误差相对X轴误差" align="center"
prop="24_0" v-if="meanError[0]['24_0'] != null">
label="平均绝对相对误差相对X轴误差"
align="center"
v-if="meanError[0]['24_0'] != null"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="24_1" label="平均绝对相对误差相对Y轴误差" align="center"
prop="24_1" v-if="meanError[0]['24_1'] != null">
label="平均绝对相对误差相对Y轴误差"
align="center"
v-if="meanError[0]['24_1'] != null"
>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
@ -149,17 +104,17 @@ export default {
filters: { filters: {
truthFunFilter(truthFun) { truthFunFilter(truthFun) {
const truthFunMap = { const truthFunMap = {
4: "平均误差", 0: "平均误差",
9: "平均绝对误差", 1: "平均绝对误差",
5: "相对误差", 2: "相对误差",
8: "平均相对误差", 3: "平均相对误差",
24: "平均绝对相对误差", 4: "平均绝对相对误差",
6: "均方根误差", 5: "均方根误差",
23: "平面中误差", 6: "平面中误差",
7: "相关系数", 7: "相关系数",
12: "误差矩阵", 8: "误差矩阵",
14: "总体分类精度", 9: "总体分类精度",
13: "Kappa系数", 10: "Kappa系数",
}; };
return truthFunMap[truthFun]; return truthFunMap[truthFun];
}, },
@ -662,17 +617,20 @@ export default {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
.realResult { .realResult {
width: 100%; width: 100%;
height: calc(55% - 5px); height: calc(55% - 5px);
background-color: white; background-color: white;
margin-bottom: 5px; margin-bottom: 5px;
} }
.errorGraph { .errorGraph {
width: 100%; width: 100%;
height: 45%; height: 45%;
background-color: white; background-color: white;
} }
.resContent { .resContent {
border: 1px black solid; border: 1px black solid;
height: calc(100% - 60px); height: calc(100% - 60px);
@ -680,11 +638,13 @@ export default {
margin: 10px; margin: 10px;
font-size: 20px; font-size: 20px;
overflow-y: scroll; overflow-y: scroll;
span { span {
display: block; display: block;
margin: 10px; margin: 10px;
} }
} }
.errContent { .errContent {
border: 1px black solid; border: 1px black solid;
height: calc(100% - 60px); height: calc(100% - 60px);
@ -692,16 +652,19 @@ export default {
margin: 10px; margin: 10px;
position: relative; position: relative;
} }
#rtReportEcharts { #rtReportEcharts {
width: 100%; width: 100%;
height: 100%; height: 100%;
position: relative; position: relative;
} }
.box1 { .box1 {
height: 40px; height: 40px;
line-height: 40px; line-height: 40px;
border-bottom: 1px solid rgb(205, 205, 205, 0.5); border-bottom: 1px solid rgb(205, 205, 205, 0.5);
} }
.sp1 { .sp1 {
display: inline-block; display: inline-block;
width: 7px; width: 7px;
@ -711,6 +674,7 @@ export default {
margin-left: 20px; margin-left: 20px;
margin-top: 8px; margin-top: 8px;
} }
.sp2 { .sp2 {
margin-left: 10px; margin-left: 10px;
font-size: 20px; font-size: 20px;
@ -728,10 +692,12 @@ export default {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
.line { .line {
height: 20px; height: 20px;
line-height: 20px; line-height: 20px;
margin: 0 5px; margin: 0 5px;
.circle { .circle {
display: inline-block; display: inline-block;
width: 7px; width: 7px;
@ -740,6 +706,7 @@ export default {
border-radius: 50%; border-radius: 50%;
margin-right: 5px; margin-right: 5px;
} }
.circle_2 { .circle_2 {
display: inline-block; display: inline-block;
width: 7px; width: 7px;
@ -750,16 +717,19 @@ export default {
} }
} }
} }
.erTip { .erTip {
position: absolute; position: absolute;
top: 10px; top: 10px;
right: 26px; right: 26px;
font-size: small; font-size: small;
text-align: end; text-align: end;
.echartReg { .echartReg {
height: 20px; height: 20px;
line-height: 20px; line-height: 20px;
margin: 0 5px; margin: 0 5px;
.echartRegName { .echartRegName {
display: inline-block; display: inline-block;
width: 9px; width: 9px;

View File

@ -33,7 +33,8 @@ const url = {
const serverUrl = DQYSERVER_URL; const serverUrl = DQYSERVER_URL;
const langServerUrl = LXYSERVER_URL; const langServerUrl = LXYSERVER_URL;
const urlprefix = { const urlprefix = {
pdfUrlPrefix: `${serverUrl}/microwaveData/pdf/`, // pdfUrlPrefix: `${serverUrl}/microwaveData/pdf/`,
pdfUrlPrefix: `http://192.168.1.205:8081/microwaveData/pdf/`,
samePoiImgsUrl: `${serverUrl}/microwaveData/samePoiImgs/`, samePoiImgsUrl: `${serverUrl}/microwaveData/samePoiImgs/`,
geoserverUrl: `${serverUrl}/geoserver/gwc/service/wmts`, geoserverUrl: `${serverUrl}/geoserver/gwc/service/wmts`,
otgGeoServerUrl: `${serverUrl}/geoserver/gwc/service/wmts`, otgGeoServerUrl: `${serverUrl}/geoserver/gwc/service/wmts`,

View File

@ -1,16 +1,16 @@
export const productSubTypeVal = { export const productSubTypeVal = {
ACS_ORTHOPHOTO: 45, // 正射产品校验 ACS_ORTHOPHOTO: 1, // 正射产品校验
ACS_DEM: 46, // 高程产品校验 ACS_DEM: 2, // 高程产品校验
ACS_BACKSCATTERINGCOEFFICIENT: 51, // 后向散射系数产品校验 ACS_BACKSCATTERINGCOEFFICIENT: 3, // 后向散射系数产品校验
ACS_ATMOSPHERICDELAYCORRECTION: 52, // 大气延迟校正产品校验 ACS_ATMOSPHERICDELAYCORRECTION: 4, // 大气延迟校正产品校验
ACS_DEFORMATION: 53, // 干涉测量形变产品校验 ACS_DEFORMATION: 5, // 干涉测量形变产品校验
ACS_TYPESOFLANDCOVER: 39, // 地表覆盖类型产品校验 ACS_TYPESOFLANDCOVER: 6, // 地表覆盖类型产品校验
ACS_SOILMOISTURE: 38, // 土壤水分产品校验 ACS_SOILMOISTURE: 7, // 土壤水分产品校验
ACS_SOILSALINITYINVERSION: 49, // 土壤盐碱度产品校验 ACS_SOILSALINITYINVERSION: 8, // 土壤盐碱度产品校验
ACS_SURFACEROUGHNESS: 50, // 地表粗糙度产品校验 ACS_SURFACEROUGHNESS: 9, // 地表粗糙度产品校验
ACS_GROUNDVEGETATIONHEIGHT: 48, // 植被高度产品校验 ACS_GROUNDVEGETATIONHEIGHT: 10, // 植被高度产品校验
ACS_GROUNDLEAFAREAINDEX: 43, // 叶面积指数产品校验 ACS_GROUNDLEAFAREAINDEX: 11, // 叶面积指数产品校验
ACS_VEGETATIONPHENOLOGY: 47 // 植被物候产品校验 ACS_VEGETATIONPHENOLOGY: 12 // 植被物候产品校验
}; };
export const pixelFunVal = { export const pixelFunVal = {
PHM_AVERAGING: 1, // 均值法 PHM_AVERAGING: 1, // 均值法
@ -20,17 +20,17 @@ export const pixelFunVal = {
PHM_MSN: 10 // MSN法 PHM_MSN: 10 // MSN法
}; };
export const truthFunVal = { export const truthFunVal = {
ACM_MEANERROR: 4, // 平均误差 ACM_MEANERROR: 0, // 平均误差
ACM_MEANABSOLUTEERROR: 9, // 平均绝对误差 ACM_MEANABSOLUTEERROR: 1, // 平均绝对误差
ACM_RELATIVEERROR: 5, // 相对误差 ACM_RELATIVEERROR: 2, // 相对误差
ACM_MEANRELATIVEERROR: 8, // 平均相对误差 ACM_MEANRELATIVEERROR: 3, // 平均相对误差
ACM_ROOTMANSQUAREERROR: 6, // 均方根误差 ACM_ROOTMANSQUAREERROR: 5, // 均方根误差
ACM_CORRELATIONCOEFFICIENT: 7, // 相关系数 ACM_CORRELATIONCOEFFICIENT: 7, // 相关系数
ACM_ERRORMATRIX: 12, // 误差矩阵(混淆矩阵) ACM_ERRORMATRIX: 8, // 误差矩阵(混淆矩阵)
ACM_OVERALLACCURACY: 14, // 总体分类精度 ACM_OVERALLACCURACY: 9, // 总体分类精度
ACM_KAPPA: 13, // Kappa系数 ACM_KAPPA: 10, // Kappa系数
ACM_MEANABSOLUTERELATIVEERROR: 24, // 平均绝对相对误差 ACM_MEANABSOLUTERELATIVEERROR: 4, // 平均绝对相对误差
ACM_PLANENESSERROR: 23, // 平面中误差 ACM_PLANENESSERROR: 6, // 平面中误差
ACM_REALVALLIST: 11, //真值数组记录 ACM_REALVALLIST: 11, //真值数组记录
ACM_OTGERROR:112, //正射误差记录 ACM_OTGERROR:12, //正射误差记录
}; };

View File

@ -1,59 +1,58 @@
//产品枚举映射 //真实性检验方法映射
export function productTypeMap(pdtype) { export function productTypeMap(pdtype) {
const pdtypeMap = { const pdtypeMap = {
45: "正射产品", 1: "正射产品",
46: "高程产品", 2: "高程产品",
51: "后向散射系数产品", 3: "后向散射系数产品",
52: "大气延迟校正产品", 4: "大气延迟校正产品",
53: "干涉测量形变产品", 5: "干涉测量形变产品",
39: "地表覆盖类型产品", 6: "地表覆盖类型产品",
38: "土壤水分产品", 7: "土壤水分产品",
49: "土壤盐碱度产品", 8: "土壤盐碱度产品",
50: "地表粗糙度产品", 9: "地表粗糙度产品",
48: "植被高度产品", 10: "植被高度产品",
43: "叶面积指数产品", 11: "叶面积指数产品",
47: "植被物候产品" 12: "植被物候产品",
}; };
if (pdtype == null) return null; if (pdtype == null) return null;
else return pdtypeMap[pdtype]; else return pdtypeMap[pdtype];
} }
//产品--样本类型映射 //产品--样本类型映射
export function productTypeSplMap(pdtype) { export function productTypeSplMap(pdtype) {
const pdtypeMap = { const pdtypeMap = {
45: "正射样本", 1: "正射样本",
46: "高程样本", 2: "高程样本",
51: "后向散射系数样本", 3: "后向散射系数样本",
52: "大气延迟校正样本", 4: "大气延迟校正样本",
53: "干涉测量形变样本", 5: "干涉测量形变样本",
39: "地表覆盖类型样本", 6: "地表覆盖类型样本",
38: "土壤水分样本", 7: "土壤水分样本",
49: "土壤盐碱度样本", 8: "土壤盐碱度样本",
50: "地表粗糙度样本", 9: "地表粗糙度样本",
48: "植被高度样本", 10: "植被高度样本",
43: "叶面积指数样本", 11: "叶面积指数样本",
47: "植被物候样本" 12: "植被物候样本",
}; };
if (pdtype == null) return null; if (pdtype == null) return null;
else return pdtypeMap[pdtype]; else return pdtypeMap[pdtype];
} }
//真实性检验方法映射 //真实性检验方法映射
export function truthFunctionsMap(truthFun) { export function truthFunctionsMap(truthFun) {
const truthFunMap = { const truthFunMap = {
4: "平均误差", 0: "平均误差",
9: "平均绝对误差", 1: "平均绝对误差",
5: "相对误差", 2: "相对误差",
8: "平均相对误差", 3: "平均相对误差",
24: "平均绝对相对误差", 4: "平均绝对相对误差",
6: "均方根误差", 5: "均方根误差",
23: "平面中误差", 6: "平面中误差",
7: "相关系数", 7: "相关系数",
12: "误差矩阵", 8: "误差矩阵",
14: "总体分类精度", 9: "总体分类精度",
13: "Kappa系数", 10: "Kappa系数",
11: "产品真值", 11: "产品真值",
112: "正射误差列表", 12: "正射误差列表",
}; };
if (truthFun == null) return null; if (truthFun == null) return null;
else return truthFunMap[truthFun]; else return truthFunMap[truthFun];
@ -62,9 +61,9 @@ export function truthFunctionsMap(truthFun) {
// 抽样方法枚举转换 // 抽样方法枚举转换
export function transformSlp(sampleFun) { export function transformSlp(sampleFun) {
const sampleFunMap = { const sampleFunMap = {
"1": "随机抽样", 0: "随机抽样",
"2": "分层抽样", 1: "分层抽样",
"3": "等距抽样" 2: "等距抽样",
}; };
if (sampleFun == null) return null; if (sampleFun == null) return null;
else return sampleFunMap[sampleFun]; else return sampleFunMap[sampleFun];
@ -72,35 +71,35 @@ export function transformSlp(sampleFun) {
// 像元级方法枚举转换 // 像元级方法枚举转换
export function transformPcMethod(pixelDealFun) { export function transformPcMethod(pixelDealFun) {
const pixelDealFunMap = { const pixelDealFunMap = {
"1": "均值法", 0: "均值法",
"6": "最邻近法", 1: "最邻近法",
"7": "克里格法", 2: "克里格法",
"9": "块克里格法", 3: "块克里格法",
"10": "MSN法" 4: "MSN法",
}; };
if (pixelDealFun == null) return null; if (pixelDealFun == null) return null;
else return pixelDealFunMap[pixelDealFun]; else return pixelDealFunMap[pixelDealFun];
} }
export const PIXELDEALFUNOPTION = [ export const PIXELDEALFUNOPTION = [
{
value: "0",
label: "均值法",
},
{ {
value: "1", value: "1",
label: "均值法" label: "最邻近法",
}, },
{ {
value: "6", value: "2",
label: "最邻近法" label: "克里格法",
}, },
{ {
value: "7", value: "3",
label: "克里格法" label: "克里格法",
}, },
{ {
value: "9", value: "4",
label: "块克里格法" label: "MSN法",
}, },
{
value: "10",
label: "MSN法"
}
]; ];

106
src/lib/variateMap2.js Normal file
View File

@ -0,0 +1,106 @@
//产品枚举映射
export function productTypeMap(pdtype) {
const pdtypeMap = {
45: "正射产品",
46: "高程产品",
51: "后向散射系数产品",
52: "大气延迟校正产品",
53: "干涉测量形变产品",
39: "地表覆盖类型产品",
38: "土壤水分产品",
49: "土壤盐碱度产品",
50: "地表粗糙度产品",
48: "植被高度产品",
43: "叶面积指数产品",
47: "植被物候产品"
};
if (pdtype == null) return null;
else return pdtypeMap[pdtype];
}
//产品--样本类型映射
export function productTypeSplMap(pdtype) {
const pdtypeMap = {
45: "正射样本",
46: "高程样本",
51: "后向散射系数样本",
52: "大气延迟校正样本",
53: "干涉测量形变样本",
39: "地表覆盖类型样本",
38: "土壤水分样本",
49: "土壤盐碱度样本",
50: "地表粗糙度样本",
48: "植被高度样本",
43: "叶面积指数样本",
47: "植被物候样本"
};
if (pdtype == null) return null;
else return pdtypeMap[pdtype];
}
//真实性检验方法映射
export function truthFunctionsMap(truthFun) {
const truthFunMap = {
4: "平均误差",
9: "平均绝对误差",
5: "相对误差",
8: "平均相对误差",
24: "平均绝对相对误差",
6: "均方根误差",
23: "平面中误差",
7: "相关系数",
12: "误差矩阵",
14: "总体分类精度",
13: "Kappa系数",
11: "产品真值",
112: "正射误差列表",
};
if (truthFun == null) return null;
else return truthFunMap[truthFun];
}
// 抽样方法枚举转换
export function transformSlp(sampleFun) {
const sampleFunMap = {
"1": "随机抽样",
"2": "分层抽样",
"3": "等距抽样"
};
if (sampleFun == null) return null;
else return sampleFunMap[sampleFun];
}
// 像元级方法枚举转换
export function transformPcMethod(pixelDealFun) {
const pixelDealFunMap = {
"1": "均值法",
"6": "最邻近法",
"7": "克里格法",
"9": "块克里格法",
"10": "MSN法"
};
if (pixelDealFun == null) return null;
else return pixelDealFunMap[pixelDealFun];
}
export const PIXELDEALFUNOPTION = [
{
value: "1",
label: "均值法"
},
{
value: "6",
label: "最邻近法"
},
{
value: "7",
label: "克里格法"
},
{
value: "9",
label: "块克里格法"
},
{
value: "10",
label: "MSN法"
}
];

View File

@ -178,17 +178,15 @@ export default {
cu.addlayer(geoWS, geoLN); cu.addlayer(geoWS, geoLN);
const gp = this.reportMsg.geoLayerPos; const gp = this.reportMsg.geoLayerPos;
cu.flyToLayerRect(gp[0], gp[1], gp[2], gp[3]); cu.flyToLayerRect(gp[0], gp[1], gp[2], gp[3]);
const sd = this.sampleData; const sd = this.sampleData;
if (this.pdSubType === productSubTypeVal.ACS_ORTHOPHOTO) { if (this.pdSubType === productSubTypeVal.ACS_ORTHOPHOTO) {
for (let i in sd) { for (let i in sd) {
cu.addPoint(sd[i].measureLong, sd[i].measureLat, 10); cu.addPoint(sd[i].lon, sd[i].lat, 10);
} }
} else { } else {
for (let i in sd) { for (let i in sd) {
const alt = JSON.parse(sd[i].paramStr).alt; const alt = sd[i].alt;
cu.addPoint(sd[i].lng, sd[i].lat, alt !== "null" ? alt : 10); cu.addPoint(sd[i].lon, sd[i].lat, alt !== "null" ? alt : 10);
} }
} }
@ -253,11 +251,10 @@ export default {
init() { init() {
const self = this; const self = this;
const rpm = (self.reportMsg = this.queryParams); const rpm = (self.reportMsg = this.queryParams);
console.log("1111111", rpm);
self.realRes = rpm.reportResult; self.realRes = rpm.reportResult;
self.pdSubType = rpm.pdSubType; self.pdSubType = rpm.pdSubType;
const rsl = (self.sampleData = rpm.sampleList); const rsl = (self.sampleData = rpm.sampleList);
// //
if (rpm.pdSubType === productSubTypeVal.ACS_ORTHOPHOTO) { if (rpm.pdSubType === productSubTypeVal.ACS_ORTHOPHOTO) {
let otgVal = []; let otgVal = [];
@ -278,6 +275,7 @@ export default {
self.realRes.otgVal = otgVal; self.realRes.otgVal = otgVal;
} }
const md = rpm.metaData; const md = rpm.metaData;
self.rpDataMsg = { self.rpDataMsg = {
satellite: md.satellite, satellite: md.satellite,
load: md.load, load: md.load,
@ -292,8 +290,10 @@ export default {
centerPoint: "POINT(" + md.centerLon + "," + md.centerLat + ")", centerPoint: "POINT(" + md.centerLon + "," + md.centerLat + ")",
}; };
}, },
// //
exportPdf(rpm) { exportPdf(rpm) {
console.log(rpm,'rpm');
const self = this; const self = this;
const asmo = rpm.orderMsg; const asmo = rpm.orderMsg;
const asmp = rpm.productMsg; const asmp = rpm.productMsg;
@ -357,18 +357,18 @@ export default {
category: category, category: category,
categoryType: productTypeSplMap(self.pdSubType), categoryType: productTypeSplMap(self.pdSubType),
product: productTypeMap(self.pdSubType), product: productTypeMap(self.pdSubType),
orderID: asmo.orderCode, orderID: rpm.orderId,
reportMaker: rpm.userName, reportMaker: rpm.userName,
orderCreateTime: asmo.createDate, orderCreateTime: asmo.create_date,
orderStartTime: crTime.startTime, orderStartTime: crTime.startTime,
orderEndTime: crTime.endTime, orderEndTime: crTime.endTime,
reportCreateTime: asmo.createDate, reportCreateTime: asmo.createDate,
inspectorName: rpm.userName, inspectorName: rpm.userName,
productFileName: asmp.fileName, productFileName: asmo.fileName,
resolution: asmm.resRatio + "", resolution: asmm.resRatio + "",
productCreateTime: asmp.collectDate, productCreateTime: asmo.productDate,
coordinatSeystem: asmm.coordinateSys, coordinatSeystem: asmm.coordinateSys,
sampleTimeRequest: asmo.queryStartTime + " - " + asmo.queryEndTime, sampleTimeRequest: asmo.simpleStartTime + " - " + asmo.simpleEndTime,
sampleType: "点", sampleType: "点",
sampleCount: rpm.sampleList.length + "", sampleCount: rpm.sampleList.length + "",
// areaLeftUp: asmm.minLon + "," + asmm.maxLat, // areaLeftUp: asmm.minLon + "," + asmm.maxLat,
@ -392,7 +392,8 @@ export default {
load: asmm.load, load: asmm.load,
pixelHandleMsg: rpm.pixelHandleMsg, pixelHandleMsg: rpm.pixelHandleMsg,
projStr: rpm.projStr, projStr: rpm.projStr,
sampleFun: rpm.sampleFun sampleFun: rpm.sampleFun,
sampleNum: rpm.sampleNum,
}; };
this.qyReportMsg = pdfMsg; this.qyReportMsg = pdfMsg;
const pdfName = productTypeMap(self.pdSubType) + "报告"; const pdfName = productTypeMap(self.pdSubType) + "报告";
@ -509,7 +510,6 @@ export default {
qyReportOpt["sampleUnit"] = this.sampleUintQy; qyReportOpt["sampleUnit"] = this.sampleUintQy;
qyReportOpt["sampleimgFd"] = qyReportOpt.sampleImgFd; qyReportOpt["sampleimgFd"] = qyReportOpt.sampleImgFd;
otgPdfMsg(qyReportOpt).then(res=>{ otgPdfMsg(qyReportOpt).then(res=>{
console.log(11111111,res);
if(res.code == 200 && res.data =="保存成功") window.location.href = `${DAICHULI_URL}?token=${this.reportMsg.token}`; if(res.code == 200 && res.data =="保存成功") window.location.href = `${DAICHULI_URL}?token=${this.reportMsg.token}`;
}) })
break; break;
@ -517,7 +517,6 @@ export default {
case psVal.ACS_VEGETATIONPHENOLOGY: case psVal.ACS_VEGETATIONPHENOLOGY:
qyReportOpt["sampleimgFd"] = qyReportOpt.sampleImgFd; qyReportOpt["sampleimgFd"] = qyReportOpt.sampleImgFd;
coverPdfMsg(qyReportOpt).then(res=>{ coverPdfMsg(qyReportOpt).then(res=>{
console.log(11111111,res);
if(res.code == 200 && res.data =="保存成功") window.location.href = `${DAICHULI_URL}?token=${this.reportMsg.token}`; if(res.code == 200 && res.data =="保存成功") window.location.href = `${DAICHULI_URL}?token=${this.reportMsg.token}`;
}) })
break; break;
@ -533,7 +532,6 @@ export default {
qyReportOpt["sampleUnit"] = this.sampleUintQy; qyReportOpt["sampleUnit"] = this.sampleUintQy;
qyReportOpt["sampleimgFd"] = qyReportOpt.sampleImgFd; qyReportOpt["sampleimgFd"] = qyReportOpt.sampleImgFd;
otherPdfMsg(qyReportOpt).then(res=>{ otherPdfMsg(qyReportOpt).then(res=>{
console.log(11111111,res);
if(res.code == 200 && res.data =="保存成功") window.location.href = `${DAICHULI_URL}?token=${this.reportMsg.token}`; if(res.code == 200 && res.data =="保存成功") window.location.href = `${DAICHULI_URL}?token=${this.reportMsg.token}`;
}) })
break; break;

View File

@ -180,6 +180,7 @@ import {
checkReality, checkReality,
resetCheck resetCheck
} from "@/api/lang/pendingOrder"; } from "@/api/lang/pendingOrder";
import qs from "qs"; import qs from "qs";
import html2canvas from "@/lib/html2canvas.js" import html2canvas from "@/lib/html2canvas.js"
import { productSubTypeVal, truthFunVal } from "@/lib/contract.js"; import { productSubTypeVal, truthFunVal } from "@/lib/contract.js";
@ -198,12 +199,14 @@ export default {
this.configration.path.orderUnprocessed this.configration.path.orderUnprocessed
) { ) {
this.queryParams = this.$route.params; this.queryParams = this.$route.params;
} else { } else {
this.queryParams = JSON.parse( this.queryParams = JSON.parse(
localStorage.getItem(this.configration.path.orderUnprocessed) localStorage.getItem(this.configration.path.orderUnprocessed)
); );
} }
document.body.scrollTop = 0; document.body.scrollTop = 0;
this.initOrderPMsg(); this.initOrderPMsg();
this.setTruthFunOpt(); this.setTruthFunOpt();
}, },
@ -219,7 +222,7 @@ export default {
truthFun: false, truthFun: false,
productSubType: undefined, productSubType: undefined,
featureMapData: [], featureMapData: [],
orderId: undefined, orderId: null,
userId: null, userId: null,
userName: null, userName: null,
token: null, token: null,
@ -256,19 +259,23 @@ export default {
initOrderPMsg() { initOrderPMsg() {
let self = this; let self = this;
const am = (self.allMsg = this.queryParams); const am = (self.allMsg = this.queryParams);
console.log(am,'am-----1111111111111111111');
console.log(localStorage.userId, localStorage.userName);
console.log(localStorage.getItem('userId'), localStorage.getItem('userName'));
self.userId = localStorage.userId; self.userId = localStorage.userId;
self.userName = localStorage.userName; self.userName = localStorage.userName;
self.token = localStorage.token; // self.token = localStorage.token;
const om = (self.orderMsg = self.allMsg.orderMsg); const om = (self.orderMsg = self.allMsg.orderMsg);
self.orderId = om.orderId; self.orderId = am.orderId;
const pdType = om.productSubClassId; const pdType = om.productSubclassId;
self.productSubType = pdType;
self.productSubType = pdType;
// self.featureMapData = om.landCoverTypeVOList; // self.featureMapData = om.landCoverTypeVOList;
self.featureMapData = am.groudClassData; self.featureMapData = am.groudClassData;
// self.featureMapData = pdType === 39 ? om.landCoverTypeVOList : JSON.parse(am.productMsg.microwaveDataJson).vegetationPhenology; // self.featureMapData = pdType === 39 ? om.landCoverTypeVOList : JSON.parse(am.productMsg.microwaveDataJson).vegetationPhenology;
self.formInline = am.metaMsg; self.formInline = am.metaMsg;
self.orderData = am.orderData; self.orderData = am.orderData;
self.pixelNum = am.metaMsg.resRatio; self.pixelNum = am.metaMsg.resRatio;
@ -281,52 +288,34 @@ export default {
]; ];
const pm = (self.productMsg = am.productMsg); const pm = (self.productMsg = am.productMsg);
self.geoWorkSpace = pm.geoWorkspace; self.geoWorkSpace = om.geoWorkspace;
self.geoLayerName = pm.geoLayerName; self.geoLayerName = om.layerName;
// self.tifPath = pm.ftpPath; // self.tifPath = pm.ftpPath;
//访 //访
let rt = pm.ftpPath.split('/'); self.tifPath = om.tifPath;
self.tifPath = 'http://10.0.31.125:18030/inspection/files/' + rt[rt.length - 1]; self.projection = am.productMsg.coordinateSystem;
self.projection = pm.projection; self.microwaveDataJson = null;
self.microwaveDataJson = self.productMsg.microwaveDataJson
//
// getAnalyseMethod(self.orderId).then((res) => {
// // console.log('',res);
// if (res.code === 200) {
// let truthFun = res.data.default;
// if (res.data.selected.length !== 0) truthFun = res.data.selected;
// if (truthFun.length !== 0) {
// const tfArr = [];
// for (let i in truthFun) {
// tfArr.push(truthFun[i].id);
// }
// self.formInline.truthCheckFun = tfArr;
// self.truthFun = true;
// }
// }
// });
// //
if (om.processMethods !== null) { // if (om.processMethods !== null) {
const pm = om.processMethods; // const pm = om.processMethods;
const pmVal = Object.keys(pm)[0]; // const pmVal = Object.keys(pm)[0];
self.pixelFun = pmVal.toString(); // self.pixelFun = pmVal.toString();
} // }
if (self.pixelFun !== "") { // if (self.pixelFun !== "") {
self.pdShow = true; // self.pdShow = true;
self.$store.commit("setPixelFun", self.pixelFun); // self.$store.commit("setPixelFun", self.pixelFun);
} // }
// // //
if (om.samplingMethodId !== null) // if (om.samplingMethodId !== null)
self.sampleFun = om.samplingMethodId + ""; // self.sampleFun = om.samplingMethodId + "";
if (self.sampleFun !== "") { // if (self.sampleFun !== "") {
self.$store.commit("setSampleFun", self.sampleFun); // self.$store.commit("setSampleFun", self.sampleFun);
} // }
if (om.samplingMethodCldId !== null) { // if (om.samplingMethodCldId !== null) {
self.sampleCldFun = om.samplingMethodCldId + ""; // self.sampleCldFun = om.samplingMethodCldId + "";
} // }
}, },
tableRowClassName({ rowIndex }) { tableRowClassName({ rowIndex }) {
if ((rowIndex + 1) % 2 !== 0) { if ((rowIndex + 1) % 2 !== 0) {
@ -366,10 +355,9 @@ export default {
this.sampleList = smpVal.multipleSelection; this.sampleList = smpVal.multipleSelection;
// if (featureMapData !== [] || featureMapData.length !== 0) // if (featureMapData !== [] || featureMapData.length !== 0)
// this.updateCoverType(featureMapData); // this.updateCoverType(featureMapData);
const orderId = this.orderId; const orderId = this.orderId;
//
const tcf = this.formInline.truthCheckFun; const tcf = this.formInline.truthCheckFun;
if (this.sampleList.length === 0) { if (this.sampleList.length === 0) {
this.$message.error("请选择样本数据"); this.$message.error("请选择样本数据");
return false; return false;
@ -382,7 +370,7 @@ export default {
const allSampleData = smpVal.allSampleData; const allSampleData = smpVal.allSampleData;
this.addCotSamples(this.sampleList, allSampleData, orderId); this.addCotSamples(this.sampleList, allSampleData, orderId);
// //
this.updateTruthFun(orderId, tcf); // this.updateTruthFun(orderId, tcf);
this.checkRealityWait = true; this.checkRealityWait = true;
// setTimeout(() => { // setTimeout(() => {
// this.screenCapture(this.sampleList, this.geoLayerPos).then(imgRes => { // this.screenCapture(this.sampleList, this.geoLayerPos).then(imgRes => {
@ -393,7 +381,7 @@ export default {
var formData = new FormData(); var formData = new FormData();
formData.append("orderId", orderId); //ID formData.append("orderId", orderId); //ID
formData.append("productType", this.productSubType); // formData.append("productType", this.productSubType); //
formData.append("isHttpUrl", true); // formData.append("isHttpUrl", false); //
formData.append("dataPath", this.tifPath); // formData.append("dataPath", this.tifPath); //
formData.append("samples", JSON.stringify(this.sampleList)); // formData.append("samples", JSON.stringify(this.sampleList)); //
if (this.pixelFun !== "") if (this.pixelFun !== "")
@ -446,8 +434,13 @@ export default {
imgRes: imgRes, imgRes: imgRes,
pixelHandleMsg: pixelHandleMsg, pixelHandleMsg: pixelHandleMsg,
projStr: res.projStr, projStr: res.projStr,
sampleFun: theSampleFun sampleFun: theSampleFun,
sampleNum: rm.sampleNum,
simpleEndTime: this.orderMsg.simpleEndTime,
simpleStartTime: this.orderMsg.simpleStartTime,
}; };
console.log(reportMsg,'reportMsg');
localStorage.setItem( localStorage.setItem(
this.configration.path.inspection, this.configration.path.inspection,
JSON.stringify(reportMsg) JSON.stringify(reportMsg)
@ -469,22 +462,24 @@ export default {
} }
}); });
}, },
screenCapture(allSampel, gp) { screenCapture(allSampel, gp) {
return new Promise((resolve) => { return new Promise((resolve) => {
const allLon = [], allLat = []; const allLon = [], allLat = [];
if (this.productSubType === productSubTypeVal.ACS_ORTHOPHOTO) { if (this.productSubType === productSubTypeVal.ACS_ORTHOPHOTO) {
for (let i in allSampel) { for (let i in allSampel) {
allLon.push(allSampel[i].measureLong); allLon.push(allSampel[i].lon);
allLat.push(allSampel[i].measureLat); allLat.push(allSampel[i].lat);
} }
} else { } else {
for (let i in allSampel) { for (let i in allSampel) {
allLon.push(allSampel[i].lng); allLon.push(allSampel[i].lon);
allLat.push(allSampel[i].lat); allLat.push(allSampel[i].lat);
} }
} }
const sampleExtent = [Math.min(...allLon), Math.min(...allLat), Math.max(...allLon), Math.max(...allLat)] const sampleExtent = [Math.min(...allLon), Math.min(...allLat), Math.max(...allLon), Math.max(...allLat)]
this.setViewToRect(sampleExtent[0], sampleExtent[1], sampleExtent[2], sampleExtent[3]); this.setViewToRect(sampleExtent[0], sampleExtent[1], sampleExtent[2], sampleExtent[3]);
setTimeout(() => { setTimeout(() => {
this.getCaptrue('样本放大').then(res => { this.getCaptrue('样本放大').then(res => {
this.setViewToRect(gp[0], gp[1], gp[2], gp[3]); this.setViewToRect(gp[0], gp[1], gp[2], gp[3]);
@ -505,6 +500,7 @@ export default {
}, 1000) }, 1000)
}) })
}, 1000) }, 1000)
document.querySelector('.cesium-viewer-toolbar').style.display = 'block';
}) })
}, },
getCaptrue(picName) { getCaptrue(picName) {
@ -574,7 +570,7 @@ export default {
const dsForm = new FormData(); const dsForm = new FormData();
dsForm.append("orderId", orderId); dsForm.append("orderId", orderId);
dsForm.append("idList", isDel); dsForm.append("idList", isDel);
delSampleData(dsForm); // delSampleData(dsForm);
}, },
// //
updateTruthFun(orderId, tcf) { updateTruthFun(orderId, tcf) {
@ -691,6 +687,7 @@ export default {
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
.Fade-enter, .Fade-enter,
.Fade-leave-to { .Fade-leave-to {
opacity: 0; opacity: 0;

View File

@ -289,8 +289,6 @@ export default {
const orderId = (self.orderId = this.$route.query.orderId); const orderId = (self.orderId = this.$route.query.orderId);
const productId = (self.productId = this.$route.query.productId); const productId = (self.productId = this.$route.query.productId);
const orderCode = (self.orderCode = this.$route.query.orderCode); const orderCode = (self.orderCode = this.$route.query.orderCode);
console.log(orderId,productId,orderCode);
getOrderAndProduct(JSON.stringify({ productId: Number(productId), orderCode: orderCode })).then((res) => { getOrderAndProduct(JSON.stringify({ productId: Number(productId), orderCode: orderCode })).then((res) => {
function formatFileSize(bytes) { function formatFileSize(bytes) {
if (bytes === 0) return '0 B'; if (bytes === 0) return '0 B';
@ -301,7 +299,6 @@ export default {
} }
if (res.code === 200) { if (res.code === 200) {
self.orderMsg = res.data; self.orderMsg = res.data;
console.log(res.data,'1231321');
self.productType = res.data.productType; self.productType = res.data.productType;
// const psId = res.data.productSubClassId; // const psId = res.data.productSubClassId;
@ -309,10 +306,8 @@ export default {
getProductMetaMsg(JSON.stringify({ dataPath: res.data.tifPath })).then((res) => { getProductMetaMsg(JSON.stringify({ dataPath: res.data.tifPath })).then((res) => {
if (res.code === 200) { if (res.code === 200) {
const pm = (self.productMsg = res.data); const pm = (self.productMsg = res.data);
console.log(pm, 'pm');
const om = self.orderMsg; const om = self.orderMsg;
console.log(om, 'om');
// //
self.orderData = []; self.orderData = [];
self.orderData.push({ self.orderData.push({
@ -323,14 +318,10 @@ export default {
fileSize: formatFileSize(om.fileSize), fileSize: formatFileSize(om.fileSize),
fileFormat: om.fileFormat, fileFormat: om.fileFormat,
}); });
console.log(self.orderData, 'self.orderData');
const minLat = parseFloat(Number(pm.boundBoxMinY).toFixed(8)); const minLat = parseFloat(Number(pm.boundBoxMinY).toFixed(8));
const maxLat = parseFloat(Number(pm.boundBoxMaxY).toFixed(8)); const maxLat = parseFloat(Number(pm.boundBoxMaxY).toFixed(8));
const minLon = parseFloat(Number(pm.boundBoxMinX).toFixed(8)); const minLon = parseFloat(Number(pm.boundBoxMinX).toFixed(8));
const maxLon = parseFloat(Number(pm.boundingBoxMaxX).toFixed(8)); const maxLon = parseFloat(Number(pm.boundingBoxMaxX).toFixed(8));
console.log(minLat, maxLat, minLon, maxLon, 'minLat,maxLat,minLon,maxLon');
// //
self.formInline = { self.formInline = {
satellite: om.satelliteName, satellite: om.satelliteName,
@ -395,9 +386,11 @@ export default {
}, },
inspection() { inspection() {
let param = { let param = {
userId: this.userId, // userId: this.userId,
userName: this.userName, // userName: this.userName,
token: this.token, // token: this.token,
orderId: this.orderId,
orderCode: this.orderCode,
orderMsg: this.orderMsg, orderMsg: this.orderMsg,
productMsg: this.productMsg, productMsg: this.productMsg,
orderData: this.orderData, orderData: this.orderData,

View File

@ -165,7 +165,6 @@ export default {
// //
// 153079 :153086 153087 152945 // 153079 :153086 153087 152945
console.log(orderMsg,1231232);
// this.$router.push(`/orderUnprocessed?orderId=${orderMsg.id}&token=WEB*1719907102702@TY84_ZZX-gxfw001132_4ff8a6f9de7f4d37837ba22354972efb`); // this.$router.push(`/orderUnprocessed?orderId=${orderMsg.id}&token=WEB*1719907102702@TY84_ZZX-gxfw001132_4ff8a6f9de7f4d37837ba22354972efb`);
this.$router.push(`/orderUnprocessed?productId=${orderMsg.product_upload_id}&orderId=${orderMsg.id}&orderCode=${orderMsg.order_code}`); this.$router.push(`/orderUnprocessed?productId=${orderMsg.product_upload_id}&orderId=${orderMsg.id}&orderCode=${orderMsg.order_code}`);