开源笔记
开源笔记
孙同学的一个笔记本
这个作者很懒,什么都没留下…
展开
-
07-GDAL空间分块多线程计算NDVI-c完整计算代码
前面a、b两篇写了下思路和分块存储,时间好像间隔有点太长了。。。都不太记得前面写的啥了,翻了下笔记应该完整的计算NDVI还没写,这里就把完整代码贴一下吧。import mathimport osfrom osgeo import osr,gdalimport numpy as npfrom concurrent.futures import ProcessPoolExecutorfrom functools import partialimport datetimeimport sys#原创 2021-11-07 11:50:15 · 559 阅读 · 0 评论 -
06-GDAL光谱分块计算-a基本思路
一、基本思路光谱分块可以理解为把每一行所有波段上的数据切分出来:假设图像数组为:b = np.array([[[1,2,3,4],[5,6,7,8],[9,10,11,12]],[[13,14,15,16],[17,18,19,20],[21,22,23,24]],[[25,26,27,28],[29,30,31,32],[33,34,35,36]]])数组维度代表的意义为:[ bn,row,col ] 波段、行、列二、一个小计算需求举例假设现在将多年的某指数数据(每一年作为一原创 2021-04-14 15:47:21 · 163 阅读 · 0 评论 -
05-GDAL 空间分块计算-b分块临时转存(分块裁剪)
之前写了空间分块的基本思路,这里将介绍把一幅影像裁剪为多个分块,作为临时,实现转存到文件系统中。一幅影像如果裁剪、拆分成多块,则涉及到每一小块输出的时候要修改对应的地理位置,在GDAL中,是通过geoTransform来控制的。一、geoTransform其中元素含义:geoTransform(0)和geoTransform(3)是第一组,表示图像左上角的地理坐标;geoTransform(1)和geoTransform(5)是第二组,表示图像横向和纵向的分辨率(一般这两者的值相等,符号相原创 2021-04-13 09:25:12 · 249 阅读 · 0 评论 -
05-GDAL 空间分块计算-a基本思路
一、空间分块思路空间分块计算首先是将一幅较大的影像数据分成多个小块,然后分别对这些小块进行计算。这里先列举自己设想的分块的方法,后面再进一步探索多进程分块处理的方法。比如一幅影像,拆分成2*2块tiles计算NDVI的值。假如图像是400行,640列,则每块所占的行列为:假设图像的存储顺序为:data[bn,rows,cols]波段数、行数、列数那我们要获取的每一个分块实际上为:data[:,begin_rows:end_rows;begin_cols:end_cols]获取的原创 2021-04-12 23:11:42 · 418 阅读 · 0 评论 -
04-GDAL读取Sentinel 2数据
Sentinel2 数据在GDAL中读取类似于科学数据集的获取方式,如图:如常用的蓝、绿、红、近红外常用波段,就存储于第一个数据集list[0][0],list[0][1]为描述信息。GDAL中读取数据示例如下:from osgeo import gdalimport numpy as npimport osos.environ['CPL_ZIP_ENCODING'] = 'UTF-8'filename = "G:\mypython3\gdal\data\S2A_MSIL1C_2017原创 2021-03-01 09:51:45 · 777 阅读 · 1 评论 -
03-GDAL 批量获取影像存储位置(输入)
通常如果对数据进行批处理,需要获取到所有文件目录下得影像数据路径,再逐景进行处理。获取方法如下:import ositems = os.listdir("G:\mypython3\gdal\data")newlist = []for names in items:if names.endswith(".img"):newlist.append("G:\mypython3\gdal\data"+"\\"+names)OS Python包官方帮助:https://www.runoob.co原创 2021-03-01 09:03:19 · 212 阅读 · 1 评论 -
GEE 01 -Sentinel2A 哨兵数据下载
Google Earth Engine 引擎平台有大量影像数据,Landsat系列、Sentinel系列、Modis系列,可在线查询、获取数据、在线处理数据。一、引擎介绍首先,你需要能访问到引擎(https://code.earthengine.google.com/)。其次,你还需要一个Google账号。然后,就可以登录并访问Code在线编辑器了。二、下载数据这里只是演示,通过上传矢量数据shapefile文件,查询一定范围内的哨兵数据,选取蓝绿红三个波段组合后,导出GeoTiff文件到Goog原创 2021-02-01 11:19:33 · 22230 阅读 · 51 评论 -
02-GDAL创建多波段影像
from osgeo import gdalimport numpy as npdataset = gdal.Open("G:\mypython3\gdal\data\can_tmr.img")cols = dataset.RasterXSizerows = dataset.RasterYSizeproj=dataset.GetProjection()im_bands = dataset.RasterCountdatas = dataset.ReadAsArray(0,0,cols,row原创 2020-09-08 08:28:43 · 1107 阅读 · 0 评论 -
* GDAL替换影像0值为NAN
由于ArcMap中的影像背景值需要为NAN才能设置为透明,而有的经过预处理的影像数据的背景值为0,可通过以下方式修改:from osgeo import gdalimport numpy as npdataset = gdal.Open("G:\mypython3\gdal\data\mosaic.tif")cols = dataset.RasterXSizerows = dataset.RasterYSizeproj=dataset.GetProjection()im_bands = da原创 2020-09-08 08:27:58 · 3757 阅读 · 5 评论 -
01-GDAL影像简单处理操作
一. 读取、显示并保存1. 获取基础信息from osgeo import gdalimport numpy as npdataset = gdal.Open("G:\mypython3\gdal\data\can_tmr.img")cols = dataset.RasterXSizerows = dataset.RasterYSizebands = dataset.RasterCount2. 获取波段信息并组合band = dataset.GetRasterBand(3)r =原创 2020-09-07 15:52:43 · 1543 阅读 · 0 评论 -
Windows下GDAL环境部署
一. Python离线包下载下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal按照字母表顺序找到自己的版本对应gdal的whl文件,如果安装32的Python,就下载32位的gdal包,如果安装的64位的python,就下载64位的gdal包。同样,例如这里下载的GDAL-3.0.1-cp36-cp36m-win64.whl(cp36代表的是3.6.0版本,win64代表适用64位的Python)二. Virtualenv 安装使用1. Vi原创 2020-09-07 12:18:05 · 1351 阅读 · 0 评论 -
Cesium 加载3dTiles倾斜摄影模型
前言:新手小白,初步探索流程。一. Java及Tomcat环境配置tomcat8.0.47版本,JAVA 81. 安装JAVA,并设置环境变量JAVA正常安装即可,可以不更改安装目录。配置环境变量JAVA_HOME及PATH:输入where java 检查java安装目录,如果是刚才的安装目录,说明安装正确:2. 安装tomcat绿色版解压缩放置到指定的目录,然后设置环境变量。新建环境变量:CATALINA_BASE C:\tomcat\apache-tomcat-8原创 2020-08-16 12:59:07 · 5415 阅读 · 0 评论