实验十三 生态安全评价

news2024/11/20 8:33:24

1 背景及目的

        生态安全是生态系统完整性和健康性的整体反映,完整健康的生态系统具有调节气候净化污染、涵养水源、保持水土、防风固沙、减轻灾害、保护生物多样性等功能。维护生态安全对于人类生产、生活、健康及可持续发展至关重要。随着城市化进程的不断推进,生态系统受到来自人类社会日益严重的威胁,保障生态安全作为迫切的社会需求已经成为人类社会可持续发展面临的新主题。因此,对区域生态安全水平进行评价,为改善区域生态问题的对策与措施提供参考具有重要的现实意义。

       通过本实验希望能够达到以下目的:

       ①掌握生态安全评价指标体系的构建与计算

       ②掌握景观指数移动窗口计算方法

       ③掌握突变模型在指标集成中的应用

2 实验步骤

2.1 数据的预处理

2.1.1 设置工作空间

添加数据:

地理处理-->环境设置:

对工作空间进行设置主要为方便管理过程中产生的数据,也方便自己找得到想要用的数据,更改到当前实验文件夹:

2.1.2 栅格数据的统一处理:栅格重采样

数据管理工具-->栅格--栅格处理-->重采样

这一步骤的作用在于本实验的统一栅格数据为10000m精度,但原数据土地利用数据为30m,因此采用重采样工具对土地利用数据进行处理,将分辨率更改为1000×1000:

2.2 生态服务能力指标计算

不同土地利用类型对应不同生态服务价值系数,利用重分类工具更改栅格中的值:

Spatial Analyst 工具-->重分类-->重分类

更改后如图:

2.3 生态敏感性指标计算

2.3.1 距道路距离的计算

Spatial Analyst 工具-->距离-->欧氏距离

在环境中对输出范围和坐标系进行设置:

结果(我也不懂为什么图是歪的):

以区域面数据为范围对得到的距道路距离栅格进行提取:

Spatial Analyst 工具-->提取分析-->按掩膜提取:

2.3.2 距城市距离

这一步骤可以得到土地利用的矢量数据,转换工具-->由栅格转出-->栅格转面:

右键打开土地利用类型的属性表,按属性筛选出对应值为80的数据:

将刚才选中的数据导出:

对图层进行编辑:

 选择面积较大的部分作为城市区域,再将其他区域进行删除,最后保存编辑结果:

打开建设用地属性表,刚才选择的地区都会进行高亮显示,然会选择结果进行反选删除不要的数据:

继续利用欧氏距离和按掩膜提取将处理过的建设用地设为输入栅格数据,得出距城市距离栅格数据结果:

结果:

右键属性调整一下色带:

结果:

2.3.3 植被覆盖

对土地利用数据进行重分类:Spatial Analyst 工具-->重分类-->重分类

结果:

 2.3.4 坡度

Spatial Analyst 工具-->表面分析-->坡度

结果:

右键土地利用,导出数据:

2.4 生态组织架构

打开fragstats,把上一步生成的文件导入:

 

创建一个记事本文件,文件后缀为fcd,输入如下内容,老实英文状态下手敲,不要文字识别,容易后面运行报错:

导入:

 设置分析参数:

勾选景观指数:

 

 

运行:

 报错了,查看下日志:

Error: No level selected for the analysis, please select at least one level.

提示没有为分析选择级别,倒回去看步骤,发现确实少勾选每一个条件:

再次运行,成功了,系统字自动生成一个文件夹:

文件位置: 

由于在Fragstats中空值会显示为-999,为不影响归一化结果,需要用“栅格计算器将空值去除

先把Fragstats中生成的6个景观指数加载进ArcMap:

利用栅格计算器去除计算出现的异常值:

Spatial Analyst 工具-->地图代数-->栅格计算器

 另外五个都是同样的操作:

2.5 突变模型

利用突变模型对指标体系进行架构

2.5.1 剔除水体

打开土地利用类型属性表,筛选出水体对应值为60的:

右键图层将水体数据导出:

取消上一步的选择:

使用分析工具中的擦除,将水体数据从土地利用数据中擦除:

分析工具-->叠加分析-->擦除

利用区域面的范围对得到的土地利用类型进行裁剪:

分析工具-->提取分析-->裁剪

批量处理14个指标数据--->按掩膜提取

Spatial Analyst 工具-->提取分析-->按掩膜提取

2.5.2 指标归一化

打开python:

写入代码前需要知道哪些是正向指标,哪些是负向指标,二者代码存在区别:

 

