当前位置: 首页 > news >正文

vue+leaflet 区域划分_反向遮罩层

leaflet 区域划分_遮罩层

geojson在线生成器网址:(https://datav.aliyun.com/portal/school/atlas/area_selector)
点击前往阿里云geojson生成器
效果图:
在这里插入图片描述
实现下面效果,只需要把addSateLayer函数的调用取消掉就好了.
在这里插入图片描述

  //添加遮罩层代码function addMask() {var latlngs;var feature = geojsonMaskData['features'][0].geometry.coordinates;if (feature[0][0][0] instanceof Array) {latlngs = feature[0];} else {latlngs = feature;}// 创建外部主环(覆盖整个地图)const pNW = { lat: 90, lng: -180 };const pNE = { lat: 90, lng: 180 };const pSE = { lat: -90, lng: 180 };const pSW = { lat: -90, lng: -180 };const mainRing = [pNW,pNE,pSE,pSW,pNW, // 确保主环的顺序正确闭合];// 创建洞(需要保留的区域)const holes: any = [];latlngs.forEach((ring) => {const points = ring.map((v) => ({lat: Number(v[1]),lng: Number(v[0]),}));// 确保每个洞是一个闭合的环points.push(points[0]); // 闭合环holes.push(points);});// 将主环和洞合并为多边形数组(主环在第一层,洞在后续层)const polygonLayers = [mainRing, ...holes];// 创建多边形,直接传递多层数组(反向遮蔽层)const ahLayer = L.polygon(polygonLayers, {color: 'rgba(0,0,0)',fillColor: 'rgba(0,0,0)',fillOpacity: 0,className: 'maskLayer',});ahLayer.addTo(map.value);}

李沧区geojson数据

{"type": "FeatureCollection","features": [{"type": "Feature","properties": {"adcode": 370213,"name": "李沧区","center": [120.421236,36.160023],"centroid": [120.421969,36.185575],"childrenNum": 0,"level": "district","acroutes": [100000,370000,370200],"parent": {"adcode": 370200}},"geometry": {"type": "MultiPolygon","coordinates": [[[[120.343439,36.208342],[120.351532,36.202871],[120.353853,36.201732],[120.355992,36.201012],[120.358739,36.200332],[120.362336,36.196136],[120.368759,36.183053],[120.369296,36.180236],[120.369489,36.177758],[120.368855,36.176595],[120.366889,36.176199],[120.361554,36.176191],[120.359432,36.175638],[120.358251,36.174775],[120.356049,36.171161],[120.355894,36.169592],[120.355971,36.168181],[120.356903,36.16699],[120.356943,36.16606],[120.355876,36.164912],[120.351747,36.160893],[120.355703,36.159142],[120.37105,36.152447],[120.374222,36.151591],[120.377705,36.151284],[120.379207,36.1514],[120.382388,36.152589],[120.383489,36.152806],[120.383173,36.154553],[120.38851,36.154703],[120.392461,36.155015],[120.394156,36.154998],[120.395303,36.154744],[120.396996,36.154235],[120.398142,36.153689],[120.399727,36.152743],[120.400637,36.152051],[120.401783,36.150047],[120.402676,36.148026],[120.403111,36.146398],[120.403275,36.146111],[120.403406,36.145508],[120.403423,36.144692],[120.403787,36.143248],[120.404203,36.142352],[120.404715,36.141566],[120.404671,36.140713],[120.404386,36.139743],[120.405895,36.137644],[120.407483,36.136498],[120.409963,36.135371],[120.414361,36.134346],[120.416017,36.134382],[120.419129,36.134552],[120.419978,36.134358],[120.42115,36.135173],[120.425519,36.138107],[120.426143,36.13862],[120.426878,36.139318],[120.427694,36.140181],[120.428258,36.140859],[120.428872,36.141715],[120.429428,36.142737],[120.430047,36.144103],[120.430258,36.143948],[120.43217,36.143369],[120.433469,36.143036],[120.437489,36.142964],[120.439808,36.143019],[120.440126,36.143127],[120.440465,36.143438],[120.440577,36.143774],[120.44333,36.143627],[120.447703,36.143567],[120.449667,36.143559],[120.452386,36.143515],[120.452957,36.143564],[120.453267,36.143679],[120.454783,36.144804],[120.457111,36.14666],[120.458072,36.147523],[120.459118,36.148741],[120.460444,36.150129],[120.461585,36.150969],[120.462935,36.151888],[120.464303,36.152657],[120.466577,36.153829],[120.468903,36.154878],[120.469621,36.155128],[120.471395,36.155413],[120.472857,36.155602],[120.473289,36.155712],[120.474553,36.156189],[120.47494,36.15669],[120.475919,36.157216],[120.476922,36.157634],[120.477864,36.157742],[120.478712,36.157475],[120.479334,36.157446],[120.480061,36.157606],[120.480675,36.157814],[120.481323,36.157921],[120.482162,36.158203],[120.483174,36.158235],[120.483658,36.158455],[120.483857,36.158802],[120.484082,36.159638],[120.484324,36.159889],[120.485432,36.160361],[120.48568,36.160529],[120.485949,36.160948],[120.48608,36.161704],[120.486269,36.162192],[120.486675,36.162744],[120.487333,36.163317],[120.488077,36.163862],[120.49016,36.164792],[120.490835,36.165282],[120.491051,36.165651],[120.491145,36.166956],[120.491776,36.169134],[120.492176,36.170082],[120.492479,36.171268],[120.493809,36.175013],[120.494777,36.175486],[120.496497,36.175904],[120.498109,36.17646],[120.498632,36.176675],[120.498867,36.177122],[120.499515,36.177835],[120.501341,36.178501],[120.502783,36.17891],[120.50337,36.179301],[120.503691,36.179877],[120.503847,36.180743],[120.503303,36.182677],[120.501989,36.18432],[120.501746,36.185144],[120.502412,36.185423],[120.503026,36.185853],[120.504099,36.187632],[120.504401,36.188282],[120.504745,36.188694],[120.50588,36.189222],[120.506813,36.189858],[120.508212,36.191127],[120.508083,36.191456],[120.507323,36.192029],[120.507133,36.192284],[120.507002,36.192746],[120.506979,36.193629],[120.506813,36.194238],[120.506779,36.195529],[120.506883,36.196424],[120.507004,36.196974],[120.507185,36.197351],[120.507662,36.197937],[120.508016,36.198596],[120.509322,36.200645],[120.509857,36.201582],[120.510013,36.203426],[120.509997,36.204336],[120.510403,36.204909],[120.510792,36.206141],[120.510757,36.206734],[120.511007,36.208074],[120.511225,36.208771],[120.510653,36.208776],[120.508976,36.209057],[120.508043,36.209336],[120.506677,36.209852],[120.505838,36.209878],[120.505519,36.209751],[120.505346,36.209376],[120.505173,36.209342],[120.504765,36.209594],[120.504092,36.209853],[120.503036,36.210087],[120.502061,36.210425],[120.499847,36.210926],[120.498412,36.211429],[120.497778,36.211474],[120.49568,36.210777],[120.493433,36.210846],[120.492491,36.211759],[120.492187,36.212165],[120.492249,36.212643],[120.492689,36.213338],[120.492474,36.213622],[120.490917,36.214167],[120.488869,36.214238],[120.487182,36.214986],[120.485558,36.215552],[120.484492,36.215754],[120.484458,36.215264],[120.484175,36.214791],[120.483879,36.21458],[120.481424,36.213403],[120.480992,36.212665],[120.479876,36.211765],[120.479452,36.211052],[120.478891,36.210421],[120.478025,36.209924],[120.477238,36.209131],[120.475308,36.207681],[120.472273,36.204695],[120.471046,36.203864],[120.468562,36.20297],[120.466998,36.202031],[120.465907,36.201557],[120.465068,36.20101],[120.464358,36.200923],[120.463648,36.200972],[120.462136,36.201827],[120.461332,36.202078],[120.461028,36.202063],[120.460197,36.201812],[120.459279,36.201307],[120.459056,36.201048],[120.458596,36.199744],[120.45774,36.199793],[120.455879,36.199567],[120.45464,36.199626],[120.453984,36.199758],[120.453076,36.200201],[120.452764,36.200557],[120.452487,36.201239],[120.452322,36.201822],[120.452279,36.202681],[120.452183,36.202853],[120.451196,36.203276],[120.450046,36.204196],[120.448653,36.204602],[120.447442,36.205787],[120.445678,36.206962],[120.444045,36.20773],[120.443311,36.208045],[120.442344,36.208195],[120.440272,36.208327],[120.4395,36.208207],[120.438962,36.207577],[120.437507,36.205345],[120.433385,36.204589],[120.431479,36.204327],[120.429659,36.204036],[120.425742,36.203966],[120.425715,36.204757],[120.424695,36.20621],[120.424599,36.206852],[120.424668,36.207417],[120.424052,36.208113],[120.423646,36.209074],[120.423481,36.209998],[120.423473,36.210711],[120.424728,36.212863],[120.425128,36.213177],[120.426185,36.21367],[120.42693,36.214128],[120.428023,36.214969],[120.427407,36.216068],[120.426843,36.216091],[120.426516,36.216644],[120.426143,36.216788],[120.425891,36.2178],[120.425683,36.21805],[120.42595,36.218699],[120.425856,36.218801],[120.425346,36.218605],[120.423889,36.218718],[120.423429,36.218431],[120.422763,36.218349],[120.421487,36.218708],[120.421564,36.219221],[120.421437,36.219683],[120.421652,36.219844],[120.421687,36.220223],[120.420819,36.220443],[120.419963,36.220794],[120.419693,36.221072],[120.419755,36.221983],[120.419676,36.222241],[120.419156,36.222682],[120.417414,36.222392],[120.417143,36.223002],[120.417154,36.223845],[120.416833,36.224752],[120.416321,36.225119],[120.415237,36.225173],[120.414943,36.225541],[120.414873,36.226052],[120.414587,36.226212],[120.413857,36.2261],[120.413589,36.226188],[120.413337,36.226449],[120.413164,36.226863],[120.413302,36.228163],[120.41353,36.228792],[120.413443,36.228908],[120.411655,36.228824],[120.411299,36.229028],[120.410987,36.228936],[120.410875,36.228723],[120.41063,36.228779],[120.410289,36.230247],[120.409983,36.231705],[120.407226,36.231911],[120.406137,36.2318],[120.403673,36.231139],[120.402589,36.230779],[120.400115,36.230316],[120.397929,36.230439],[120.39733,36.230777],[120.3966,36.230821],[120.394856,36.230539],[120.396038,36.232075],[120.394066,36.231794],[120.39392,36.232644],[120.393086,36.232532],[120.393094,36.232325],[120.391298,36.231136],[120.390645,36.234162],[120.389613,36.233959],[120.389177,36.234154],[120.388552,36.234159],[120.388344,36.235078],[120.388302,36.236519],[120.387762,36.236537],[120.387241,36.23687],[120.387147,36.237682],[120.387035,36.237795],[120.385323,36.238434],[120.383725,36.238435],[120.383238,36.23836],[120.382804,36.238451],[120.382448,36.238248],[120.382639,36.237444],[120.381914,36.237422],[120.380545,36.237508],[120.379261,36.237471],[120.377618,36.237495],[120.377576,36.237622],[120.374734,36.237587],[120.374204,36.237558],[120.374004,36.237135],[120.372639,36.237143],[120.372485,36.237057],[120.371814,36.236296],[120.371485,36.235403],[120.371485,36.234939],[120.371225,36.234699],[120.369538,36.234209],[120.368772,36.233943],[120.369442,36.231504],[120.37084,36.231808],[120.37084,36.229927],[120.370798,36.229678],[120.370293,36.229143],[120.368633,36.229002],[120.367964,36.228639],[120.367876,36.228011],[120.367599,36.227786],[120.366278,36.22742],[120.365617,36.227148],[120.36507,36.227104],[120.364835,36.226896],[120.364835,36.226646],[120.365184,36.226506],[120.365592,36.225861],[120.365879,36.225613],[120.366451,36.225376],[120.366451,36.225269],[120.365426,36.223841],[120.363966,36.223983],[120.363583,36.223766],[120.363096,36.223846],[120.361829,36.223684],[120.360273,36.223542],[120.358784,36.223247],[120.35763,36.223161],[120.356055,36.223318],[120.355386,36.223648],[120.35403,36.223965],[120.353934,36.223669],[120.354333,36.223166],[120.349196,36.224231],[120.343439,36.208342]]]]}}]
}

页面完整代码

<template><div class="container"><!--  --><!-- <div class="mypanel"> </div> --><divstyle="width: 1920px;height: 1080px;background: url('/src/assets/img/资源展示6.jpg') 0% 0% / 100% 100% rgb(30, 30, 30);transform: scale(1, 1);transform-origin: 0px 0px;"><divid="map"tabindex="0"style="transform: perspective(1000px) rotateX(32deg) translateZ(222px) translateY(-50px)"></div></div><div@click="onTextBtn"style="position: absolute;top: 0;left: 0;width: 200px;height: 200px;border: 1px solid red;z-index: 99;color: red;">点击测试</div></div>
</template><script lang="ts" setup>import { ref, onMounted } from 'vue';import * as L from 'leaflet';import geojsonMaskData from './李沧区.json';const map = ref();const lng = ref(120.55971);const lat = ref(36.21125);let clickTimers: any = []; //存储区分点击地图双击和单击的定时器let baseMapLayerGroup: any = null; //地图图层组let tdtMapKey = ''; //天地图key,需要到天地图申请onMounted(() =>{init();});function init() {initMap();}function onTextBtn() {console.log('点击测试');}//async function initMap() {map.value = L.map('map', {crs: L.CRS.EPSG4326, //坐标系,在未知坐标系情况下,不要修改这里center: [lat.value, lng.value], //地图中心120.538900,36.189430// maxNativeZoom: 16, //地图瓦片放大最大级别// minNativeZoom: 5, //地图瓦片缩小最小级别maxZoom: 21, //地图放大最大级别minZoom: 5, //地图缩小最小级别zoom: 6, //地图当前级别attributionControl: false, //版本控件zoomControl: false, //地图缩放控件closePopupOnClick: true, //点击地图关闭popup弹窗trackResize: true, //地图根据浏览器更新boxZoom: true, //是否可以在按住shift拖地鼠标把地图缩放到指定的矩形区域doubleClickZoom: true, //是否双击放大地图dragging: true, //地图是否可以拖拽keyboard: true, //键盘是否可以操作地图keyboardPanDelta: 80, //键盘方向键按下时,地图平移像素scrollWheelZoom: true, //鼠标滚轮操作地图缩放wheelDebounceTime: 40, //鼠标滚轮触发限制,不得超过40毫秒一次wheelPxPerZoomLevel: 60, //鼠标滚动一次,地图滚动像素});//地图单击事件map.value.on('click', (e) => {//区分单击和双击,在单击添加延时,如果在300毫秒中触发了双击事件,则清除定时器,不触发单击事件let timer = window.setTimeout(() => {console.log(e.latlng, 'click');}, 300);clickTimers.push(timer);});//地图双击事件map.value.on('dblclick', (e) => {//判断定时器是否有数据,有则清除,只触发双击事件if (clickTimers.length > 0) {clickTimers.forEach((timer) => {window.clearTimeout(timer);});clickTimers = [];}console.log(e.latlng, 'dblclick');});await addSateLayer();await addVideoLayer();addMask();}/**底图*/function addSateLayer() {let layerType = 'img';let labelType = 'cia';if (!baseMapLayerGroup) {baseMapLayerGroup = new L.LayerGroup();baseMapLayerGroup.addTo(map.value);} else {baseMapLayerGroup.clearLayers();}var wMap = L.tileLayer(`https://t{s}.tianditu.gov.cn/DataServer?T=${layerType}_c&x={x}&y={y}&l={z}&tk=${tdtMapKey}`,{minZoom: 5,maxZoom: 21,maxNativeZoom: 17,minNativeZoom: 5,subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],zoomOffset: 1,tileSize: 256,},);var lMap = L.tileLayer(`https://t{s}.tianditu.gov.cn/DataServer?T=${labelType}_c&x={x}&y={y}&l={z}&tk=${tdtMapKey}`,{// subdomains: [0, 1, 2, 3, 4, 5, 6, 7],subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],transparent: true,zIndex: 3,zoomOffset: 1,minZoom: 5,maxZoom: 21,tileSize: 256,},);baseMapLayerGroup.addLayer(wMap);baseMapLayerGroup.addLayer(lMap);}//栅格图function addVideoLayer() {try {let bounds = L.latLngBounds([36.152447, 120.343439], [36.238434, 120.511225]); //根据对角坐标创建一个矩形区域L.imageOverlay('/src/assets/images/laoshan3d.png', bounds).addTo(map.value);} catch (error) {console.error('添加图层失败', error);}}//添加遮罩层代码function addMask() {var latlngs;var feature = geojsonMaskData['features'][0].geometry.coordinates;if (feature[0][0][0] instanceof Array) {latlngs = feature[0];} else {latlngs = feature;}// 创建外部主环(覆盖整个地图)const pNW = { lat: 90, lng: -180 };const pNE = { lat: 90, lng: 180 };const pSE = { lat: -90, lng: 180 };const pSW = { lat: -90, lng: -180 };const mainRing = [pNW,pNE,pSE,pSW,pNW, // 确保主环的顺序正确闭合];// 创建洞(需要保留的区域)const holes: any = [];latlngs.forEach((ring) => {const points = ring.map((v) => ({lat: Number(v[1]),lng: Number(v[0]),}));// 确保每个洞是一个闭合的环points.push(points[0]); // 闭合环holes.push(points);});// 将主环和洞合并为多边形数组(主环在第一层,洞在后续层)const polygonLayers = [mainRing, ...holes];// 创建多边形,直接传递多层数组(反向遮蔽层)const ahLayer = L.polygon(polygonLayers, {color: 'rgba(0,0,0)',fillColor: 'rgba(0,0,0)',fillOpacity: 0,className: 'maskLayer',});ahLayer.addTo(map.value);}
</script>
<style lang="scss" scoped>.mypanel {position: absolute;z-index: 1; /* 普通正数层级 */width: 1920px;height: 1080px;left: 0;top: 0;background: transparent;display: none;}body {margin: 0;padding: 0;height: 100%;-moz-osx-font-smoothing: grayscale;-webkit-font-smoothing: antialiased;text-rendering: optimizeLegibility;font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif;}.container {height: 100%;}#map {width: 1920px;height: 1080px;background: transparent;position: absolute;left: 0;top: 0;right: 0;bottom: 0;margin: auto;border: 0;z-index: 0;}
</style>

相关文章:

vue+leaflet 区域划分_反向遮罩层

leaflet 区域划分_遮罩层 geojson在线生成器网址:(https://datav.aliyun.com/portal/school/atlas/area_selector) 点击前往阿里云geojson生成器 效果图: 实现下面效果,只需要把addSateLayer函数的调用取消掉就好了. //添加遮罩层代码function addMask() {var latlngs;var fe…...

聊一聊原子操作和弱内存序

1、原子操作概念 在并发编程中&#xff0c;原子操作&#xff08;Atomic Operation&#xff09;是实现线程安全的基础机制之一。从宏观上看&#xff0c;原子操作是“不可中断”的单元&#xff0c;但若深入微观层面&#xff0c;其本质是由底层处理器提供的一组特殊指令来保证其原…...

免费送源码:Java+ssm+MySQL 校园二手书销售平台设计与实现 计算机毕业设计原创定制

摘 要 信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人们经常能够获得不同类型信息&#xff0c;这也是技术最为难以攻克的课题。针对校园二手书销售平台等问题&#xff0c;对校…...

DAPP实战篇:使用ethersjs连接智能合约并输入地址查询该地址余额

本系列目录 专栏:区块链入门到放弃查看目录-CSDN博客文章浏览阅读400次。为了方便查看将本专栏的所有内容列出目录,按照顺序查看即可。后续也会在此规划一下后续内容,因此如果遇到不能点击的,代表还没有更新。声明:文中所出观点大多数源于笔者多年开发经验所总结,如果你…...

14.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--CAP

CAP 是一款专为 .NET 生态设计的开源框架&#xff0c;其核心目标是解决微服务中跨服务数据一致性问题。在分布式系统中&#xff0c;传统事务无法跨服务保证数据一致性&#xff0c;CAP 通过本地事务与消息记录绑定&#xff0c;再利用消息中间件&#xff08;如 RabbitMQ、Kafka 等…...

智能资源管理机制-重传机制

一、发送端资源管理的核心机制 1. 滑动窗口&#xff08;Sliding Window&#xff09; 这是TCP协议的核心优化设计&#xff1a; 窗口动态滑动&#xff1a;发送端不需要保留所有已发送的分组&#xff0c;只需维护一个"发送窗口"窗口大小&#xff1a;由接收方通告的接…...

【Linux网络与网络编程】08.传输层协议 UDP

传输层协议负责将数据从发送端传输到接收端。 一、再谈端口号 端口号标识了一个主机上进行通信的不同的应用程序。在 TCP/IP 协议中&#xff0c;用 "源IP"&#xff0c;"源端口号"&#xff0c;"目的 IP"&#xff0c;"目的端口号"&…...

局域网下ESP32-S3 LED灯的UDP控制

在局域网下通过IP地址控制ESP32-S3上的LED&#xff0c;可以使用UDP或TCP协议。以下是一个基于UDP协议的完整示例&#xff0c;包括ESP32-S3的服务器代码和一个简单的Python客户端代码。 ESP32-S3 服务器代码 import socket import time import network import machineled Non…...

call、bind、apply

call、bind、apply它们三个都是函数的方法&#xff0c;都可以用于改变this的指向问题。 var person "liangxiao" let obj {name:"张三",say:function() {console.log(this.name);} }obj.say(); setTimeout(function() {obj.say(); },1000) obj.say()打…...

Redis 哨兵模式 搭建

1 . 哨兵模式拓扑 与 简介 本文介绍如何搭建 单主双从 多哨兵模式的搭建 哨兵有12个作用 。通过发送命令&#xff0c;让Redis服务器返回监控其运行状态&#xff0c;包括主服务器和从服务器。 当哨兵监测到master宕机&#xff0c;会自动将slave切换成master&#xff0c;然后通过…...

客户端负载均衡与服务器端负载均衡详解

客户端负载均衡与服务器端负载均衡详解 1. 客户端负载均衡&#xff08;Client-Side Load Balancing&#xff09; 核心概念 定义&#xff1a;负载均衡逻辑在客户端实现&#xff0c;客户端主动选择目标服务实例。典型场景&#xff1a;微服务内部调用&#xff08;如Spring Cloud…...

Ningx负载均衡

Ningx负载均衡 upstream(上游)配置负载均衡1、weight&#xff08;加权轮询&#xff09;2、ip_hash&#xff08;负载均衡&#xff09;3、url hash负载均衡4、least_conn&#xff08;最小连接负载均衡&#xff09; upstream(上游)配置负载均衡 Nginx负载均衡 参考: nginx从安装…...

头歌软件工程导论UML画图题(基于starUML)

一.结构化分析方法-数据流图 本关卡需要画图的一共有5关&#xff0c;直接将此图画好每关提交一次即可&#xff0c;以下的所有图均以此方法提交 二.面向对象分析之用例图 三.面向对象分析之类图 注意此处创建Class之后&#xff0c;双击Class出现以下选项 点击相应的选项创建属性…...

智能车摄像头开源—9 动态权、模糊PID、速度决策、路径优化

目录 一、前言 二、动态权 1.概述 2.偏差值加动态权 三、模糊PID 四、速度决策 1.曲率计算 2.速度拟合 3.速度控制 五、路径 六、国赛视频 一、前言 在前中期通过识别直道、弯道等元素可进行加减速操作实现速度的控制&#xff0c;可进一步缩减一圈的运行速度&#xff…...

java基础 this和super的介绍

this和super this关键字的用法super关键字的用法this与super的区别和注意事项 this关键字的用法 this是自身的一个对象&#xff0c;代表对象本身&#xff0c;可以理解为&#xff1a;指向对象本身的一个指针 class Person{private String name;private int age;public String …...

《Python星球日记》第25天:Pandas 数据分析

名人说&#xff1a;路漫漫其修远兮&#xff0c;吾将上下而求索。—— 屈原《离骚》 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 订阅专栏&#xff1a;《Python星球日记》 目录 一、引言二、数据分组与聚合1. 分组操…...

C++在Linux上生成动态库并调用接口测试

加减乘除demo代码 项目结构 CPP/ ├── calculator.cpp ├── calculator.h ├── main.cpp 头文件 #ifndef CALCULATOR_H #define CALCULATOR_H#ifdef __cplusplus extern "C" {#endifdouble add(double a, double b);double subtract(double a, double b…...

Cesium.js(6):Cesium相机系统

Camera表示观察场景的视角。通过操作摄像机&#xff0c;可以控制视图的位置、方向和角度。 帮助文档&#xff1a;Camera - Cesium Documentation 1 setView setView 方法允许你指定相机的目标位置和姿态。你可以通过 Cartesian3 对象来指定目标位置&#xff0c;并通过 orien…...

机器学习中的数学(PartⅡ)——线性代数:概述

首先引入代数和线性代数的概念&#xff1a; 在将一些直观的、基于经验或直觉的概念转化为严格的数学或逻辑定义时&#xff0c;一种常用方法是构建一组对象和一组操作这些对象的规则&#xff0c;这就是代数。线性代数是研究向量和某些操作向量的规则。 其次从更广泛的意义上定…...

基于双闭环PID控制器的永磁同步电机控制系统匝间故障Simulink仿真

欢迎微♥关注“电击小子程高兴的MATLAB小屋”获取巨额优惠 1.模型简介 本仿真模型基于MATLAB/Simulink&#xff08;版本MATLAB 2013Rb&#xff09;软件。建议采用matlab2013 Rb及以上版本打开。&#xff08;若需要其他版本可联系代为转换&#xff0c;高于该版本的matlab均可正…...

在51单片机上实现平滑呼吸灯:50us定时器PWM实战指南

在51单片机上实现平滑呼吸灯:50us定时器PWM实战指南 引言 本文将详细介绍如何在51单片机平台上,通过精确的50us定时器中断实现无闪烁的呼吸灯效果。相比常见的125us实现方案,50us定时器能提供更高的PWM频率和更细腻的亮度控制。 硬件设计 基本电路配置 主控芯片:SC92F8…...

asm汇编源代码之CPU型号检测

提供1个子程序: 1. CPU型号检测 CPUTYPE 无输入参数&#xff0c;返回值AX指示CPU类型(报歉,当时最新CPU型号只有80486) 函数的返回值详细描述如下 CPUTYPE PROC  FAR ;OUT: AX01, 8086; AX02, 80286; AX03, 80386; AX04, 80486 UP; ; more source code at http://www.ahj…...

提高课:数据结构之树状数组

1&#xff0c;楼兰图腾 #include<iostream> #include<cstring> #include<cstdio> #include<algorithm>using namespace std;typedef long long LL;const int N 200010;int n; int a[N]; int tr[N]; int Greater[N], lower[N];int lowbit(int x) {ret…...

python可变对象与不可变对象

文章目录 Python 中的可变对象与不可变对象不可变对象(Immutable Objects)可变对象(Mutable Objects)重要区别 Python 中的可变对象与不可变对象 在 Python 中&#xff0c;对象可以分为可变对象(mutable)和不可变对象(immutable)&#xff0c;这是 Python 中非常重要的概念&…...

C++学习之金融类安全传输平台项目git

目录 1.知识点概述 2.版本控制工具作用 3.git和SVN 4.git介绍 5.git安装 6.工作区 暂存区 版本库概念 7.本地文件添加到暂存区和提交到版本库 8.文件的修改和还原 9.查看提交的历史版本信息 10.版本差异比较 11.删除文件 12.本地版本管理设置忽略目录 13.远程git仓…...

果篮问题 Python

# 给你两个长度为 n 的整数数组&#xff0c;fruits 和 baskets&#xff0c;其中 fruits[i] 表示第 i 种水果的 数量&#xff0c;baskets[j] 表示第 j 个篮子的 容量。 # 你需要对 fruits 数组从左到右按照以下规则放置水果&#xff1a; # 每种水果必须放入第一个 容量大于等于 …...

Spring 是如何解决循环依赖的?

在使用 Spring 框架进行开发时&#xff0c;循环依赖是一个常见而棘手的问题。循环依赖指的是两个或多个 bean 之间的相互依赖&#xff0c;导致 Spring 容器无法正常创建这些 bean。下面将深入探讨 Spring 如何解决循环依赖问题&#xff0c;并提供一些最佳实践。 什么是循环依赖…...

部署NFS版StorageClass(存储类)

部署NFS版StorageClass存储类 NFS版PV动态供给StorageClass(存储类)基于NFS实现动态供应下载NFS存储类资源清单部署NFS服务器为StorageClass(存储类)创建所需的RBAC部署nfs-client-provisioner的deployment创建StorageClass使用存储类创建PVC NFS版PV动态供给StorageClass(存储…...

深入理解 PyTorch 的 nn.Embedding:词向量映射及变量 weight 的更新机制

文章目录 前言一、直接使用 nn.Embedding 获得变量1、典型场景2、示例代码&#xff1a;3、特点 二、使用 iou_token nn.Embedding(1, transformer_dim) 并访问 iou_token.weight1、典型场景2、示例代码&#xff1a;3、特点 三、第一种方法在模型更新中会更新其值吗&#xff1f…...

go语言内存泄漏的常见形式

go语言内存泄漏 子字符串导致的内存泄漏 使用自动垃圾回收的语言进行编程时&#xff0c;通常我们无需担心内存泄漏的问题&#xff0c;因为运行时会定期回收未使用的内存。但是如果你以为这样就完事大吉了&#xff0c;哪里就大错特措了。 因为&#xff0c;虽然go中并未对字符串…...

操作系统

操作系统 操作系统&#xff08;OperatingSystem&#xff0c;OS&#xff09;是指控制和管理整个计算机系统的硬件和软件资源&#xff0c;并合理地组织调度计算机的工作和资源的分配&#xff1b;以提供给用户和其他软件方便的接口和环境&#xff1b;它是计算机系统中最基本的系统…...

《JVM考古现场(十八):造化玉碟·用字节码重写因果律的九种方法》

"鸿蒙初判&#xff01;当前因果链突破十一维屏障——全体码农修士注意&#xff0c;《JVM考古现场&#xff08;十八&#xff09;》即将渡劫飞升&#xff01;" 目录 上卷阴阳交缠 第一章&#xff1a;混沌初开——JVM因果律的量子纠缠 第二章&#xff1a;诛仙剑阵改—…...

【2】k8s集群管理系列--包应用管理器之helm(Chart语法深入应用)

一、Chart模板&#xff1a;函数与管道 常用函数&#xff1a; • quote&#xff1a;将值转换为字符串&#xff0c;即加双引号 • default&#xff1a;设置默认值&#xff0c;如果获取的值为空则为默认值 • indent和nindent&#xff1a;缩进字符串 • toYaml&#xff1a;引用一…...

汇编获取二进制

mov_.S mov %r8d,0 nop执行命令&#xff1a; gcc -c mov_.S 会输出 mov_.o 文件&#xff1a;objdump -D mov_.o : mov_.o&#xff1a; 文件格式 elf64-x86-64Disassembly of section .text:0000000000000000 <.text>:0: 44 89 04 25 00 00 00 mov %r8d,0x0…...

《嵌套调用与链式访问:C语言中的函数调用技巧》

&#x1f680;个人主页&#xff1a;BabyZZの秘密日记 &#x1f4d6;收入专栏&#xff1a;C语言 &#x1f30d;文章目入 一、嵌套调用&#xff08;一&#xff09;定义&#xff08;二&#xff09;实现方式&#xff08;三&#xff09;优点&#xff08;四&#xff09;缺点 二、链式…...

txt、Csv、Excel、JSON、SQL文件读取(Python)

txt、Csv、Excel、JSON、SQL文件读取&#xff08;Python&#xff09; txt文件读写 创建一个txt文件 fopen(rtext.txt,r,encodingutf-8) sf.read() f.close() print(s)open( )是打开文件的方法 text.txt’文件名 在同一个文件夹下所以可以省略路径 如果不在同一个文件夹下 ‘…...

前端工程化之新晋打包工具

新晋打包工具 新晋打包工具前端模块工具的发展历程分类初版构建工具grunt使用场景 gulp采用管道机制任务化配置与api简洁 现代打包构建工具基石--webpack基于webpack改进的构建工具rollup 推荐举例说明package.jsonrollup.config.mjsmy-extract-css-rollup-plugin.mjssrc/index…...

Python语言介绍

Python 是一种高级、通用、解释型的编程语言&#xff0c;由 Guido van Rossum 于 1991 年首次发布。其设计哲学强调代码的可读性和简洁性。 Python通过简洁的语法和强大的生态系统&#xff0c;成为当今最受欢迎的编程语言之一。 一、核心特点 Python 是一种解释型、面向对象、…...

关于 Spring Boot 部署到 Docker 容器的详细说明,涵盖核心概念、配置步骤及关键命令,并附上表格总结

以下是关于 Spring Boot 部署到 Docker 容器的详细说明&#xff0c;涵盖核心概念、配置步骤及关键命令&#xff0c;并附上表格总结&#xff1a; 1. Docker 核心概念 概念描述关系镜像&#xff08;Image&#xff09;预定义的只读模板&#xff0c;包含运行环境和配置&#xff08…...

Tomcat 服务频繁崩溃的排查方法

# Tomcat 服务频繁崩溃排查方法 当Tomcat服务频繁崩溃时&#xff0c;可以按照以下步骤进行系统化排查&#xff1a; ## 1. 检查日志文件 **关键日志位置**&#xff1a; - catalina.out (标准输出和错误) - catalina.log (主日志) - localhost.log (应用相关日志) - host-mana…...

分布式系统-脑裂,redis的解决方案

感谢你的反馈&#xff01;很高兴能帮到你。关于你提到的“脑裂”&#xff08;split-brain&#xff09;&#xff0c;这是一个分布式系统中的常见术语&#xff0c;尤其在像 Redis Cluster 这样的高可用集群中会涉及。既然你问到了&#xff0c;我会从头解释“脑裂”的含义、Redis …...

MySQL InnoDB 索引与B+树面试题20道

1. B树和B+树的区别是什么? 数据存储位置: B树:所有节点(包括内部节点和叶子节点)均存储数据。 B+树:仅叶子节点存储数据,内部节点仅存储键值(索引)。 叶子节点结构: B+树:叶子节点通过双向链表连接,支持高效的范围查询。 查询稳定性: B+树:所有查询必须走到叶子…...

深入解析 Spring AI Alibaba 多模态对话模型:构建下一代智能应用的实践指南

一、多模态对话模型的技术演进 1.1 从单一文本到多模态交互 现代AI应用正经历从单一文本交互到多模态融合的革命性转变。根据Gartner预测&#xff0c;到2026年将有超过80%的企业应用集成多模态AI能力。Spring AI Alibaba 对话模型体系正是为这一趋势量身打造&#xff0c;其技…...

2025年ESWA SCI1区TOP:动态分类麻雀搜索算法DSSA,深度解析+性能实测

目录 1.摘要2.麻雀搜索算法SSA原理3.孤立微电网经济环境调度4.改进策略5.结果展示6.参考文献7.代码获取 1.摘要 污染物排放对环境造成负面影响&#xff0c;而可再生能源的不稳定性则威胁着微电网的安全运行。为了在保障电力供应可靠性的同时实现环境和经济目标的平衡&#xff…...

MySQL Error Log

MySQL Error Log Error Log 的开启Error Log 查看Error Log 滚动 MySQL Error Log MySQL主从复制&#xff1a;https://blog.csdn.net/a18792721831/article/details/146117935 MySQL Binlog&#xff1a;https://blog.csdn.net/a18792721831/article/details/146606305 MySQL Ge…...

让DeepSeek API支持联网搜索

引子 DeepSeek官网注册的API token是不支持联网搜索的&#xff0c;这导致它无法辅助分析一些最新的情况或是帮忙查一下互联网上的资料。本文从实战角度提供一种稳定可靠的方法使得DeepSeek R1支持联网搜索分析。 正文 首先登录火山方舟控制台&#xff0c;https://www.volcen…...

SQL 语句说明

目录 数据库和数据表什么是 SQL 语言数据操作语言&#xff08;DML&#xff09;1、SELECT 单表查询通过 WHERE 对原始数据进行筛选通过 聚合函数 获取汇总信息通过 ORDER BY 对结果排序通过 GROUP BY 对数据进行分组通过 HAVING 对分组结果进行筛选 2、SELECT 多表查询3、INSERT…...

PostgreSQL内幕探索—基础知识

PostgreSQL内幕探索—基础知识 PostgreSQL&#xff08;以下简称PG&#xff09; 起源于 1986 年加州大学伯克利分校的 ‌POSTGRES 项目‌&#xff0c;最初以对象关系模型为核心&#xff0c;支持高级数据类型和复杂查询功能‌。 1996 年更名为 PostgreSQL 并开源&#xff0c;逐…...

Springboot项目正常启动,访问资源却出现404错误如何解决?

我在自己的springboot项目中的启动类上同时使用了SprinBootApplication和ComponentScan注解, 虽然项目能够正常启动,但是访问资源后,返回404错误,随后在启动类中输出bean,发现controller创建失败: 而后我将ComponentScan去掉后资源就能访问到了. 原因 SprinBootApplication本身…...

MaxPooling层的作用(通俗解释)

MaxPooling层的作用&#xff08;通俗解释&#xff09; MaxPooling层是卷积神经网络中非常重要的组成部分&#xff0c;它的主要作用可以用以下几个简单的比喻来理解&#xff1a; 1. 信息压缩器&#xff08;降维作用&#xff09; 就像把一张高清照片缩小尺寸一样&#xff0c;M…...