@kq_npm/client3d_webgl_vue 4.5.5-beta → 4.5.6-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -12610,6 +12610,7 @@ const _hoisted_27 = {
12610
12610
 
12611
12611
 
12612
12612
 
12613
+
12613
12614
  const ClientPrintvue_type_script_setup_true_lang_js_default_ = {
12614
12615
  name: "Kq3dClientPrint"
12615
12616
  };
@@ -12792,7 +12793,7 @@ const ClientPrintvue_type_script_setup_true_lang_js_default_ = {
12792
12793
  // 图例窗口显示与隐藏
12793
12794
  let legendShow = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(false);
12794
12795
  // 比例尺显示与隐藏
12795
- let scalesShow = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(false);
12796
+ let scalesShow = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(true);
12796
12797
  // 指北针的显示与隐藏
12797
12798
  let compassShow = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(false);
12798
12799
  let isActive = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(0);
@@ -12823,7 +12824,7 @@ const ClientPrintvue_type_script_setup_true_lang_js_default_ = {
12823
12824
  });
12824
12825
  let showMap = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(false);
12825
12826
  let formItem = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.reactive)({
12826
- options: props && props.options,
12827
+ options: props && props.options || {},
12827
12828
  service: props && props.service,
12828
12829
  scenceInfo: props && props.scenceInfo,
12829
12830
  defaultShowLayerNames: props && props.defaultShowLayerNames,
@@ -12843,11 +12844,11 @@ const ClientPrintvue_type_script_setup_true_lang_js_default_ = {
12843
12844
  global_event_default().getWebMapByMapTarget(props.mapTarget, scenceView => {
12844
12845
  if (scenceView && scenceView._viewer) {
12845
12846
  formItem = scenceView._props;
12846
- showMap = true;
12847
+ showMap.value = true;
12847
12848
  }
12848
12849
  });
12849
12850
  } else {
12850
- showMap = true;
12851
+ showMap.value = true;
12851
12852
  }
12852
12853
  setTitleDataform.value.data.title = props.printTitle || language.value.oneimage;
12853
12854
  papAnchor.value = "portrait";
@@ -13411,10 +13412,7 @@ const ClientPrintvue_type_script_setup_true_lang_js_default_ = {
13411
13412
  const _component_kq_layer_tree = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-layer-tree");
13412
13413
  const _component_kq_input = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-input");
13413
13414
  const _component_kq_color_picker = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-color-picker");
13414
- const _component_kq3d_status_bar = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq3d-status-bar");
13415
13415
  const _component_kq_legend = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-legend");
13416
- const _component_kq3d_compass = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq3d-compass");
13417
- const _component_kq_scene_view = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-scene-view");
13418
13416
  const _component_kq_scrollbar = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-scrollbar");
13419
13417
  return (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)("div", ClientPrintvue_type_script_setup_true_lang_js_hoisted_1, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("div", {
13420
13418
  class: "settleLayer",
@@ -14032,9 +14030,9 @@ const ClientPrintvue_type_script_setup_true_lang_js_default_ = {
14032
14030
  ref: printContentDiv
14033
14031
  }, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("div", _hoisted_21, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("img", {
14034
14032
  src: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(scenceImageUrl)
14035
- }, null, 8 /* PROPS */, _hoisted_22)]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(showMap) ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createBlock)(_component_kq_scene_view, {
14033
+ }, null, 8 /* PROPS */, _hoisted_22)]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(showMap) ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createBlock)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(SceneView), {
14036
14034
  key: 0,
14037
- target: 'scencePrint',
14035
+ target: "scencePrint",
14038
14036
  options: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).options,
14039
14037
  service: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).service,
14040
14038
  scenceInfo: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).scenceInfo,
@@ -14046,7 +14044,7 @@ const ClientPrintvue_type_script_setup_true_lang_js_default_ = {
14046
14044
  "position": "relative"
14047
14045
  }
14048
14046
  }, {
14049
- default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(scalesShow) ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createBlock)(_component_kq3d_status_bar, {
14047
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(scalesShow) && (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(showMap) ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createBlock)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(StatusBar), {
14050
14048
  key: 0
14051
14049
  })) : (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createCommentVNode)("v-if", true), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createCommentVNode)("图例"), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("div", {
14052
14050
  class: "kq3d-client-print-legendDiv",
@@ -14063,7 +14061,7 @@ const ClientPrintvue_type_script_setup_true_lang_js_default_ = {
14063
14061
  onMouseover: setdragCursor,
14064
14062
  onMousedown: dragTl,
14065
14063
  id: "divcompassDiv"
14066
- }, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq3d_compass)], 544 /* NEED_HYDRATION, NEED_PATCH */), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(compassShow)]]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createCommentVNode)(" 文本标注 "), ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(true), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)(external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.Fragment, null, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.renderList)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(setLabelData).value, item => {
14064
+ }, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(Compass))], 544 /* NEED_HYDRATION, NEED_PATCH */), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(compassShow)]]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createCommentVNode)(" 文本标注 "), ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(true), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)(external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.Fragment, null, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.renderList)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(setLabelData).value, item => {
14067
14065
  return (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withDirectives)(((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)("div", {
14068
14066
  id: item.data.dataId,
14069
14067
  key: item.data.dataId,
@@ -46663,9 +46661,9 @@ var _3rd_libs_shp = __webpack_require__(825);
46663
46661
  ;// CONCATENATED MODULE: external "dompurify"
46664
46662
  var external_dompurify_namespaceObject = require("dompurify");
46665
46663
  ;// CONCATENATED MODULE: ./src/common/_utils/util.js
46666
- /*
46667
- * Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
46668
- * All rights reserved.
46664
+ /*
46665
+ * Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
46666
+ * All rights reserved.
46669
46667
  */// 获取当前时间返回置顶格式
46670
46668
  /**
46671
46669
  * 安全地设置html元素的innerHTML
@@ -46738,7 +46736,7 @@ return;}let params=new KqGIS.GeometryAnalysis.ShpParserParams({file:file});let d
46738
46736
  * 解析json 文件
46739
46737
  * @file 上传file文件流
46740
46738
  * @callbackFun 回调方法 传入解析后的features数组
46741
- */function readJSON(file,callbackFun){try{let readEncoding="utf-8";let reader=new FileReader();reader.readAsText(file,readEncoding);reader.onload=function(){try{callbackFun(JSON.parse(this.result));}catch(err){callbackFun(this.result);}};reader.onerror=function(error){callbackFun(null);};}catch(error){callbackFun(null);}}/**
46739
+ */function readJSON(file,callbackFun){try{let readEncoding="utf-8";let reader=new FileReader();reader.readAsText(file,readEncoding);reader.onload=function(){try{callbackFun(JSON.parse(this.result));}catch(err){callbackFun(this.result);}};reader.onerror=function(error){callbackFun(null,error);};}catch(error){callbackFun(null,error);}}/**
46742
46740
  * 解析txt文件
46743
46741
  * @file 上传file文件流
46744
46742
  * @callbackFun 回调方法 传入解析后的features数组
@@ -46759,7 +46757,7 @@ if(rows[nextIndex].indexOf("@")!==-1){// 结束上个地块
46759
46757
  getCoor(geoType,pointArr,objarr);dataArr.push({type:geoType,coordinates:objarr});}else{let nextRow=rows[nextIndex].split(",");if(nextRow.length>0){if(nextRow[1]!==arr_row[1]){// 一行的第二个值是代表圈号,圈号不同表示不同的多边形
46760
46758
  getCoor(geoType,pointArr,objarr);pointArr=[];}}}}else{// 最后的行需要加上多边形
46761
46759
  getCoor(geoType,pointArr,objarr);dataArr.push({type:geoType,coordinates:objarr});}}// 地图和服务默认投影都是经纬度的,传入定位的坐标也必须是经纬度的,需要转换
46762
- if(dataArr.length===0){KqMessage({message:language.exporttxterror+"!",type:"error",duration:2000});callbackFun(null);return;}let features=[];for(let d in dataArr){let f=dataArr[d];let feature={type:"Feature",geometry:f};features.push(feature);}let data={type:"FeatureCollection",features:features};if(checkLatLng(dataArr[0])){if(callbackFun){callbackFun(data);}}else{let projectfeatures=[];for(let d in dataArr){let f=dataArr[d];let feature={type:"Feature",geometry:f};projectfeatures.push(feature);}projectTransform(dataUrl,inPrj,"4326",projectfeatures,function(datafeature){let data={type:"FeatureCollection",features:datafeature};if(callbackFun){callbackFun(data);}});}};reader.readAsText(file,"utf-8");function getCoor(type,pointArr,objarr){if(type==="Point"){objarr.push(pointArr[0][0]);objarr.push(pointArr[0][1]);}else if(type==="LineString"){for(let i=0;i<pointArr.length;i++){objarr.push(pointArr[i]);}}else if(type==="Polygon"){objarr.push(pointArr);}}}/**
46760
+ if(dataArr.length===0){KqMessage({message:language.exporttxterror+"!",type:"error",duration:2000});callbackFun(null);return;}let features=[];for(let d in dataArr){let f=dataArr[d];let feature={type:"Feature",geometry:f};features.push(feature);}let data={type:"FeatureCollection",features:features};if(checkLatLng(dataArr[0])){if(callbackFun){callbackFun(data);}}else{let projectfeatures=[];for(let d in dataArr){let f=dataArr[d];projToAssign(f,"4326",inPrj);let feature={type:"Feature",geometry:f};projectfeatures.push(feature);}let data={type:"FeatureCollection",features:projectfeatures};if(callbackFun){callbackFun(data);}}};reader.readAsText(file,"utf-8");function getCoor(type,pointArr,objarr){if(type==="Point"){objarr.push(pointArr[0][0]);objarr.push(pointArr[0][1]);}else if(type==="LineString"){for(let i=0;i<pointArr.length;i++){objarr.push(pointArr[i]);}}else if(type==="Polygon"){objarr.push(pointArr);}}}/**
46763
46761
  * 解析文件
46764
46762
  * @file 上传file文件流
46765
46763
  * @callbackFun 回调方法 传入解析后的features数组
@@ -46813,7 +46811,11 @@ return;}coor=transform.inverse(coor);}// 根据geometry对象 获取图形的空
46813
46811
  function getGeoEPSGByFeture(geometry){let _x=0;if(geometry.type.toUpperCase()==="POLYGON"){_x=geometry.coordinates[0][0][0]||geometry.coordinates[0][0];}else if(geometry.type.toUpperCase()==="MULTIPOLYGON"){_x=geometry.coordinates[0][0][0][0]||geometry.coordinates[0][0][0];}else if(geometry.type.toUpperCase()==="POINT"){_x=geometry.coordinates[0][0]||geometry.coordinates[0];}else if(geometry.type.toUpperCase()==="LINESTRING"){_x=geometry.coordinates[0][0]||geometry.coordinates[0];}else{return"+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";}if(_x>-999&&_x<999){return"+proj=longlat +ellps=GRS80 +no_defs +type=crs";}let dh=_x.toString().substr(0,2);const _dh=33;// 以33度带为计算点
46814
46812
  let lon=99;// 以33度带为计算点
46815
46813
  let x=33500000;// 以33度带为计算点
46816
- lon=lon+(Number(dh)-_dh)*3;x=x+(Number(dh)-_dh)*1000000;let a=`+proj=tmerc +lat_0=0 +lon_0=${lon} +k=1 +x_0=${x} +y_0=0 +ellps=GRS80 +units=m +no_defs `;return a;}}/**
46814
+ lon=lon+(Number(dh)-_dh)*3;x=x+(Number(dh)-_dh)*1000000;let a=`+proj=tmerc +lat_0=0 +lon_0=${lon} +k=1 +x_0=${x} +y_0=0 +ellps=GRS80 +units=m +no_defs `;return a;}}function projToAssign(geometry,outPrj,inPrj){inPrj="EPSG:"+inPrj;outPrj="EPSG:"+outPrj;// 转换的投影
46815
+ let transform=proj4(outPrj,inPrj);let type=geometry.type;let coor=geometry.coordinates;let d,c,p,newPoint;if(type==="Polygon"){for(d in coor){c=coor[d];for(p in c){newPoint=transform.inverse([Number(c[p][0]),Number(c[p][1])]);c[p]=newPoint;}}}else if(type==="MultiPolygon"){for(let r=0;r<coor.length;r++){let _coor=coor[r];for(d in _coor){c=_coor[d];// if (!$.isArray(c)) {
46816
+ // continue;
46817
+ // }
46818
+ for(p in c){newPoint=transform.inverse([Number(c[p][0]),Number(c[p][1])]);c[p]=newPoint;}}}}else if(type==="LineString"){for(d in coor){newPoint=transform.inverse(coor[d]);coor[d]=newPoint;}}else if(type==="Point"){coor=transform.inverse(coor);}}/**
46817
46819
  * 导出 Excel
46818
46820
  * @tableData 表格数据 数组对象
46819
46821
  * @fields 表格数据中的属性名称
@@ -46841,8 +46843,8 @@ elink.href=_url;elink.setAttribute("download","shapefile.zip");elink.style.displ
46841
46843
  * @param {string} outPrj //导出的坐标系
46842
46844
  * @param {object} features //要导出的坐标
46843
46845
  */function exportTXT(dataUrl,outPrj,features){if(dataUrl){if(dataUrl.indexOf("?")>=0){let url=dataUrl.split("?")[0];if(url===""||url==="undefined"||url===null){KqMessage({message:"导出Txt失败,没有找到服务地址!",type:"error",duration:2000});return;}}}if(["4490","4326","4610"].includes(outPrj)){let txtBodys=createTxtBody(features);let drawTTitle="[属性描述] \r\n格式版本号=1.0 \r\n数据生产单位=国土资源部 \r\n数据产生日期=[datatime] \r\n坐标系=墨卡托 \r\n投影类型=高斯克吕格 \r\n计量单位=米 \r\n[地块坐标] \r\n";let date=new Date();let time=date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate();drawTTitle=drawTTitle.replace("[datatime]",time);// 设置生成日期
46844
- let evalue=drawTTitle+txtBodys;saveTXT(evalue,"","地块坐标信息.txt");}else{projectTransform(dataUrl,"4326",outPrj,features,function(dataFeatures){let txtBodys=createTxtBody(dataFeatures);let drawTTitle="[属性描述] \r\n格式版本号=1.0 \r\n数据生产单位=国土资源部 \r\n数据产生日期=[datatime] \r\n坐标系=墨卡托 \r\n投影类型=高斯克吕格 \r\n计量单位=米 \r\n[地块坐标] \r\n";let date=new Date();let time=date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate();drawTTitle=drawTTitle.replace("[datatime]",time);// 设置生成日期
46845
- let evalue=drawTTitle+txtBodys;saveTXT(evalue,"","地块坐标信息.txt");});}}// 导出txt方法--总方法
46846
+ let evalue=drawTTitle+txtBodys;saveTXT(evalue,"","地块坐标信息.txt");}else{let dataFeatures=[];for(let d=0;d<features.length;d++){let f=features[d].geometry;projToAssign(f,outPrj,"4326");let feature={type:"Feature",geometry:f};dataFeatures.push(feature);}let txtBodys=createTxtBody(dataFeatures);let drawTTitle="[属性描述] \r\n格式版本号=1.0 \r\n数据生产单位=国土资源部 \r\n数据产生日期=[datatime] \r\n坐标系=墨卡托 \r\n投影类型=高斯克吕格 \r\n计量单位=米 \r\n[地块坐标] \r\n";let date=new Date();let time=date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate();drawTTitle=drawTTitle.replace("[datatime]",time);// 设置生成日期
46847
+ let evalue=drawTTitle+txtBodys;saveTXT(evalue,"","地块坐标信息.txt");}}// 导出txt方法--总方法
46846
46848
  function createTxtBody(features){let txtBodys="";for(let k in features){let geometry=features[k]["geometry"];let geoType=geometry["type"];let coordinates=geometry["coordinates"];// let RKZQBM = features[k]['properties']['XZQDM'] === undefined ? '' : features[k]['properties']['XZQDM'];
46847
46849
  // let ZQMC = features[k]['properties']['XZQMC'] === undefined ? '' : features[k]['properties']['XZQDM'];
46848
46850
  switch(geoType){case"Point":txtBodys+=createBodyBycoord([[coordinates]],"","","点");break;case"LineString":// this.removeCPointFromCoordinates(coordinates);
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@kq_npm/client3d_webgl_vue","description":"KQGIS Client3D for Vue.js","version":"4.5.5-beta","homepage":"","keywords":["KQGIS","webGL","Vue"],"sdkNames":["@kq_npm/client_icons_vue"],"restrictedVersion":true,"validateSDK":true,"browserslist":["> 1%","last 2 versions","not dead","not ie 11"],"author":"KQWEB GROUP","license":"Apache-2.0","dependencies":{"colorcolor":"1.1.1","echarts":"5.5.1","echarts-stat":"1.2.0","js-cookie":"3.0.1","omit.js":"2.0.2","save":"2.5.0","tinycolor2":"1.4.2","vue-i18n":"9.2.0-beta.36","xlsx":"0.18.5","css-vars-ponyfill":"2.4.8","html2canvas":"1.4.1","xe-utils":"3.5.4"}}
1
+ {"name":"@kq_npm/client3d_webgl_vue","description":"KQGIS Client3D for Vue.js","version":"4.5.6-beta","homepage":"","keywords":["KQGIS","webGL","Vue"],"sdkNames":["@kq_npm/client_icons_vue"],"restrictedVersion":true,"validateSDK":true,"browserslist":["> 1%","last 2 versions","not dead","not ie 11"],"author":"KQWEB GROUP","license":"Apache-2.0","dependencies":{"colorcolor":"1.1.1","echarts":"5.5.1","echarts-stat":"1.2.0","js-cookie":"3.0.1","omit.js":"2.0.2","save":"2.5.0","tinycolor2":"1.4.2","vue-i18n":"9.2.0-beta.36","xlsx":"0.18.5","css-vars-ponyfill":"2.4.8","html2canvas":"1.4.1","xe-utils":"3.5.4"}}
package/sceneapp/index.js CHANGED
@@ -9521,9 +9521,9 @@ var _3rd_libs_shp = __webpack_require__(3825);
9521
9521
  ;// CONCATENATED MODULE: external "dompurify"
9522
9522
  var external_dompurify_namespaceObject = require("dompurify");
9523
9523
  ;// CONCATENATED MODULE: ./src/common/_utils/util.js
9524
- /*
9525
- * Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
9526
- * All rights reserved.
9524
+ /*
9525
+ * Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
9526
+ * All rights reserved.
9527
9527
  */// 获取当前时间返回置顶格式
9528
9528
  /**
9529
9529
  * 安全地设置html元素的innerHTML
@@ -9596,7 +9596,7 @@ return;}let params=new KqGIS.GeometryAnalysis.ShpParserParams({file:file});let d
9596
9596
  * 解析json 文件
9597
9597
  * @file 上传file文件流
9598
9598
  * @callbackFun 回调方法 传入解析后的features数组
9599
- */function readJSON(file,callbackFun){try{let readEncoding="utf-8";let reader=new FileReader();reader.readAsText(file,readEncoding);reader.onload=function(){try{callbackFun(JSON.parse(this.result));}catch(err){callbackFun(this.result);}};reader.onerror=function(error){callbackFun(null);};}catch(error){callbackFun(null);}}/**
9599
+ */function readJSON(file,callbackFun){try{let readEncoding="utf-8";let reader=new FileReader();reader.readAsText(file,readEncoding);reader.onload=function(){try{callbackFun(JSON.parse(this.result));}catch(err){callbackFun(this.result);}};reader.onerror=function(error){callbackFun(null,error);};}catch(error){callbackFun(null,error);}}/**
9600
9600
  * 解析txt文件
9601
9601
  * @file 上传file文件流
9602
9602
  * @callbackFun 回调方法 传入解析后的features数组
@@ -9617,7 +9617,7 @@ if(rows[nextIndex].indexOf("@")!==-1){// 结束上个地块
9617
9617
  getCoor(geoType,pointArr,objarr);dataArr.push({type:geoType,coordinates:objarr});}else{let nextRow=rows[nextIndex].split(",");if(nextRow.length>0){if(nextRow[1]!==arr_row[1]){// 一行的第二个值是代表圈号,圈号不同表示不同的多边形
9618
9618
  getCoor(geoType,pointArr,objarr);pointArr=[];}}}}else{// 最后的行需要加上多边形
9619
9619
  getCoor(geoType,pointArr,objarr);dataArr.push({type:geoType,coordinates:objarr});}}// 地图和服务默认投影都是经纬度的,传入定位的坐标也必须是经纬度的,需要转换
9620
- if(dataArr.length===0){KqMessage({message:language.exporttxterror+"!",type:"error",duration:2000});callbackFun(null);return;}let features=[];for(let d in dataArr){let f=dataArr[d];let feature={type:"Feature",geometry:f};features.push(feature);}let data={type:"FeatureCollection",features:features};if(checkLatLng(dataArr[0])){if(callbackFun){callbackFun(data);}}else{let projectfeatures=[];for(let d in dataArr){let f=dataArr[d];let feature={type:"Feature",geometry:f};projectfeatures.push(feature);}projectTransform(dataUrl,inPrj,"4326",projectfeatures,function(datafeature){let data={type:"FeatureCollection",features:datafeature};if(callbackFun){callbackFun(data);}});}};reader.readAsText(file,"utf-8");function getCoor(type,pointArr,objarr){if(type==="Point"){objarr.push(pointArr[0][0]);objarr.push(pointArr[0][1]);}else if(type==="LineString"){for(let i=0;i<pointArr.length;i++){objarr.push(pointArr[i]);}}else if(type==="Polygon"){objarr.push(pointArr);}}}/**
9620
+ if(dataArr.length===0){KqMessage({message:language.exporttxterror+"!",type:"error",duration:2000});callbackFun(null);return;}let features=[];for(let d in dataArr){let f=dataArr[d];let feature={type:"Feature",geometry:f};features.push(feature);}let data={type:"FeatureCollection",features:features};if(checkLatLng(dataArr[0])){if(callbackFun){callbackFun(data);}}else{let projectfeatures=[];for(let d in dataArr){let f=dataArr[d];projToAssign(f,"4326",inPrj);let feature={type:"Feature",geometry:f};projectfeatures.push(feature);}let data={type:"FeatureCollection",features:projectfeatures};if(callbackFun){callbackFun(data);}}};reader.readAsText(file,"utf-8");function getCoor(type,pointArr,objarr){if(type==="Point"){objarr.push(pointArr[0][0]);objarr.push(pointArr[0][1]);}else if(type==="LineString"){for(let i=0;i<pointArr.length;i++){objarr.push(pointArr[i]);}}else if(type==="Polygon"){objarr.push(pointArr);}}}/**
9621
9621
  * 解析文件
9622
9622
  * @file 上传file文件流
9623
9623
  * @callbackFun 回调方法 传入解析后的features数组
@@ -9671,7 +9671,11 @@ return;}coor=transform.inverse(coor);}// 根据geometry对象 获取图形的空
9671
9671
  function getGeoEPSGByFeture(geometry){let _x=0;if(geometry.type.toUpperCase()==="POLYGON"){_x=geometry.coordinates[0][0][0]||geometry.coordinates[0][0];}else if(geometry.type.toUpperCase()==="MULTIPOLYGON"){_x=geometry.coordinates[0][0][0][0]||geometry.coordinates[0][0][0];}else if(geometry.type.toUpperCase()==="POINT"){_x=geometry.coordinates[0][0]||geometry.coordinates[0];}else if(geometry.type.toUpperCase()==="LINESTRING"){_x=geometry.coordinates[0][0]||geometry.coordinates[0];}else{return"+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";}if(_x>-999&&_x<999){return"+proj=longlat +ellps=GRS80 +no_defs +type=crs";}let dh=_x.toString().substr(0,2);const _dh=33;// 以33度带为计算点
9672
9672
  let lon=99;// 以33度带为计算点
9673
9673
  let x=33500000;// 以33度带为计算点
9674
- lon=lon+(Number(dh)-_dh)*3;x=x+(Number(dh)-_dh)*1000000;let a=`+proj=tmerc +lat_0=0 +lon_0=${lon} +k=1 +x_0=${x} +y_0=0 +ellps=GRS80 +units=m +no_defs `;return a;}}/**
9674
+ lon=lon+(Number(dh)-_dh)*3;x=x+(Number(dh)-_dh)*1000000;let a=`+proj=tmerc +lat_0=0 +lon_0=${lon} +k=1 +x_0=${x} +y_0=0 +ellps=GRS80 +units=m +no_defs `;return a;}}function projToAssign(geometry,outPrj,inPrj){inPrj="EPSG:"+inPrj;outPrj="EPSG:"+outPrj;// 转换的投影
9675
+ let transform=proj4(outPrj,inPrj);let type=geometry.type;let coor=geometry.coordinates;let d,c,p,newPoint;if(type==="Polygon"){for(d in coor){c=coor[d];for(p in c){newPoint=transform.inverse([Number(c[p][0]),Number(c[p][1])]);c[p]=newPoint;}}}else if(type==="MultiPolygon"){for(let r=0;r<coor.length;r++){let _coor=coor[r];for(d in _coor){c=_coor[d];// if (!$.isArray(c)) {
9676
+ // continue;
9677
+ // }
9678
+ for(p in c){newPoint=transform.inverse([Number(c[p][0]),Number(c[p][1])]);c[p]=newPoint;}}}}else if(type==="LineString"){for(d in coor){newPoint=transform.inverse(coor[d]);coor[d]=newPoint;}}else if(type==="Point"){coor=transform.inverse(coor);}}/**
9675
9679
  * 导出 Excel
9676
9680
  * @tableData 表格数据 数组对象
9677
9681
  * @fields 表格数据中的属性名称
@@ -9699,8 +9703,8 @@ elink.href=_url;elink.setAttribute("download","shapefile.zip");elink.style.displ
9699
9703
  * @param {string} outPrj //导出的坐标系
9700
9704
  * @param {object} features //要导出的坐标
9701
9705
  */function exportTXT(dataUrl,outPrj,features){if(dataUrl){if(dataUrl.indexOf("?")>=0){let url=dataUrl.split("?")[0];if(url===""||url==="undefined"||url===null){KqMessage({message:"导出Txt失败,没有找到服务地址!",type:"error",duration:2000});return;}}}if(["4490","4326","4610"].includes(outPrj)){let txtBodys=createTxtBody(features);let drawTTitle="[属性描述] \r\n格式版本号=1.0 \r\n数据生产单位=国土资源部 \r\n数据产生日期=[datatime] \r\n坐标系=墨卡托 \r\n投影类型=高斯克吕格 \r\n计量单位=米 \r\n[地块坐标] \r\n";let date=new Date();let time=date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate();drawTTitle=drawTTitle.replace("[datatime]",time);// 设置生成日期
9702
- let evalue=drawTTitle+txtBodys;saveTXT(evalue,"","地块坐标信息.txt");}else{projectTransform(dataUrl,"4326",outPrj,features,function(dataFeatures){let txtBodys=createTxtBody(dataFeatures);let drawTTitle="[属性描述] \r\n格式版本号=1.0 \r\n数据生产单位=国土资源部 \r\n数据产生日期=[datatime] \r\n坐标系=墨卡托 \r\n投影类型=高斯克吕格 \r\n计量单位=米 \r\n[地块坐标] \r\n";let date=new Date();let time=date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate();drawTTitle=drawTTitle.replace("[datatime]",time);// 设置生成日期
9703
- let evalue=drawTTitle+txtBodys;saveTXT(evalue,"","地块坐标信息.txt");});}}// 导出txt方法--总方法
9706
+ let evalue=drawTTitle+txtBodys;saveTXT(evalue,"","地块坐标信息.txt");}else{let dataFeatures=[];for(let d=0;d<features.length;d++){let f=features[d].geometry;projToAssign(f,outPrj,"4326");let feature={type:"Feature",geometry:f};dataFeatures.push(feature);}let txtBodys=createTxtBody(dataFeatures);let drawTTitle="[属性描述] \r\n格式版本号=1.0 \r\n数据生产单位=国土资源部 \r\n数据产生日期=[datatime] \r\n坐标系=墨卡托 \r\n投影类型=高斯克吕格 \r\n计量单位=米 \r\n[地块坐标] \r\n";let date=new Date();let time=date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate();drawTTitle=drawTTitle.replace("[datatime]",time);// 设置生成日期
9707
+ let evalue=drawTTitle+txtBodys;saveTXT(evalue,"","地块坐标信息.txt");}}// 导出txt方法--总方法
9704
9708
  function createTxtBody(features){let txtBodys="";for(let k in features){let geometry=features[k]["geometry"];let geoType=geometry["type"];let coordinates=geometry["coordinates"];// let RKZQBM = features[k]['properties']['XZQDM'] === undefined ? '' : features[k]['properties']['XZQDM'];
9705
9709
  // let ZQMC = features[k]['properties']['XZQMC'] === undefined ? '' : features[k]['properties']['XZQDM'];
9706
9710
  switch(geoType){case"Point":txtBodys+=createBodyBycoord([[coordinates]],"","","点");break;case"LineString":// this.removeCPointFromCoordinates(coordinates);