我按上图顺序将代码附上:

注意正向指标与负向指标的公式语句存在差别,代码我也分开放了:

//1 NDVI1  正向
import arcpy
from arcpy import env
from arcpy.sa import *

rawRaster="E:\\DengSL zuoye\\exp13\\exp13\\data_exp13\\Extract_NDVI1.tif"//需要归一化的数据所在位置,一定是上一步进行掩膜提取后的数据
NormalizedRasterpath="E:\\DengSL zuoye\\exp13\\guiyihua\\NDVI.tif"//归一化后的数据存放位置

maxValueDS=arcpy.GetRasterProperties_management(rawRaster,"MAXIMUM")
maxValue=maxValueDS.getOutput(0)
print"原栅格最大值:"+str(maxValue)

minValueDS=arcpy.GetRasterProperties_management(rawRaster,"MINIMUM")
minValue=minValueDS.getOutput(0)
print"原栅格最小值:"+str(minValue)

NormalizedRaster=(Raster(rawRaster)-float(minValue))/(float(maxValue)-float(minValue))
NormalizedRaster.save(NormalizedRasterpath)
print"归一化成功!"
//我的结果:原栅格最大值:0.89999997615814    原栅格最小值:0.11599999666214


//2 NPP2  正向
import arcpy
from arcpy import env
from arcpy.sa import *
rawRaster="E:\\DengSL zuoye\\exp13\\exp13\\data_exp13\\Extract_NPP2.tif"//NNP2
NormalizedRasterpath="E:\\DengSL zuoye\\exp13\\guiyihua\\NPP2.tif"
maxValueDS=arcpy.GetRasterProperties_management(rawRaster,"MAXIMUM")
maxValue=maxValueDS.getOutput(0)
print"原栅格最大值:"+str(maxValue)
minValueDS=arcpy.GetRasterProperties_management(rawRaster,"MINIMUM")
minValue=minValueDS.getOutput(0)
print"原栅格最小值:"+str(minValue)
NormalizedRaster=(Raster(rawRaster)-float(minValue))/(float(maxValue)-float(minValue))
NormalizedRaster.save(NormalizedRasterpath)
print"归一化成功!"
//我的结果:原栅格最大值:2049.6000976563  原栅格最小值:0


//3 生态服务价值   正向
import arcpy
from arcpy import env
from arcpy.sa import *
rawRaster="E:\\DengSL zuoye\\exp13\\exp13\\data_exp13\\Extract_Land_se1.tif"
NormalizedRasterpath="E:\\DengSL zuoye\\exp13\\guiyihua\\生态服务价值.tif" maxValueDS=arcpy.GetRasterProperties_management(rawRaster,"MAXIMUM")
maxValue=maxValueDS.getOutput(0)
print"原栅格最大值:"+str(maxValue)
minValueDS=arcpy.GetRasterProperties_management(rawRaster,"MINIMUM")
minValue=minValueDS.getOutput(0)
print"原栅格最小值:"+str(minValue)
NormalizedRaster=(Raster(rawRaster)-float(minValue))/(float(maxValue)-float(minValue))
NormalizedRaster.save(NormalizedRasterpath)
print"归一化成功!"
//我的结果:原栅格最大值:3149   原栅格最小值:0


//4 距城市距离   正向
import arcpy
from arcpy import env
from arcpy.sa import *
rawRaster="E:\\DengSL zuoye\\exp13\\exp13\\data_exp13\\Extract_城市距离掩膜提1.tif"
NormalizedRasterpath="E:\\DengSL zuoye\\exp13\\guiyihua\\距城市距离.tif"
maxValueDS=arcpy.GetRasterProperties_management(rawRaster,"MAXIMUM")
maxValue=maxValueDS.getOutput(0)
print"原栅格最大值:"+str(maxValue)
minValueDS=arcpy.GetRasterProperties_management(rawRaster,"MINIMUM")
minValue=minValueDS.getOutput(0)
print"原栅格最小值:"+str(minValue)
NormalizedRaster=(Raster(rawRaster)-float(minValue))/(float(maxValue)-float(minValue))
NormalizedRaster.save(NormalizedRasterpath)
print"归一化成功!"
//我的结果:原栅格最大值:60373.8359375   原栅格最小值:0


