GDAL 矢量裁剪栅格】的更多相关文章

本节将介绍如何在Python中用GDAL实现根据矢量边界裁剪栅格数据. from osgeo import gdal, gdal_array import shapefile import numpy as np import os #批量shp裁剪tiff影像 try: import Image import ImageDraw except: from PIL import Image, ImageDraw def read_tiff(inpath): ds=gdal.Open(inpath…
本文整体思路:在Python中使用Geopandas库,依次读取shp文件的每一个面状要素,获取其空间边界信息并裁剪对应的栅格影像,计算所裁剪影像Value值的众数,将其设置为对应面状要素的NewTYPE值,所有要素属性值都改好之后保存为新的shp文件. 使用Python处理空间数据确实用的不多,所以一个星期以来一直深受这个程序的折磨,官方文档.博客.谷歌.百度.论文,能用的方法都给用了,但是进度还是很慢,特别是当看到这篇博客的时候...好气啊.. 不过幸亏头比较铁,虽败不馁,慢慢一步一步调试找…
前言:挺久没有更新博客了,前段时间课程实验中需要用代码将矢量数据转成栅格,常见的点栅格化方法通过计算将点坐标(X,Y)转换到格网坐标(I,J),线栅格化方法主要有DDA算法.Bresenham算法等,根据实现效果也可分为八方向和全路径栅格化方法等,面栅格化方法主要有种子点填充.扫面线算法.边界代数法等.详细算法实现可参考GIS中将矢量数据转换栅格数据算法 和 GIS算法基础(五)矢量数据向栅格数据的转换(点,线算法实现)这两篇博客.GDAL为用户提供了矢栅转换的方法,但网络上相关资料比较少,官方…
data = gdal.Open(templateTifFileName, gdalconst.GA_ReadOnly)geo_transform = data.GetGeoTransform()x_min = geo_transform[0]y_min = geo_transform[3]x_res = data.RasterXSizey_res = data.RasterYSizemb_v = ogr.Open(shpFileName)mb_l = mb_v.GetLayer()pixel_…
目标:解决北京河流矢量polygon 转栅格的问题 设置栅格大小和影像一致30*30----结果发现,因为cell过大,原本连续的是矢量面变得不连续了,特别细的河流会出现间断(如下图所示): 1号 网上搜索矢量转栅格出现空白的问题大多是由于矢量拓扑关系有问题导致,所以需要拓扑检查等,但我这个是因为河流太细,算法可能缺少种子点了. 检验这个想法的方式:将cell设置成10*10,然后看有无间断----结果如下图果然很完美 2号 改进方法1:将cell大小为10的栅格数据--进行重采样为30大小的-…
写了个mongodb的gdal driver,放在了github上,如果你需要,欢迎加入mongogis group. 直接的效果是使得QGIS, GeoServer, MapServer, ArcGIS等GIS软件能够处理存储在MongoDB集群中的地理数据. https://github.com/mongogis www.mongogis.com QQ群:245711661 1. MongoDB 现如今国内外NoSQL数据库产品已经超过百种,其中包括除了Google的BigTable.Ama…
1.简介: 数字高程模型(Digital Elevation Model),简称DEM,是通过有限的地形高程数据实现对地面地形的数字化模拟. 这次分享的数据是全国34个省份的DEM裁剪数据,一共有6期数据. 分享的数据效果如上图所示. 2.背景介绍 首先,自己的百度云盘堆满了各种DEM数据,但都是单景,每一次使用都需要进行按区域裁剪.镶嵌.做得多也就烦了. 正好,前段时间研究了一下GDAL与Geopandas结合到一起,进行栅格的批量裁剪与转换.我就一次性地把DEM都裁剪到了省. 人数多了,就想…
在互联网上下载的遥感影像都进行过分幅处理,下载下来的影像多是规则的四方形,而在进行遥感影像研究时,多是针对特定区域来进行,比如研究北京市的遥感影像,不在北京市范围内的影像对于研究者就没有利用意义,如果不进行裁剪处理,而是对整幅影像进行分析处理,就会增加很多不必要的工作,既浪费时间又浪费资源,所以根据研究区的范围裁剪出研究区的影像显得十分重要. 本文的目的在于介绍arcgis中的多样裁剪功能,以北京市的遥感影像为例. 本文需要用的软件工具有2个,第一款要用的软件是locaspace viewer,…
一.加载栅格图像 加载栅格图像的详细步骤在下面代码里: //添加栅格数据按钮槽函数 void MainWindow::addRasterlayers() { //步骤1:打开文件选择对话框 QString filename=QFileDialog::getOpenFileName(this,tr("打开栅格数据"),"","remote sensing image(*.tif *.tiff);;image(*.jpg *.jpeg *.png *.bmp)…