关于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 相关文章推荐
教你使用python画一朵花送女朋友
Mar 29 Python
Win10下python 2.7.13 安装配置方法图文教程
Sep 18 Python
Python异常处理知识点总结
Feb 18 Python
python整小时 整天时间戳获取算法示例
Feb 20 Python
Python3.5文件修改操作实例分析
May 01 Python
python接口调用已训练好的caffe模型测试分类方法
Aug 26 Python
pandas read_excel()和to_excel()函数解析
Sep 19 Python
python requests抓取one推送文字和图片代码实例
Nov 04 Python
PyTorch中的padding(边缘填充)操作方式
Jan 03 Python
超级详细实用的pycharm常用快捷键
May 12 Python
如何使用flask将模型部署为服务
May 13 Python
Python绘制地图神器folium的新人入门指南
May 23 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
PHP网站安装程序制作的原理、步骤、注意事项和示例代码
2010/08/01 PHP
php用header函数实现301跳转代码实例
2013/11/25 PHP
CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法
2015/12/17 PHP
菜单效果
2006/10/14 Javascript
JavaScript中“+=”的应用
2007/02/02 Javascript
javascript hasFocus使用实例
2010/06/29 Javascript
javascript中的变量作用域以及变量提升详细介绍
2013/10/24 Javascript
JavaScript对象的property属性详解
2014/04/01 Javascript
Json解析的方法小结
2016/06/22 Javascript
javascript中call,apply,bind函数用法示例
2016/12/19 Javascript
jQuery模拟淘宝购物车功能
2017/02/27 Javascript
vue中使用GraphQL的实例代码
2019/11/04 Javascript
vue项目打包后提交到git上为什么没有dist这个文件的解决方法
2020/09/16 Javascript
[01:56]林书豪DOTA2上海特级锦标赛励志短片
2016/03/05 DOTA
深入讲解Python中面向对象编程的相关知识
2015/05/25 Python
python记录程序运行时间的三种方法
2017/07/14 Python
Python简单实现控制电脑的方法
2018/01/22 Python
Windows下Python3.6安装第三方模块的方法
2018/11/22 Python
12个Python程序员面试必备问题与答案(小结)
2019/06/24 Python
Python pandas.DataFrame 找出有空值的行
2019/09/09 Python
python按顺序重命名文件并分类转移到各个文件夹中的实现代码
2020/07/21 Python
css3的动画特效之动画序列(animation)
2017/12/22 HTML / CSS
HTML5 canvas基本绘图之绘制曲线
2016/06/27 HTML / CSS
软件测试常见笔试题
2012/02/04 面试题
迟到检讨书900字
2014/01/14 职场文书
高中体育教学反思
2014/01/24 职场文书
职业女性的职业规划
2014/03/04 职场文书
优秀少先队大队辅导员事迹材料
2014/05/04 职场文书
战友聚会策划方案
2014/06/13 职场文书
2014领导班子四风问题查摆思想汇报
2014/09/13 职场文书
2014年稽查工作总结
2014/12/20 职场文书
春秋淹城导游词
2015/02/11 职场文书
研究生个人学年总结
2015/02/14 职场文书
酒吧七夕情人节宣传语
2015/11/24 职场文书
2016年秋季运动会通讯稿
2015/11/25 职场文书
大学军训通讯稿(2016最新版)
2015/12/21 职场文书