//5 距道路距离   正向
import arcpy
from arcpy import env
from arcpy.sa import *
rawRaster="E:\\DengSL zuoye\\exp13\\exp13\\data_exp13\\Extract_Extract1.tif"
NormalizedRasterpath="E:\\DengSL zuoye\\exp13\\guiyihua\\距道路距离.tif"
maxValueDS=arcpy.GetRasterProperties_management(rawRaster,"MAXIMUM")
maxValue=maxValueDS.getOutput(0)
print"原栅格最大值:"+str(maxValue)
minValueDS=arcpy.GetRasterProperties_management(rawRaster,"MINIMUM")
minValue=minValueDS.getOutput(0)
print"原栅格最小值:"+str(minValue)
NormalizedRaster=(Raster(rawRaster)-float(minValue))/(float(maxValue)-float(minValue))
NormalizedRaster.save(NormalizedRasterpath)
print"归一化成功!"
//我的结果:原栅格最大值:20396.078125   原栅格最小值:0


//6 植被覆盖   正向
import arcpy
from arcpy import env
from arcpy.sa import *
rawRaster="E:\\DengSL zuoye\\exp13\\exp13\\data_exp13\\Extract_植被覆盖1.tif"
NormalizedRasterpath="E:\\DengSL zuoye\\exp13\\guiyihua\\植被覆盖.tif"
maxValueDS=arcpy.GetRasterProperties_management(rawRaster,"MAXIMUM")
maxValue=maxValueDS.getOutput(0)
print"原栅格最大值:"+str(maxValue)
minValueDS=arcpy.GetRasterProperties_management(rawRaster,"MINIMUM")
minValue=minValueDS.getOutput(0)
print"原栅格最小值:"+str(minValue)
NormalizedRaster=(Raster(rawRaster)-float(minValue))/(float(maxValue)-float(minValue))
NormalizedRaster.save(NormalizedRasterpath)
print"归一化成功!"
//我的结果:原栅格最大值:4   原栅格最小值:0


//14 斑块连通度 正向
import arcpy
from arcpy import env
from arcpy.sa import *
rawRaster="E:\\DengSL zuoye\\exp13\\exp13\\data_exp13\\Extract_斑块连接度co1.tif"
NormalizedRasterpath="E:\\DengSL zuoye\\exp13\\guiyihua\\斑块连通度.tif"
maxValueDS=arcpy.GetRasterProperties_management(rawRaster,"MAXIMUM")
maxValue=maxValueDS.getOutput(0)
print"原栅格最大值:"+str(maxValue)
minValueDS=arcpy.GetRasterProperties_management(rawRaster,"MINIMUM")
minValue=minValueDS.getOutput(0)
print"原栅格最小值:"+str(minValue)
NormalizedRaster=(Raster(rawRaster)-float(minValue))/(float(maxValue)-float(minValue))
NormalizedRaster.save(NormalizedRasterpath)
print"归一化成功!"
//我的结果:原栅格最大值:100    原栅格最小值:20.166975021362

//7 降雨量   负向
import arcpy
from arcpy import env
from arcpy.sa import *
rawRaster="E:\\DengSL zuoye\\exp13\\exp13\\data_exp13\\Extract_降雨量1.tif"
NormalizedRasterpath="E:\\DengSL zuoye\\exp13\\guiyihua\\降雨量.tif"
maxValueDS=arcpy.GetRasterProperties_management(rawRaster,"MAXIMUM")
maxValue=maxValueDS.getOutput(0)
print"原栅格最大值:"+str(maxValue)
minValueDS=arcpy.GetRasterProperties_management(rawRaster,"MINIMUM")
minValue=minValueDS.getOutput(0)
print"原栅格最小值:"+str(minValue)
NormalizedRaster=(float(maxValue)-Raster(rawRaster))/(float(maxValue)-float(minValue))
NormalizedRaster.save(NormalizedRasterpath)
print"归一化成功!"
//我的结果:原栅格最大值:13948.84375    原栅格最小值:11076.044921875


//8 坡度   负向
import arcpy
from arcpy import env
from arcpy.sa import *
rawRaster="E:\\DengSL zuoye\\exp13\\exp13\\data_exp13\\Extract_Slope_D1.tif"
NormalizedRasterpath="E:\\DengSL zuoye\\exp13\\guiyihua\\坡度.tif"
maxValueDS=arcpy.GetRasterProperties_management(rawRaster,"MAXIMUM")
maxValue=maxValueDS.getOutput(0)
print"原栅格最大值:"+str(maxValue)
minValueDS=arcpy.GetRasterProperties_management(rawRaster,"MINIMUM")
minValue=minValueDS.getOutput(0)
print"原栅格最小值:"+str(minValue)
NormalizedRaster=(float(maxValue)-Raster(rawRaster))/(float(maxValue)-float(minValue))
NormalizedRaster.save(NormalizedRasterpath)
print"归一化成功!"
//我的结果:原栅格最大值:30.61713218689    原栅格最小值:0


