温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

GIS开发中如何使用开源影像切割

发布时间:2022-01-13 16:24:46 来源:亿速云 阅读:129 作者:小新 栏目:大数据

这篇文章主要介绍GIS开发中如何使用开源影像切割,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

在影像数据的使用过程中,有时候需要根据一个坐标范围,将影像数据进行切割,常用的使用arcmap等工具可进行切割,下边介绍一个使用开源的类库进行影像切割,开发的语言为python。

开源库的名称为:rasterio,github的网址为:https://github.com/mapbox/rasterio,rasterio是一个专门的影像处理类库,有各种影像处理函数,具体可参见网站上的说明。

下边简单说一下,使用rasterio做一个简单的影像数据切割。

开发之前,准备一个基础影像,一个切割影像的面状矢量数据,这里准备了一个shp文件,要保证矢量切割数据和影像数据的坐标系保持一致。

具体的python代码如下:

import fiona
import rasterio
import rasterio.mask
#fiona打开shp文件,使用conda或者pip进行安装
#以只读的形式打开一个shp文件
with fiona.open("矢量文件路径clipdata.shp","r") as shapfile:
   #循环遍历shp文件的面状坐标信息
   features = [feature["geometry"] for feature in shapfile]
   #打开被切割的tif文件路径
   with rasterio.open("被切割的tif文件路径L15.tif") as src:
        #根据矢量的坐标范围,切割图层
       out_image,out_transform = rasterio.mask.mask(src,features,
       crop=True)
       #拷贝源tif的数据
       out_meta = src.meta.copy()
       #根据切割的信息,更新复制的源tif数据
       out_meta.update({"driver": "GTiff",
                        "height": out_image.shape[1],
                        "width": out_image.shape[2],
                        "transform": out_transform})
       #保存tif到新文件中,并写入到磁盘上
       with rasterio.open("保存路径clip.tif", "w", **out_meta) as dest:
           dest.write(out_image)
         
切割的影像效果图:

GIS开发中如何使用开源影像切割


以上是“GIS开发中如何使用开源影像切割”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

gis
AI