关于Python 的简单栅格图像边界提取方法


Posted in Python onJuly 05, 2019

在GIS中,栅格属性里有关于栅格自身的信息,背景(nodata value)对于识别一张图像的边界像元尤为重要,我们目的只要把每行每列中的第一次出现不是nodata的像元和最后一次出现nodata的前一个像元就可以了。

对于栅格,可以用ArcPy中的RasterToNumpyArray函数将将栅格转成numpy数组,然后就可以按照所想读取出每行列中首尾像元。

以下是部分代码提取边界像元的核心算法,其实是很简单的一个思路(假设0是nodata value)。

a=[[0 for col in range(Raster.width)]for row in range(Raster.height)]
 
for i in range(0,Raster.width):
... for j in range(0,Raster.height):
...  if(myRaster[j][i]!=0 and myRaster[j-1][i]==0):
...    a[j][i]=myRaster[j][i]
...  if(myRaster[j][i]==0 and myRaster[j-1][i]!=0):
...    a[j-1][i]=myRaster[j-1][i]
...    
 
 
for i in range(0,myRaster.height):
... for j in range(0,myRaster.width):
...  if(arr[i][j]!=0 and arr[i][j-1]==0):
...    a[i][j]=arr[i][j]
...  if(arr[i][j]==0 and arr[i][j-1]!=0):
...    a[i][j-1]=arr[i][j-1]

以上这篇关于Python 的简单栅格图像边界提取方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Eclipse + Python 的安装与配置流程
Mar 05 Python
PyTorch线性回归和逻辑回归实战示例
May 22 Python
python二进制文件的转译详解
Jul 03 Python
关于python导入模块import与常见的模块详解
Aug 28 Python
django-rest-swagger对API接口注释的方法
Aug 29 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
Sep 11 Python
python双端队列原理、实现与使用方法分析
Nov 27 Python
python循环嵌套的多种使用方法解析
Nov 29 Python
Python爬取腾讯视频评论的思路详解
Dec 19 Python
python3通过udp实现组播数据的发送和接收操作
May 05 Python
什么是python的必选参数
Jun 21 Python
python判断元素是否存在的实例方法
Sep 24 Python
Python3+Appium安装使用教程
Jul 05 #Python
Python叠加两幅栅格图像的实现方法
Jul 05 #Python
用vue.js组件模拟v-model指令实例方法
Jul 05 #Python
python买卖股票的最佳时机(基于贪心/蛮力算法)
Jul 05 #Python
Python 计算任意两向量之间的夹角方法
Jul 05 #Python
python实现两个经纬度点之间的距离和方位角的方法
Jul 05 #Python
Python3+Appium实现多台移动设备操作的方法
Jul 05 #Python
You might like
关于JS控制代码暂停的实现方法分享
2012/10/11 Javascript
基于jquery实现的树形菜单效果代码
2015/09/06 Javascript
js字符串截取函数slice、substring和substr的比较
2016/05/17 Javascript
浅谈vue路径优化之resolve
2017/10/13 Javascript
解决angularJS中input标签的ng-change事件无效问题
2018/09/13 Javascript
Django+vue跨域问题解决的详细步骤
2019/01/20 Javascript
JS将时间秒转换成天小时分钟秒的字符串
2019/07/10 Javascript
javascript使用正则表达式实现注册登入校验
2020/09/23 Javascript
在antd Table中插入可编辑的单元格实例
2020/10/28 Javascript
Vue实现购物小球抛物线的方法实例
2020/11/22 Vue.js
[49:54]Ti4 循环赛第三日 LGD vs Titan
2014/07/12 DOTA
[49:42]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第一局
2016/03/04 DOTA
[57:37]EG vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[49:35]KG vs SECRET 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
python使用多线程不断刷新网页的方法
2015/03/31 Python
Python中用Spark模块的使用教程
2015/04/13 Python
python爬虫框架talonspider简单介绍
2017/06/09 Python
朴素贝叶斯分类算法原理与Python实现与使用方法案例
2018/06/26 Python
Python实现一个数组除以一个数的例子
2019/07/20 Python
python 生成器和迭代器的原理解析
2019/10/12 Python
HTML5 form标签之解放表单验证、增加文件上传、集成拖放的使用方法
2013/04/24 HTML / CSS
Stuart Weitzman欧盟:美国奢华鞋履品牌
2017/05/24 全球购物
澳大利亚珍珠首饰购物网站:Vayo Pearls
2019/03/11 全球购物
Bibloo罗马尼亚网站:女装、男装、童装及鞋子和配饰
2019/07/20 全球购物
李维斯牛仔裤英国官方网站:Levi’s英国
2019/10/10 全球购物
全球烹饪课程的领先预订平台:Cookly
2020/01/28 全球购物
大一期末自我鉴定
2013/12/13 职场文书
培训协议书范本
2014/04/22 职场文书
公司经营目标责任书
2015/01/29 职场文书
小学教师工作总结2015
2015/04/07 职场文书
厉行节约工作总结
2015/08/12 职场文书
Python爬虫基础讲解之请求
2021/05/13 Python
SQL实现LeetCode(175.联合两表)
2021/08/04 MySQL
《最终幻想14》6.01版本4月5日推出 追加新任务新道具
2022/04/03 其他游戏
分析SQL窗口函数之取值窗口函数
2022/04/21 Oracle
React如何使用axios请求数据并把数据渲染到组件
2022/08/05 Javascript