//9 斑块密度   负向
import arcpy
from arcpy import env
from arcpy.sa import *
rawRaster="E:\\DengSL zuoye\\exp13\\exp13\\data_exp13\\Extract_板块破碎度1.tif"
NormalizedRasterpath="E:\\DengSL zuoye\\exp13\\guiyihua\\斑块密度.tif"
maxValueDS=arcpy.GetRasterProperties_management(rawRaster,"MAXIMUM")
maxValue=maxValueDS.getOutput(0)
print"原栅格最大值:"+str(maxValue)
minValueDS=arcpy.GetRasterProperties_management(rawRaster,"MINIMUM")
minValue=minValueDS.getOutput(0)
print"原栅格最小值:"+str(minValue)
NormalizedRaster=(float(maxValue)-Raster(rawRaster))/(float(maxValue)-float(minValue))
NormalizedRaster.save(NormalizedRasterpath)
print"归一化成功!"
//我的结果:原栅格最大值:0.77777779102325    原栅格最小值:0.11111111193895


//10 边缘密度   负向
import arcpy
from arcpy import env
from arcpy.sa import *
rawRaster="E:\\DengSL zuoye\\exp13\\exp13\\data_exp13\\Extract_边缘密度ED1.tif"
NormalizedRasterpath="E:\\DengSL zuoye\\exp13\\guiyihua\\边缘密度.tif"
maxValueDS=arcpy.GetRasterProperties_management(rawRaster,"MAXIMUM")
maxValue=maxValueDS.getOutput(0)
print"原栅格最大值:"+str(maxValue)
minValueDS=arcpy.GetRasterProperties_management(rawRaster,"MINIMUM")
minValue=minValueDS.getOutput(0)
print"原栅格最小值:"+str(minValue)
NormalizedRaster=(float(maxValue)-Raster(rawRaster))/(float(maxValue)-float(minValue))
NormalizedRaster.save(NormalizedRasterpath)
print"归一化成功!" 
//我的结果:原栅格最大值:13.333333015442   原栅格最小值:0


//11 面积加权平均形状指数  负向
import arcpy
from arcpy import env
from arcpy.sa import *
rawRaster="E:\\DengSL zuoye\\exp13\\exp13\\data_exp13\\Extract_面积平均加权形1.tif"
NormalizedRasterpath="E:\\DengSL zuoye\\exp13\\guiyihua\\面积加权平均形状指数.tif"
maxValueDS=arcpy.GetRasterProperties_management(rawRaster,"MAXIMUM")
maxValue=maxValueDS.getOutput(0)
print"原栅格最大值:"+str(maxValue)
minValueDS=arcpy.GetRasterProperties_management(rawRaster,"MINIMUM")
minValue=minValueDS.getOutput(0)
print"原栅格最小值:"+str(minValue)
NormalizedRaster=(float(maxValue)-Raster(rawRaster))/(float(maxValue)-float(minValue))
NormalizedRaster.save(NormalizedRasterpath)
print"归一化成功!" 
//我的结果:原栅格最大值:2   原栅格最小值:1


//12 香农多样性指数   负向
import arcpy
from arcpy import env
from arcpy.sa import *
rawRaster="E:\\DengSL zuoye\\exp13\\exp13\\data_exp13\\Extract_香农多样性SH1.tif"
NormalizedRasterpath="E:\\DengSL zuoye\\exp13\\guiyihua\\香农多样性.tif"
maxValueDS=arcpy.GetRasterProperties_management(rawRaster,"MAXIMUM")
maxValue=maxValueDS.getOutput(0)
print"原栅格最大值:"+str(maxValue)
minValueDS=arcpy.GetRasterProperties_management(rawRaster,"MINIMUM")
minValue=minValueDS.getOutput(0)
print"原栅格最小值:"+str(minValue)
NormalizedRaster=(float(maxValue)-Raster(rawRaster))/(float(maxValue)-float(minValue))
NormalizedRaster.save(NormalizedRasterpath)
print"归一化成功!" 
//我的结果:原栅格最大值:1.6769877672195   原栅格最小值:0


