???????ARCGIS API for Python进行城市区域提取
2022/6/16 1:22:42
本文主要是介绍???????ARCGIS API for Python进行城市区域提取,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
ArcGIS API for Python主要用于Web端的扩展和开发,提供简单易用、功能强大的Python库,以及大数据分析能力,可轻松实现实时数据、栅格数据、空间数据等多源数据的接入和GIS分析、可视化,同时提供对平台的空间数据管理和组织管理功能。本篇博客将和大家分享,使用ArcGIS API for Python进行城市区域提取的方法和流程。
数据准备:
不同时期的landsat影像
一、关于栅格函数
在前面的博客“环境镶嵌数据集的渲染模板使用”,“环境镶嵌数据集栅格函数使用(一)”中我们已经介绍了在镶嵌数据集上配置栅格函数以及发布的方法,我们也可以直接通过ArcGIS API for Python在客户端来使用栅格函数,ArcGIS API for Python包含了很多栅格函数和分析工具,如下图所示:编辑搜图编辑
二、城市区域提取的流程
城市区域提取的流程如下图所示:编辑搜图编辑
三、脚本实现过程
-
第一步:从portal中获取需要进行分析的数据
-
第二步:计算不同年份的NDVI并进行二值化处理
-
# 应用ndvi栅格函数生成不同年份ndvi ndvi2000 = ndvi(selected2000,'4 3') ndvi2015 = ndvi(selected2015,'4 3') # ndvi二值化处理,设定阈值0,小于阈值为1表示裸地和水体,其余为0 ndvithreshold = 0 ndvi2000binarization = less_than([ndvi2000,ndvithreshold])*1+greater_than([ndvi2000,ndvithreshold])*0 ndvi2015binarization = less_than([ndvi2015,ndvithreshold])*1+greater_than([ndvi2015,ndvithreshold])*0
编辑搜图编辑
-
第三步:计算不同年份的NDBI并进行二值化处理
-
# 应用extract_band函数提取短波红外、近红外波段数据 swir = extract_band(selected2000,[5]) nearir = extract_band(selected2000,[4]) #计算不同年份的ndbi ndbi2000 = FLOAT([swir-nearir])/FLOAT([swir+nearir]) ndbi2015 = FLOAT([extract_band(selected2015,[5])-extract_band(selected2015,[4])])/FLOAT([extract_band(selected2015,[5])+extract_band(selected2015,[4])]) #ndbi二值化处理,设定阈值0,小于阈值为0,其余为1表示城市建设区域和低密度植被覆盖裸地,可以调整阈值 ndbi2000binarization = less_than([ndbi2000,0])*0+greater_than([ndbi2000,0])*1 ndbi2015binarization = less_than([ndbi2015,0.1])*0+greater_than([ndbi2015,0.1])*1
编辑搜图编辑
-
第四步:城市建设用地提取
#生成不同年份的城市建设用地数据 citybuildinguse2000 = ndvi2000binarization * ndbi2000binarization citybuildinguse2015 = ndvi2015binarization * ndbi2015binarization #计算不同年份的城市建设用地变化 buildinguse_diff = (citybuildinguse2015 - citybuildinguse2000) #变化结果重映射 threshold_val = 0.1 buildingusediff_remap = remap(buildinguse_diff,input_ranges=[threshold_val,1],output_values=[1],no_data_ranges=[-1,threshold_val],astype='u8') #变化结果颜色映射 buildingusediff_colormap = colormap(buildingusediff_remap,colormap=[[1,124,252,0]],astype='u8') #变化结果输出图片 from IPython.display import Image dataextent = '11541010.6342307,3538686.96622601,11614210.6342307,3628986.96622601' exportedimg = buildingusediff_colormap.export_image(bbox=dataextent,size=[1200,450],f='image') Image(exportedimg)
编辑搜图编辑
欢迎大家留言,互相交流学习。
想了解ArcGIS最新的技术动态和最新的应用,请关注地理遥感生态网平台。
地理遥感生态网平台www.gisrs.cn主要由土地利用遥感监测数据、行政区划边界数据(行政村边界、乡镇街道边界、省市县边界)、气象数据(降雨量、气温、蒸散量、辐射、湿度、日照时数、风速、水汽压数据)、水文站点数据(径流量数据)、遥感数据(npp净初级生产力数据数据、NDVI数据、LAI叶面积指数、GPP初级生产力数据、地表温度LST数据、高精度遥感影像等)、土壤数据(土壤类型、土壤质地、土壤有机质、土壤PH值、土壤质地、土壤侵蚀、土壤NPK、土壤厚度土、土壤重金属含量分布、土壤含水量等)、POI兴趣点数据(餐饮服务、道路附属设施、地名地址信息、风景名胜、公共设施、公司企业、购物服务、交通设施服务、金融保险服务、科教文化服务、摩托车服务、汽车服务、汽车维修、汽车销售、商务住宅、生活服务、事件活动、体育休闲服务、通行设施、医疗保健服务、政府机构及社会团体、住宿服务等)、全国作物类型分布数据(大豆、玉米、水稻、甘蔗、小麦空间分布数据等)、生态系统服务空间数据集、中国湿地沼泽分类数据集、城市空气质量监测数据、中国水系流域空间分布数据集、中国道路空间分布数据、中国陆地生态系统类型分布数据、社会经济统计年鉴数据、中国GDP空间分布数据集、中国人口空间分布数据集、城市建筑轮廓空间分布数据、全国地质灾害空间分布数据(崩塌、塌陷、泥石流、地面沉降、地裂缝、滑坡、斜坡、地震等)、地质岩性分布图、地形地貌数字高程DEM数据(地貌类型矢量数据、12.5米高精度DEM数据等)、中国NDVI植被指数空间分布数据集、夜间灯光数据、三级流域矢量边界、植被类型分布、自然保护区分布、建筑轮廓分布等土地利用、生态环境、灾害监测、社会经济和气象气候系列数据。
ArcGIS API for Python主要用于Web端的扩展和开发,提供简单易用、功能强大的Python库,以及大数据分析能力,可轻松实现实时数据、栅格数据、空间数据等多源数据的接入和GIS分析、可视化,同时提供对平台的空间数据管理和组织管理功能。本篇博客将和大家分享,使用ArcGIS API for Python进行城市区域提取的方法和流程。
数据准备:
不同时期的landsat影像
一、关于栅格函数
在前面的博客“环境镶嵌数据集的渲染模板使用”,“环境镶嵌数据集栅格函数使用(一)”中我们已经介绍了在镶嵌数据集上配置栅格函数以及发布的方法,我们也可以直接通过ArcGIS API for Python在客户端来使用栅格函数,ArcGIS API for Python包含了很多栅格函数和分析工具,如下图所示:编辑搜图编辑
二、城市区域提取的流程
城市区域提取的流程如下图所示:编辑搜图编辑
三、脚本实现过程
-
第一步:从portal中获取需要进行分析的数据
-
第二步:计算不同年份的NDVI并进行二值化处理
-
# 应用ndvi栅格函数生成不同年份ndvi ndvi2000 = ndvi(selected2000,'4 3') ndvi2015 = ndvi(selected2015,'4 3') # ndvi二值化处理,设定阈值0,小于阈值为1表示裸地和水体,其余为0 ndvithreshold = 0 ndvi2000binarization = less_than([ndvi2000,ndvithreshold])*1+greater_than([ndvi2000,ndvithreshold])*0 ndvi2015binarization = less_than([ndvi2015,ndvithreshold])*1+greater_than([ndvi2015,ndvithreshold])*0
编辑搜图编辑
-
第三步:计算不同年份的NDBI并进行二值化处理
-
# 应用extract_band函数提取短波红外、近红外波段数据 swir = extract_band(selected2000,[5]) nearir = extract_band(selected2000,[4]) #计算不同年份的ndbi ndbi2000 = FLOAT([swir-nearir])/FLOAT([swir+nearir]) ndbi2015 = FLOAT([extract_band(selected2015,[5])-extract_band(selected2015,[4])])/FLOAT([extract_band(selected2015,[5])+extract_band(selected2015,[4])]) #ndbi二值化处理,设定阈值0,小于阈值为0,其余为1表示城市建设区域和低密度植被覆盖裸地,可以调整阈值 ndbi2000binarization = less_than([ndbi2000,0])*0+greater_than([ndbi2000,0])*1 ndbi2015binarization = less_than([ndbi2015,0.1])*0+greater_than([ndbi2015,0.1])*1
编辑搜图编辑
-
第四步:城市建设用地提取
#生成不同年份的城市建设用地数据 citybuildinguse2000 = ndvi2000binarization * ndbi2000binarization citybuildinguse2015 = ndvi2015binarization * ndbi2015binarization #计算不同年份的城市建设用地变化 buildinguse_diff = (citybuildinguse2015 - citybuildinguse2000) #变化结果重映射 threshold_val = 0.1 buildingusediff_remap = remap(buildinguse_diff,input_ranges=[threshold_val,1],output_values=[1],no_data_ranges=[-1,threshold_val],astype='u8') #变化结果颜色映射 buildingusediff_colormap = colormap(buildingusediff_remap,colormap=[[1,124,252,0]],astype='u8') #变化结果输出图片 from IPython.display import Image dataextent = '11541010.6342307,3538686.96622601,11614210.6342307,3628986.96622601' exportedimg = buildingusediff_colormap.export_image(bbox=dataextent,size=[1200,450],f='image') Image(exportedimg)
编辑搜图编辑
欢迎大家留言,互相交流学习。
想了解ArcGIS最新的技术动态和最新的应用,请关注地理遥感生态网平台。
地理遥感生态网平台www.gisrs.cn主要由土地利用遥感监测数据、行政区划边界数据(行政村边界、乡镇街道边界、省市县边界)、气象数据(降雨量、气温、蒸散量、辐射、湿度、日照时数、风速、水汽压数据)、水文站点数据(径流量数据)、遥感数据(npp净初级生产力数据数据、NDVI数据、LAI叶面积指数、GPP初级生产力数据、地表温度LST数据、高精度遥感影像等)、土壤数据(土壤类型、土壤质地、土壤有机质、土壤PH值、土壤质地、土壤侵蚀、土壤NPK、土壤厚度土、土壤重金属含量分布、土壤含水量等)、POI兴趣点数据(餐饮服务、道路附属设施、地名地址信息、风景名胜、公共设施、公司企业、购物服务、交通设施服务、金融保险服务、科教文化服务、摩托车服务、汽车服务、汽车维修、汽车销售、商务住宅、生活服务、事件活动、体育休闲服务、通行设施、医疗保健服务、政府机构及社会团体、住宿服务等)、全国作物类型分布数据(大豆、玉米、水稻、甘蔗、小麦空间分布数据等)、生态系统服务空间数据集、中国湿地沼泽分类数据集、城市空气质量监测数据、中国水系流域空间分布数据集、中国道路空间分布数据、中国陆地生态系统类型分布数据、社会经济统计年鉴数据、中国GDP空间分布数据集、中国人口空间分布数据集、城市建筑轮廓空间分布数据、全国地质灾害空间分布数据(崩塌、塌陷、泥石流、地面沉降、地裂缝、滑坡、斜坡、地震等)、地质岩性分布图、地形地貌数字高程DEM数据(地貌类型矢量数据、12.5米高精度DEM数据等)、中国NDVI植被指数空间分布数据集、夜间灯光数据、三级流域矢量边界、植被类型分布、自然保护区分布、建筑轮廓分布等土地利用、生态环境、灾害监测、社会经济和气象气候系列数据。
这篇关于???????ARCGIS API for Python进行城市区域提取的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门