Compare commits

...

2 Commits

32 changed files with 66 additions and 51 deletions

View File

@ -110,7 +110,7 @@
"lodash": "^4.17.21",
"lodash-es": "^4.17.21",
"mapbox-extensions": "^1.3.38",
"mapbox-gl": "^3.3.0",
"mapbox-gl": "^2.0.0",
"mapbox-gl-draw-snap-mode": "^0.2.0",
"mapbox-gl-utils": "^0.44.0",
"mars3d": "^3.7.0",

View File

@ -80,7 +80,7 @@ worldMapContainer1.style.width = "970px";
worldMapContainer1.style.position = "relative";
worldMapContainer1.style.left = "30px";
mapboxgl.accessToken = 'pk.eyJ1IjoieHVqaW5nbGlhbmciLCJhIjoiY2w3bzFzZnZqMjdieTN1cG92N2I1d2huOSJ9.aQqMz4S-cTziUYizIH_gNg';
mapboxgl.accessToken = 'pk.eyJ1IjoiYWlvb2lvbyIsImEiOiJjbHdhNHhxbTIwNjBiMmlxdGVpeDdnZzM4In0.vHK5bpeCj4sSK2POMI4y4Q';
let map = new mapboxgl.Map({
container: 'distribution_map',
style: {

View File

@ -54,7 +54,7 @@
let map: Map;
onMounted(() => {
mapboxgl.accessToken = "pk.eyJ1IjoieHVqaW5nbGlhbmciLCJhIjoiY2w3bzFzZnZqMjdieTN1cG92N2I1d2huOSJ9.aQqMz4S-cTziUYizIH_gNg"
mapboxgl.accessToken = "pk.eyJ1IjoiYWlvb2lvbyIsImEiOiJjbHdhNHhxbTIwNjBiMmlxdGVpeDdnZzM4In0.vHK5bpeCj4sSK2POMI4y4Q"
map = initMap();
map.on('load', function () {
refreshLocation();

View File

@ -610,7 +610,7 @@
// mapDiv?.onmouseover = function(e){
// alert(e);
// }
mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
//mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
map = initMap();
map.on('load', () => {
@ -959,10 +959,9 @@
let splitLineString = turf.cleanCoords(turfSplitLine);
let splitPolygon = currentGeoJson.value;
try {
// let features = polygonCut(splitPolygon,splitLineString,0.1,"meters");
splitPolygon?.geometry.coordinates[0].forEach((item,index)=>{
splitPolygon.geometry.coordinates[0][index] = [item[0],item[1]];
})
@ -1407,6 +1406,8 @@
for (let i = 0; i < features.length; i++) {
try {
let featureTemp = WktToGeojson(features[i]?.mapgeom);
console.log("💩💩💩传入wkt转为geojson",featureTemp);
let feature = {
id: generateUUID(),
@ -1414,6 +1415,7 @@
properties: {},
geometry: featureTemp,
};
geo.features.push(feature);
//
if (i == 0) {
@ -1446,6 +1448,9 @@
};
const currentGeoJson = ref({});
const editGeoJson = ref({});
const handlerDetails = (
geojson,
source = 'detailsSource',
@ -1455,13 +1460,18 @@
fillStyle: { 'fill-color': '#fcf003', 'fill-opacity': 0.1 },
},
) => {
console.log("💩💩💩WKT处理为GeoJson后的数据",geojson);
editGeoJson.value = geojson;
let fillLayerName = layer + 'Fill';
let lineLayerName = layer + 'Line';
if (source == 'detailsSource' || source == "splitPolygonSource") {
//
let coordinates = null;
console.log("geojson123",geojson);
if (geojson.features.length>0 && geojson.features[0].geometry.type == 'MultiPolygon') { //
//
coordinates = geojson.features[0].geometry.coordinates[0];

View File

@ -143,7 +143,7 @@
const emit = defineEmits(['mapOnLoad', 'mapDraw']);
onMounted(() => {
mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
//mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
map = initMap();
map.on('load', () => {

View File

@ -48,7 +48,7 @@
//
const emit = defineEmits(['mapOnLoad', 'mapDraw']);
onMounted(() => {
mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
//mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
map = initMap();
map.on('load', () => {
//mapbox-gl-utils

View File

@ -164,53 +164,57 @@ export async function splitPolygonByMultiFill(drawPolygons,outerPolygon){
return new Promise((resolve,reject)=>{
try{
let dealOptions = {
precision: 7, // 小数点后保留位数
precision: 8, // 小数点后保留位数
coordinates: 3, // 小数点前保留位数
}
console.log("💩第1步传入的绘制面数据",drawPolygons);
console.log("💩第2步传入的被切割面数据",outerPolygon);
console.log("第1步传入的绘制面数据",drawPolygons);
console.log("第2步传入的被切割面数据",outerPolygon)
// 所有结果集合
let resultArray = [];
// 绘制图斑和分割图斑集合数组
// 绘制图斑和分割图斑数组集合
let featuresArray = [];
let turfOuterPolygon = null;
if(outerPolygon.geometry.type == "Polygon"){
if(outerPolygon.geometry.type == "Polygon"){
// 如果是单面
turfOuterPolygon = turf.polygon(outerPolygon.geometry.coordinates)
}else if(outerPolygon.geometry.type == "MultiPolygon"){
// 如果是多面
turfOuterPolygon = turf.multiPolygon(outerPolygon.geometry.coordinates)
}
featuresArray.push(turf.truncate(turfOuterPolygon,dealOptions));
console.log("💩第3步处理精度后的被分割图斑",featuresArray);
// 绘制图斑数组
let splitFeaturesArray = [];
console.log("原始数据处理精度后坐标",featuresArray);
// 求交集图斑
drawPolygons.forEach((item,index)=>{
try{
let splitPolygonItem = null;
if(item.geometry.type == "Polygon"){
// 如果分割图斑是单面
splitPolygonItem = turf.polygon(item.geometry.coordinates);
}else if(item.geometry.type == "MultiPolygon"){
// 如果分割图斑是多面
splitPolygonItem = turf.multiPolygon(item.geometry.coordinates);
}
console.log("splitPolygonItem",splitPolygonItem)
// 处理精度后绘制图斑
let turfPolygon = turf.truncate(splitPolygonItem,dealOptions);
// 取交集
// 打印处理的数据
console.log("HelloWorld",featuresArray[0],turfPolygon)
console.log("💩第4步处理精度后绘制图斑",turfPolygon);
let intersection = turf.intersect(turf.featureCollection([featuresArray[0],turfPolygon]));
// 取交集
let intersection = turf.intersect(turf.featureCollection([featuresArray[0],turfPolygon]),dealOptions);
if(intersection){
resultArray.push(intersection);
}
console.log("第3步:交集"+index+"",intersection)
console.log("💩第5步:交集"+index+"",intersection)
splitFeaturesArray.push(turfPolygon);
}catch(e){
console.log(e);
@ -219,13 +223,13 @@ export async function splitPolygonByMultiFill(drawPolygons,outerPolygon){
// 取差集
var difference = turf.difference(turf.featureCollection(featuresArray.concat(splitFeaturesArray)));
console.log("第4步:差集",difference);
console.log("💩第6步:差集",difference);
if(difference){
resultArray.push(difference);
}
// 全部图斑
console.log("第5步:分割后所有图斑",resultArray);
console.log("💩第7步:分割后所有图斑",resultArray);
resolve(resultArray)

View File

@ -1,5 +1,5 @@
export enum MapboxConfig {
ACCESS_TOKEN = 'pk.eyJ1IjoieHVqaW5nbGlhbmciLCJhIjoiY2w3bzFzZnZqMjdieTN1cG92N2I1d2huOSJ9.aQqMz4S-cTziUYizIH_gNg',
ACCESS_TOKEN = 'pk.eyJ1IjoiYWlvb2lvbyIsImEiOiJjbHdhNHhxbTIwNjBiMmlxdGVpeDdnZzM4In0.vHK5bpeCj4sSK2POMI4y4Q',
// ACCESS_TOKEN = "1234",
TDT_TOKEN = 'b6585bc41ee16251dbe6b1af64f375d9',
// add more config options here

View File

@ -13,7 +13,7 @@ const { width, height } = props
const mapId = `map-${uuidv4()}`
let map: Map;
onMounted(() => {
mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
//mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
map = initMap();
})
const initMap = () => {

View File

@ -15,7 +15,7 @@ import SearchMenu from './SearchMenu/index.vue'
import ResourceMenu from './ResourceMenu/index.vue'
let map: Map;
onMounted(() => {
mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
//mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
map = initMap();
})
onUnmounted(() => {

View File

@ -164,7 +164,7 @@
);
let map: Map;
onMounted(() => {
mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
//mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
// map = initMap();
});
onUnmounted(() => {

View File

@ -321,7 +321,7 @@
);
let map: Map;
onMounted(() => {
mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
//mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
// map = initMap();
});
onUnmounted(() => {

View File

@ -321,7 +321,7 @@
);
let map: Map;
onMounted(() => {
mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
//mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
// map = initMap();
});
onUnmounted(() => {

View File

@ -164,7 +164,7 @@
);
let map: Map;
onMounted(() => {
mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
//mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
// map = initMap();
getLoadDroneCaseInfoCount()
.then((res) => {

View File

@ -247,7 +247,7 @@
);
let map: Map;
onMounted(() => {
mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
//mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
// map = initMap();
getLoadDroneCaseInfoCount()
.then((res) => {

View File

@ -321,7 +321,7 @@
);
let map: Map;
onMounted(() => {
mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
//mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
// map = initMap();
getLoadDroneCaseInfoCount()
.then((res) => {

View File

@ -247,7 +247,7 @@
);
let map: Map;
onMounted(() => {
mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
//mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
// map = initMap();
getLoadDroneCaseInfoCount()
.then((res) => {

View File

@ -334,7 +334,7 @@
);
let map: Map;
onMounted(() => {
mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
//mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
// map = initMap();
getLoadDroneCaseInfoCount()
.then((res) => {

View File

@ -247,7 +247,7 @@
);
let map: Map;
onMounted(() => {
mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
//mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
// map = initMap();
getLoadDroneCaseInfoCount()
.then((res) => {

View File

@ -334,7 +334,7 @@
);
let map: Map;
onMounted(() => {
mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
//mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
// map = initMap();
getLoadDroneCaseInfoCount()
.then((res) => {

View File

@ -247,7 +247,7 @@
);
let map: Map;
onMounted(() => {
mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
//mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
// map = initMap();
getLoadDroneCaseInfoCount()
.then((res) => {

View File

@ -336,7 +336,7 @@
);
let map: Map;
onMounted(() => {
mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
//mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
// map = initMap();
getLoadDroneCaseInfoCount()
.then((res) => {

View File

@ -311,7 +311,7 @@
);
let map: Map;
onMounted(() => {
mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
//mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
// map = initMap();
});
onUnmounted(() => {

View File

@ -158,7 +158,7 @@ export const servicesColumns: BasicColumn[] = [
},
];
export const MAPBOX_TOKEN = "pk.eyJ1IjoieHVqaW5nbGlhbmciLCJhIjoiY2w3bzFzZnZqMjdieTN1cG92N2I1d2huOSJ9.aQqMz4S-cTziUYizIH_gNg";
export const MAPBOX_TOKEN = "pk.eyJ1IjoiYWlvb2lvbyIsImEiOiJjbHdhNHhxbTIwNjBiMmlxdGVpeDdnZzM4In0.vHK5bpeCj4sSK2POMI4y4Q";
export const TINADITU_TOKEN = "b6585bc41ee16251dbe6b1af64f375d9";

View File

@ -247,7 +247,7 @@
);
let map: Map;
onMounted(() => {
mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
//mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
// map = initMap();
getLoadDroneCaseInfoCount()
.then((res) => {

View File

@ -334,7 +334,7 @@
);
let map: Map;
onMounted(() => {
mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
//mapboxgl.accessToken = MapboxConfig.ACCESS_TOKEN;
// map = initMap();
getLoadDroneCaseInfoCount()
.then((res) => {

View File

@ -1,4 +1,4 @@
export const MAPBOX_TOKEN = "pk.eyJ1IjoieHVqaW5nbGlhbmciLCJhIjoiY2w3bzFzZnZqMjdieTN1cG92N2I1d2huOSJ9.aQqMz4S-cTziUYizIH_gNg";
export const MAPBOX_TOKEN = "pk.eyJ1IjoiYWlvb2lvbyIsImEiOiJjbHdhNHhxbTIwNjBiMmlxdGVpeDdnZzM4In0.vHK5bpeCj4sSK2POMI4y4Q";
export const TINADITU_TOKEN = "b6585bc41ee16251dbe6b1af64f375d9";

View File

@ -179,6 +179,7 @@
networkType.value = "WAN";
}finally{
map = initMap();
map.on('load', () => {
//mapbox-gl-utils
U.init(map);
@ -192,7 +193,7 @@
maxzoom: 13,
minzoom: 10,
});
// map.setTerrain({ source: 'mapbox-dem', exaggeration: 1 });
map.setTerrain({ source: 'mapbox-dem', exaggeration: 1 });
// 2D
map.easeTo({ pitch: 0, bearing: 0, duration: 1000 });

View File

@ -1,5 +1,5 @@
export enum MapboxConfig {
ACCESS_TOKEN = 'pk.eyJ1IjoieHVqaW5nbGlhbmciLCJhIjoiY2w3bzFzZnZqMjdieTN1cG92N2I1d2huOSJ9.aQqMz4S-cTziUYizIH_gNg',
ACCESS_TOKEN = 'pk.eyJ1IjoiYWlvb2lvbyIsImEiOiJjbHdhNHhxbTIwNjBiMmlxdGVpeDdnZzM4In0.vHK5bpeCj4sSK2POMI4y4Q',
// ACCESS_TOKEN = "1234",
TDT_TOKEN = 'b6585bc41ee16251dbe6b1af64f375d9',
// add more config options here

View File

@ -1,4 +1,4 @@
export const MAPBOX_TOKEN = "pk.eyJ1IjoieHVqaW5nbGlhbmciLCJhIjoiY2w3bzFzZnZqMjdieTN1cG92N2I1d2huOSJ9.aQqMz4S-cTziUYizIH_gNg";
export const MAPBOX_TOKEN = "pk.eyJ1IjoiYWlvb2lvbyIsImEiOiJjbHdhNHhxbTIwNjBiMmlxdGVpeDdnZzM4In0.vHK5bpeCj4sSK2POMI4y4Q";
export const TINADITU_TOKEN = "b6585bc41ee16251dbe6b1af64f375d9";

View File

@ -1,4 +1,4 @@
export const MAPBOX_TOKEN = "pk.eyJ1IjoieHVqaW5nbGlhbmciLCJhIjoiY2w3bzFzZnZqMjdieTN1cG92N2I1d2huOSJ9.aQqMz4S-cTziUYizIH_gNg";
export const MAPBOX_TOKEN = "pk.eyJ1IjoiYWlvb2lvbyIsImEiOiJjbHdhNHhxbTIwNjBiMmlxdGVpeDdnZzM4In0.vHK5bpeCj4sSK2POMI4y4Q";
export const TINADITU_TOKEN = "b6585bc41ee16251dbe6b1af64f375d9";

View File

@ -1,5 +1,5 @@
export enum MapboxConfig {
ACCESS_TOKEN = 'pk.eyJ1IjoieHVqaW5nbGlhbmciLCJhIjoiY2w3bzFzZnZqMjdieTN1cG92N2I1d2huOSJ9.aQqMz4S-cTziUYizIH_gNg',
ACCESS_TOKEN = 'pk.eyJ1IjoiYWlvb2lvbyIsImEiOiJjbHdhNHhxbTIwNjBiMmlxdGVpeDdnZzM4In0.vHK5bpeCj4sSK2POMI4y4Q',
// ACCESS_TOKEN = "1234",
TDT_TOKEN = 'b6585bc41ee16251dbe6b1af64f375d9',
// add more config options here