关于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批量转换文件编码格式
May 17 Python
基于python yield机制的异步操作同步化编程模型
Mar 18 Python
python 读取excel文件生成sql文件实例详解
May 12 Python
详细解读tornado协程(coroutine)原理
Jan 15 Python
Go/Python/Erlang编程语言对比分析及示例代码
Apr 23 Python
python自动查询12306余票并发送邮箱提醒脚本
May 21 Python
django 使用 request 获取浏览器发送的参数示例代码
Jun 11 Python
Python字典对象实现原理详解
Jul 01 Python
详细介绍pandas的DataFrame的append方法使用
Jul 31 Python
用Python画小女孩放风筝的示例
Nov 23 Python
Anaconda配置pytorch-gpu虚拟环境的图文教程
Apr 16 Python
在spyder IPython console中,运行代码加入参数的实例
Apr 20 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 数组动态添加实现代码(最土团购系统的价格排序)
2011/12/30 PHP
PHP获取当前页面完整URL的实现代码
2013/06/10 PHP
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
2013/09/30 PHP
浅析ThinkPHP中的pathinfo模式和URL重写
2014/01/06 PHP
Yii输入正确验证码却验证失败的解决方法
2017/06/06 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
2017/09/16 PHP
PHP 计算至少是其他数字两倍的最大数的实现代码
2020/05/26 PHP
飞鱼(shqlsl) javascript作品集
2006/12/16 Javascript
Gird组件 Part-3:范例RSSFeed Viewer
2007/03/10 Javascript
js FLASH幻灯片字符串中有连接符&的处理方法
2012/03/01 Javascript
分析Node.js connect ECONNREFUSED错误
2013/04/09 Javascript
关于JS中的闭包浅谈
2013/08/23 Javascript
jQuery实现图片上传和裁剪插件Croppie
2015/11/29 Javascript
浅析JavaScript Array和string的转换(推荐)
2016/05/20 Javascript
canvas绘制多边形
2017/02/24 Javascript
js实现华丽的九九乘法表效果
2017/03/29 Javascript
easyui下拉框动态级联加载的示例代码
2017/11/29 Javascript
Moment.js实现多个同时倒计时
2019/08/26 Javascript
js利用拖放实现添加删除
2020/08/27 Javascript
[01:31:22]Ti4 循环赛第四日附加赛LGD vs Mouz
2014/07/13 DOTA
Python cookbook(数据结构与算法)实现优先级队列的方法示例
2018/02/18 Python
python实现抖音视频批量下载
2018/06/20 Python
基于python实现学生管理系统
2018/10/17 Python
关于PyTorch源码解读之torchvision.models
2019/08/17 Python
基于Django统计博客文章阅读量
2019/10/29 Python
小程序瀑布流解决左右两边高度差距过大的问题
2019/02/20 HTML / CSS
英国医生在线预约:Top Doctors
2019/10/30 全球购物
如何从一个文件档案的尾端新增记录
2016/12/02 面试题
西式婚礼主持词
2014/03/13 职场文书
初一新生军训方案
2014/05/22 职场文书
党员查摆四风问题思想汇报
2014/10/25 职场文书
售票员岗位职责
2015/02/15 职场文书
2015年小学开学寄语
2015/02/27 职场文书
导游词之鲁迅祖居
2019/10/17 职场文书
开发一个封装iframe的vue组件
2021/03/29 Vue.js
Python爬虫基础初探selenium
2021/05/31 Python