//13 斑块平均距离 负向
import arcpy
from arcpy import env
from arcpy.sa import *
rawRaster="E:\\DengSL zuoye\\exp13\\exp13\\data_exp13\\Extract_斑块平均距离E1.tif"
NormalizedRasterpath="E:\\DengSL zuoye\\exp13\\guiyihua\\斑块平均距离.tif"
maxValueDS=arcpy.GetRasterProperties_management(rawRaster,"MAXIMUM")
maxValue=maxValueDS.getOutput(0)
print"原栅格最大值:"+str(maxValue)
minValueDS=arcpy.GetRasterProperties_management(rawRaster,"MINIMUM")
minValue=minValueDS.getOutput(0)
print"原栅格最小值:"+str(minValue)
NormalizedRaster=(float(maxValue)-Raster(rawRaster))/(float(maxValue)-float(minValue))
NormalizedRaster.save(NormalizedRasterpath)
print"归一化成功!" 
//我的结果:原栅格最大值:2828.4272460938    原栅格最小值:0

2.5.3 突变模型

突变模型对于不同数量变量有不同的归一化公式

观察上面两个图,先算B级指数,即活力B1、经济压力B3、自然生态B4、景观破碎度B5、景观连通度B6。

如何去计算这几个指数?则根据指标数量(控制变量数量)来带入公式,此处以景观破碎都B5为例,由图可知景观破碎度B5具有斑块密度C9、边缘密度C10、面颊加权平均形状指数C11、香浓多样性指数C12这四个控制变量,那么带入的公式为:

              (Power(x_{1},0.5)+Power(x_{2},0.333)+Power(x_{3},0.25)+Power(x_{4},0.2))/4

接下来打开栅格计算器:

Spatial Analyst 工具-->地图代数-->栅格计算器

结果:

以此类推得活力B1:

社会经济压力B3:

自然生态B4:

景观连通度B6:

生态服务能力:

 生态敏感性A2:

生态安全指数:

所有数据计算完毕,调整细节出图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2243931.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

怎样实现跨部门和跨地区的数据共享?

随着企业规模的扩大和业务的多样化,不同部门和地区之间的数据共享变得越来越重要。实时数据同步作为保证数据准确性和完整性的重要手段,被广泛应用于各行各业。那不同部门和不同地区怎么实现共享数据呢? 一、前期数据准备 前期数据上需要建…

国家工信安全中心:公共数据授权运营平台技术要求(附下载)

