​​​​​​​ARCGIS API for Python进行城市区域提取

简介: ​​​​​​​ARCGIS API for Python进行城市区域提取

ArcGIS API for Python主要用于Web端的扩展和开发,提供简单易用、功能强大的Python库,以及大数据分析能力,可轻松实现实时数据、栅格数据、空间数据等多源数据的接入和GIS分析、可视化,同时提供对平台的空间数据管理和组织管理功能。本篇博客将和大家分享,使用ArcGIS API for Python进行城市区域提取的方法和流程。


数据准备:

不同时期的landsat影像

一、关于栅格函数

在前面的博客“环境镶嵌数据集的渲染模板使用”,“环境镶嵌数据集栅格函数使用(一)”中我们已经介绍了在镶嵌数据集上配置栅格函数以及发布的方法,我们也可以直接通过ArcGIS API for Python在客户端来使用栅格函数,ArcGIS API for Python包含了很多栅格函数和分析工具,如下图所示:

微信截图_20230111102511.png


二、城市区域提取的流程

城市区域提取的流程如下图所示:

微信截图_20230111102518.png


三、脚本实现过程

  • 第一步:从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

微信截图_20230111102524.png


  • 第三步:计算不同年份的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
  • 微信截图_20230111102533.png

  • 第四步:城市建设用地提取


#生成不同年份的城市建设用地数据

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)

微信截图_20230111102542.png


欢迎大家留言,互相交流学习。

想了解ArcGIS最新的技术动态和最新的应用,请关注地理遥感生态网平台。

地理遥感生态网平台http://www.gisrs.cn主要由土地利用遥感监测数据、行政区划边界数据(行政村边界、乡镇街道边界、省市县边界)、气象数据(降雨量、气温、蒸散量、辐射、湿度、日照时数、风速、水汽压数据)、水文站点数据(径流量数据)、遥感数据(npp净初级生产力数据数据、NDVI数据、LAI叶面积指数、GPP初级生产力数据、地表温度LST数据、高精度遥感影像等)、土壤数据(土壤类型、土壤质地、土壤有机质、土壤PH值、土壤质地、土壤侵蚀、土壤NPK、土壤厚度土、土壤重金属含量分布、土壤含水量等)、POI兴趣点数据(餐饮服务、道路附属设施、地名地址信息、风景名胜、公共设施、公司企业、购物服务、交通设施服务、金融保险服务、科教文化服务、摩托车服务、汽车服务、汽车维修、汽车销售、商务住宅、生活服务、事件活动、体育休闲服务、通行设施、医疗保健服务、政府机构及社会团体、住宿服务等)、全国作物类型分布数据(大豆、玉米、水稻、甘蔗、小麦空间分布数据等)、生态系统服务空间数据集、中国湿地沼泽分类数据集、城市空气质量监测数据、中国水系流域空间分布数据集、中国道路空间分布数据、中国陆地生态系统类型分布数据、社会经济统计年鉴数据、中国GDP空间分布数据集、中国人口空间分布数据集、城市建筑轮廓空间分布数据、全国地质灾害空间分布数据(崩塌、塌陷、泥石流、地面沉降、地裂缝、滑坡、斜坡、地震等)、地质岩性分布图、地形地貌数字高程DEM数据(地貌类型矢量数据、12.5米高精度DEM数据等)、中国NDVI植被指数空间分布数据集、夜间灯光数据、三级流域矢量边界、植被类型分布、自然保护区分布、建筑轮廓分布等土地利用、生态环境、灾害监测、社会经济和气象气候系列数据。

相关文章
|
11天前
|
JSON 数据可视化 API
Python 中调用 DeepSeek-R1 API的方法介绍,图文教程
本教程详细介绍了如何使用 Python 调用 DeepSeek 的 R1 大模型 API,适合编程新手。首先登录 DeepSeek 控制台获取 API Key,安装 Python 和 requests 库后,编写基础调用代码并运行。文末包含常见问题解答和更简单的可视化调用方法,建议收藏备用。 原文链接:[如何使用 Python 调用 DeepSeek-R1 API?](https://apifox.com/apiskills/how-to-call-the-deepseek-r1-api-using-python/)
|
1月前
|
数据采集 供应链 API
Python爬虫与1688图片搜索API接口:深度解析与显著收益
在电子商务领域,数据是驱动业务决策的核心。阿里巴巴旗下的1688平台作为全球领先的B2B市场,提供了丰富的API接口,特别是图片搜索API(`item_search_img`),允许开发者通过上传图片搜索相似商品。本文介绍如何结合Python爬虫技术高效利用该接口,提升搜索效率和用户体验,助力企业实现自动化商品搜索、库存管理优化、竞品监控与定价策略调整等,显著提高运营效率和市场竞争力。
89 3
|
2月前
|
JavaScript API C#
【Azure Developer】Python代码调用Graph API将外部用户添加到组,结果无效,也无错误信息
根据Graph API文档,在单个请求中将多个成员添加到组时,Python代码示例中的`members@odata.bind`被错误写为`members@odata_bind`,导致用户未成功添加。
52 10
|
2月前
|
数据采集 JSON API
如何利用Python爬虫淘宝商品详情高级版(item_get_pro)API接口及返回值解析说明
本文介绍了如何利用Python爬虫技术调用淘宝商品详情高级版API接口(item_get_pro),获取商品的详细信息,包括标题、价格、销量等。文章涵盖了环境准备、API权限申请、请求构建和返回值解析等内容,强调了数据获取的合规性和安全性。
|
1月前
|
数据采集 JavaScript 前端开发
京东商品详情 API 接口指南(Python 篇)
本简介介绍如何使用Python抓取京东商品详情数据。首先,需搭建开发环境并安装必要的库(如requests、BeautifulSoup和lxml),了解京东反爬虫机制,确定商品ID获取方式。通过发送HTTP请求并解析HTML,可提取价格、优惠券、视频链接等信息。此方法适用于电商数据分析、竞品分析、购物助手及内容创作等场景,帮助用户做出更明智的购买决策,优化营销策略。
|
2月前
|
存储 API 数据库
使用Python开发获取商品销量详情API接口
本文介绍了使用Python开发获取商品销量详情的API接口方法,涵盖API接口概述、技术选型(Flask与FastAPI)、环境准备、API接口创建及调用淘宝开放平台API等内容。通过示例代码,详细说明了如何构建和调用API,以及开发过程中需要注意的事项,如数据库连接、API权限、错误处理、安全性和性能优化等。
167 5
|
2月前
|
API Python
【Azure Developer】分享一段Python代码调用Graph API创建用户的示例
分享一段Python代码调用Graph API创建用户的示例
68 11
|
2月前
|
JSON 安全 API
Python调用API接口的方法
Python调用API接口的方法
410 5
|
2月前
|
API Python
利用python淘宝/天猫获得淘宝app商品详情原数据 API
要使用Python获取淘宝/天猫商品详情原数据,需先注册开放平台账号并实名认证,创建应用获取API权限。随后,根据API文档构建请求URL和参数,使用requests库发送请求,处理返回的商品详情数据。注意遵守平台使用规则。
|
Python
用python偷懒Arcgis(地类编码转地类名称)
在二调中,小班的属性都是用的编码,本文以地类编码为例,如何利用python把代码转化为名称。 excel数据 这里需要整理一份分类系统表的数据,如图: python代码 # -*- coding: utf-8 -*- def getdl(j): import xlrd workbook = xlrd.
1963 0

热门文章

最新文章

推荐镜像

更多