✅ 博主简介:擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导,毕业论文、期刊论文经验交流。
✅ 具体问题可以私信或扫描文章底部二维码。
(1) 本文以安徽省宁国市为研究区,通过遥感(RS)和地理信息系统(GIS)技术对该区域的土地景观生态安全进行了动态评价研究。研究使用了2008年、2013年和2018年的遥感影像数据,结合DEM、行政边界数据、路网数据等进行全面的景观生态分析。宁国市的主要景观类型为林地和耕地,其中林地景观一直是宁国市的主要优势景观,占总面积的80%以上。研究发现,在2008至2018年间,林地景观面积达到最大值为210,897.58公顷,而耕地景观面积则减少了约6000公顷,占比减少了2.54%。与此同时,建设用地景观面积持续增长,尤其是在2008至2013年之间,建设用地景观面积增长了43.69%,这是宁国市快速发展的时期。水域景观则在10年内减少了1164.46公顷。各乡镇的景观类型分布表现出明显的差异性:港口镇的耕地占比最高,南山街道的城镇化程度最高,建设用地占比达到了27.88%;而南极乡、万家乡和胡乐镇等地区林地景观占比超过95%。
(2) 在景观格局指数的分析方面,本文选取了斑块数量(NP)、斑块密度(PD)等12个景观格局指数来评估宁国市的景观格局特征。结果表明,宁国市的斑块总数量在研究期间一直呈现增长趋势,但景观聚集度指数在减小,连接度逐渐减弱,斑块密度则先增加后减小,蔓延度指数保持在较高水平。香浓均匀度相对较低,林地景观起到了良好的连通作用,虽然高优势度景观降低了均匀度,但有助于保持生态系统的稳定性。耕地景观的斑块破碎度逐年增加,边缘密度也较大,表明其被人类活动干扰严重。林地景观斑块数量在2008至2018年翻了一番,斑块优势度大大超过了其他景观类型。建设用地景观的优势度逐年提高,斑块数量呈现出先增加后减少的倒“V”型趋势,2013年降到最低水平,随后又开始上升。水域景观的边缘密度则逐年减小,表明水域的边缘形状逐渐趋于规则。从整体上看,宁国市的景观呈现出逐渐分散和破碎化的趋势,但林地的优势地位使得其在连通性和生态稳定性上保持了一定的优势。
(3) 在景观生态安全评价方面,本文采用了景观结构、景观稳定性、景观功能和景观压力等四个方面的评价方法,对宁国市2618个1km×1km的评价单元进行时空分布分析。结果显示,在10年间,位于城市中心的港口镇、河沥溪街道、南山街道和汪溪街道呈现出相似的变化趋势,大面积的较高安全区逐渐向较低安全区和低安全区转化,说明人类活动对景观生态的影响日益加剧。西津街道和港口镇的景观生态安全水平最低,而汪溪街道的中高安全和高安全区面积减少最多。青龙乡则表现出良好的景观生态安全状况,其高安全区面积占总面积的80%以上。景观生态安全的空间自相关分析显示,宁国市的生态安全值在空间上存在一定的正相关性。2008至2018年间,莫兰指数先增加后减少,在2018年达到最高值0.6559,表明这一时期的空间分布相关性最强。从Moran散点图可以看到,2018年在“低—低”象限的散点图最为密集,显示出宁国市东北部地区生态安全较低,呈现出显著的“低—低”聚集特征。而“高—高”聚集区主要分布在宁国市的行政区周边,呈现出先减少后增加的趋势。
(4) 基于CA-Markov模型,本文以2018年为基准年对2028年的景观生态安全状况进行了模拟预测,结果显示宁国市的景观生态安全在未来10年间有明显的变化。Kappa系数为0.8293,表明模型预测精度较高。预测结果显示,宁国市的景观生态安全将大量向较高和中等安全区转化,高安全区的面积有所减少,这意味着未来10年宁国市在生态安全方面可能面临一定的挑战,但总体趋势仍然是向较高安全水平转化的。针对这一情况,本文根据2008至2028年的景观生态安全状况,为宁国市各个景观生态安全等级区域提出了具体的管理策略,以此为区域景观生态环境管理和土地利用规划编制提供科学依据。对于生态安全等级较低的区域,应加强生态恢复和管理,限制建设用地的无序扩展,优先进行植被恢复和水资源保护;对于生态安全较高的区域,应重点维持其现有的景观结构,避免过度开发导致生态退化。
import geopandas as gpd
import rasterio
import numpy as np
import matplotlib.pyplot as plt
from rasterio.plot import show
from sklearn.preprocessing import MinMaxScaler
# 读取遥感影像数据栅格文件
landscape_raster = 'ningguo_landscape_safety.tif'
with rasterio.open(landscape_raster) as src:
landscape_data = src.read(1)
profile = src.profile
# 对景观生态安全指数进行归一化处理
scaler = MinMaxScaler()
landscape_normalized = scaler.fit_transform(landscape_data.reshape(-1, 1)).reshape(landscape_data.shape)
# 设置景观生态安全的分类阈值,划分不同的等级
high_safety_threshold = 0.7
moderate_safety_threshold = 0.5
high_safety_mask = np.where(landscape_normalized >= high_safety_threshold, 1, 0)
moderate_safety_mask = np.where((landscape_normalized >= moderate_safety_threshold) & (landscape_normalized < high_safety_threshold), 1, 0)
low_safety_mask = np.where(landscape_normalized < moderate_safety_threshold, 1, 0)
# 计算不同等级景观生态安全区域的面积占比
total_area = landscape_data.size
high_safety_area = np.sum(high_safety_mask)
moderate_safety_area = np.sum(moderate_safety_mask)
low_safety_area = np.sum(low_safety_mask)
print(f"高生态安全区域占比: {(high_safety_area / total_area) * 100:.2f}%")
print(f"中等生态安全区域占比: {(moderate_safety_area / total_area) * 100:.2f}%")
print(f"低生态安全区域占比: {(low_safety_area / total_area) * 100:.2f}%")
# 显示景观生态安全等级图
fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(18, 6))
ax1.set_title('High Safety Areas')
show(high_safety_mask, ax=ax1, cmap='Greens')
ax2.set_title('Moderate Safety Areas')
show(moderate_safety_mask, ax=ax2, cmap='Oranges')
ax3.set_title('Low Safety Areas')
show(low_safety_mask, ax=ax3, cmap='Reds')
plt.show()
# 保存高安全区域为新的栅格文件
output_path = 'high_safety_areas.tif'
with rasterio.open(output_path, 'w', **profile) as dst:
dst.write(high_safety_mask.astype(rasterio.uint8), 1)