2023年11月23日,第二届全球数字贸易博览会“数据要素治理与市场化论坛”于杭州成功召开,国家数据局党组书记、局长刘烈宏,浙江省委常委、常务副省长徐文光出席会议并致辞。会上,国家工业信息安全发展研究中心(以下简称…

C语言数据结构——详细讲解 双链表

从单链表到双链表:数据结构的演进与优化 前言一、单链表回顾二、单链表的局限性三、什么是双链表四、双链表的优势1.双向遍历2.不带头双链表的用途3.带头双链表的用途 五、双链表的操作双链表的插入操作(一)双链表的尾插操作(二&a…

【ArcGISPro】地理配准-影像校正

由于大部分数据安全性,以下是随意下载的图片,仅展示配置操作 地图-地理配准 添加控制点 修改控制点 可以导入、导出、添加和删除控制点 保存 关闭地理配准

ReNamer Pro 7.5 中文绿色便携专业版-文件重命名工具

前言 我们日常生活和工作中所涉及的文件数量日益增多。无论是图片、音频、视频还是各种文档,这些文件在存储、管理和分享时,都需要有一个清晰、有序的文件命名规则。然而,手动重命名大量文件不仅耗时耗力,而且容易出错&#xff0c…

PgSQL即时编译JIT | 第1期 | JIT初识

PgSQL即时编译JIT | 第1期 | JIT初识 JIT是Just-In-Time的缩写,也就是说程序在执行的时候生成可以执行的代码,然后执行它。在介绍JIT之前,需要说下两种执行方式:解释执行和编译执行。其中解释执行是通过解释器,将代码逐…

力扣-Hot100-数组【算法学习day.37】

前言 ###我做这类文档一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴&am…

DataStream编程模型之数据源、数据转换、数据输出

Flink之DataStream数据源、数据转换、数据输出(scala) 0.前言–数据源 在进行数据转换之前,需要进行数据读取。 数据读取分为4大部分: (1)内置数据源; 又分为文件数据源; socket…

爬虫开发工具与环境搭建——使用Postman和浏览器开发者工具

第三节:使用Postman和浏览器开发者工具 在网络爬虫开发过程中,我们经常需要对HTTP请求进行测试、分析和调试。Postman和浏览器开发者工具(特别是Network面板和Console面板)是两种最常用的工具,能够帮助开发者有效地捕…

vue2侧边导航栏路由

<template><div><!-- :default-active"$route.path" 和index对应其路径 --><el-menu:default-active"active"class"el-menu-vertical-demo"background-color"#545c64"text-color"#fff"active-text-col…

时代变迁对传统机器人等方向课程的巨大撕裂

2020年之后&#xff0c;全面转型新质课程规划&#xff0c;传统课程规划全部转为经验。 农耕-代表性生产关系-封建分配制度主要生产力-人力工业-代表性生产关系-资本分配制度工业分为机械时代&#xff0c;电气时代&#xff0c;信息时代&#xff1b;主要生产力-人力转为人脑&…

JVM类加载过程-Loading

一、Class对象的生命周期 .class文件是如何加载到内存中:.class文件是ClassLoader通过IO将文件读到内存,再通过双亲委派的模式进行Loading,再Linking、以及Initializing,代码调用等一系列操作后,进行GC,组成完整的生命周期; 二、双亲委派模式(Loading的过程): 1、类…

BERT--公认的里程碑

前言 如果说&#xff0c;让我选Transformer架构的哪个模型最深入人心&#xff0c;我将毫不犹豫的选择BERT&#xff01; BERT 的意义在于&#xff0c;从大量无标记的数据集中训练得到的深度模型&#xff0c;可以限制提高各项自然语言处理任务的准确率。 BERT 在当时&#xff0…

<项目代码>YOLOv8 瞳孔识别<目标检测>

YOLOv8是一种单阶段&#xff08;one-stage&#xff09;检测算法&#xff0c;它将目标检测问题转化为一个回归问题&#xff0c;能够在一次前向传播过程中同时完成目标的分类和定位任务。相较于两阶段检测算法&#xff08;如Faster R-CNN&#xff09;&#xff0c;YOLOv8具有更高的…

每日OJ题_牛客_天使果冻_递推_C++_Java

目录 牛客_天使果冻_递推 题目解析 C代码 Java代码 牛客_天使果冻_递推 天使果冻 描述&#xff1a; 有 n 个果冻排成一排。第 i 个果冻的美味度是 ai。 天使非常喜欢吃果冻&#xff0c;但她想把最好吃的果冻留到最后收藏。天使想知道前 x个果冻中&#xff0c;美味…

果韵 2.0.1| 听歌神器,双端支持,支持下载歌曲和歌词

果韵是一款支持Windows和安卓双端的音乐播放器&#xff0c;支持自定义音源&#xff0c;界面简洁。用户可以通过缓存下载歌曲和歌词。为了使用这些功能&#xff0c;需要先进行音源导入。通过设置中的存储设置&#xff0c;将缓存文件夹移动到download目录下&#xff0c;之后缓存的…

Allegro从.brd文件中导出器件ball map

Step 1&#xff08;可选&#xff09;&#xff1a;设置网络颜色 Step2&#xff1a;File->Export->Symbol Spreadsheet\ Step3&#xff1a;Primary text选择Net Name Step 4&#xff1a;在.brd所有文件夹下生成一个ball map文件&#xff0c;其中网络颜色与Step 1一致。ba…

Docker入门之Windows安装Docker初体验

在之前我们认识了docker的容器&#xff0c;了解了docker的相关概念&#xff1a;镜像&#xff0c;容器&#xff0c;仓库&#xff1a;面试官让你介绍一下docker&#xff0c;别再说不知道了 之后又带大家动手体验了一下docker从零开始玩转 Docker&#xff1a;一站式入门指南&#…

家庭网络常识:猫与路由器

这张图大家应该不陌生——以前家庭网络的连接方式。 图1 家庭网络连接示意图 来说说猫/光猫&#xff1a; 先看看两者的图片。 图2 猫 图3 光猫 这个东西因为英文叫“modem”&#xff0c;类似中文的“猫”&#xff0c;所以简称“猫”。 猫和光猫的区别就是&#xff0c;一…

三种复制只有阅读权限的飞书网络文档的方法

大家都知道&#xff0c;飞书是一款功能强大的在线协作工具&#xff0c;可以帮助团队更高效地协作和沟通。越来越多的资料都在使用飞书文档&#xff0c;在使用飞书的过程中&#xff0c;发现很多文档没有复制权限&#xff0c;如果想要摘抄笔记&#xff0c;只能一个字一个字地敲出…