![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
文章平均质量分 56
独孤尚亮dugushangliang
古人之观于天地、山川、草木、虫鱼、鸟兽,往往有得,以其求思之深而无不在也。夫夷以近,则游者众;险以远,则至者少。而世之奇伟、瑰怪,非常之观,常在于险远,而人之所罕至焉,故非有志者不能至也。有志矣,不随以止也,然力不足者,亦不能至也。有志与力,而又不随以怠,至于幽暗昏惑而无物以相之,亦不能至也。然力足以至焉,于人为可讥,而在己为有悔;尽吾志也而不能至者,可以无悔矣,其孰能讥之乎?
展开
-
栅格的二元回归
有时候我们会用到残差趋势法,例如以植被覆盖度为因变量 、以气温和降水为自变量,逐像元建立二元线性回归模型 ,逐像元得到回归方程的系数;其次,利用气温和降水数据以及回归模型的系数,建立模型模拟得到气候影响下的植被覆盖度的预测值;最后,基于遥感影像获得的植被覆盖度观测值与基于回归模型模拟得到气候影响下的预测值做差值计算,得到的结果即为植被覆盖度残差,表示了人类活动对植被覆盖的影响。今天分享一下栅格的二元回归系数计算方法。1 二元回归系数计算二元回归系数系数的计算公式网上书上有计算公式,这里不再赘述。这里介绍原创 2021-12-30 14:46:55 · 3247 阅读 · 3 评论 -
重标极差分析 Hurst指数计算
在时间序列分析中,有时候会用到hurst指数,今天分享Hurst指数的计算方法。1 介绍本节介绍出自《地理数学方法:基础和应用》一书【第 21 章 时间序列的 R/S 分析】 R/S 分析是一种基于长程相关思想的时间序列分析方法。 这种方法由 H. E. Hurst 于 1965 年最先提出,后来伴随着非线性理论的发展而成长起来。 Hurst 原本是剑桥大学物理学博士,对埃及尼罗河( Nile)进行了长达 60 年的观测,记录了尼罗河水位原创 2021-12-30 14:46:11 · 6830 阅读 · 3 评论 -
计算两个栅格的相关系数
有时候我们需要计算两个栅格的相关系数,判断相关性,例如计算NDVI和降水的相关系数,NDVI和温度的相关系数。今天分享一下计算两个栅格相关系数的计算方法。1 相关系数计算相关系数的计算公式网上书上有计算公式,这里不再赘述。这里介绍一下Python的numpy库计算相关系数,使用np.corrcoef()函数,示例如下。import numpy as npx1 = np.array([9.6,17.1,64.8,40.9,136.3,182.5,78.3,3.7,26.,0.4])x2 = np.a原创 2021-12-30 14:45:13 · 8708 阅读 · 6 评论 -
命令行运行IDL的sav文件
1 编写代码在idl编辑器新建pro文件,写入内容。示例如下,该示例实现将命令行的参数输出到一个txt中,文件名为abc.propro abc COMPILE_OPT idl2 args = Command_Line_Args(count=num) openw,lun,'idlout.txt',/get_lun for i=0,num-1 do begin printf,lun,args[i] endfor free_lun,lunend2 编译保存原创 2021-12-23 18:44:51 · 3192 阅读 · 0 评论 -
docker 容器技术
docker 容器技术一、学习目标了解 Docker 与虚拟机的不同点,相比的优势掌握 Docker 的启动方法、镜像与容器操作掌握 Mysql tomcat Nginx Redis 等容器的部署方法掌握 Docker 的备份与迁移方法掌握 Docker 的面试题二、docker简介2.1、虚拟化2.1.1、什么是虚拟化 在计算机中,虚拟化(英语:Virtualization )是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,原创 2021-12-23 18:44:04 · 3251 阅读 · 0 评论 -
全国任意区域土地覆盖、DEM免费下载 easygeodata
欢迎使用easygeodata数据下载网站,https://easygeodata.cn 本网站提供中国范围内指定区域的10米土地覆盖、30米DEM等数据的下载。下载区域可以按选择的行政区划或自己上传的shp范围。 本网站的初心是方便国内用户获取免费公开数据。本网站为公益性网站,使用过程不收取任何费用。 &nbs原创 2021-11-23 18:09:58 · 2131 阅读 · 7 评论 -
PaddleSeg语义分割实现对整幅遥感影像进行预测
现有的语义分割框架通常是针对普通的单张图片进行预测。如果要预测一张完整的大的遥感影像需要进行切片后预测最后拼接起来。这样预测比较费时费力费空间。本文改进了paddleseg的predict.py的代码。使用gdal分块读取方法,实现分块预测并写出为tif文件结构,效率高。 需要将本文件路径为paddleseg\core\predict.py。可以在代码 中修改预测分片的大小和重叠度。...原创 2021-11-11 09:47:06 · 1905 阅读 · 1 评论 -
python gdal使用shp裁剪遥感影像
最近有个需求,在云服务器上运行shp裁剪遥感影像的功能。服务器内存2G。影像十分巨大,例如二十万行,三十万列。目前的shp裁剪影像方法有: (1)arcgis裁剪:服务器上肯定不能用。 (2)基于rasterio的mask.mask()建立掩膜裁剪。这个方法比较快,以前一直用这个,但是有个缺点就是把数据一次性读入内存,在内存不足时就报错,不能正常运行。基于rasterio的裁剪代码如下。import fionaimport rasterio as rioimport r...原创 2021-11-10 22:30:31 · 5582 阅读 · 6 评论 -
PaddleDetection/mmdetection/Detectron2自定义目标检测数据集
按COCO格式标注将数据集按照coco的格式整理,很多目标检测框架都支持coco。coco的数据集标注详见https://cocodataset.org/#format-data格式是字典和列表的相互嵌套。根是是一个字典,有四个键,分别是info images annotations license。info是个字典,images是image字典组成的列表,annotations是annotation字典组成的列表,licenses是license字典组成的列表。最后保存为json格式。根字.原创 2021-08-19 10:40:00 · 1275 阅读 · 0 评论 -
PaddleSeg自定义语义分割数据集 Detectron2自定义语义分割数据集
1 PaddleSeg数据集PaddleSeg (https://github.com/PaddlePaddle/PaddleSeg)是个很方便的语义分割框架。如果用自己的数据进行训练的话需要按规范的格式整理,结构如下。根目录为dataset(或其他的名称),dataset下包含两个文件夹和两个txt。两个文件夹分别存放图片(images)和标注(annotations),两个txt(train_list.txt,val_list.txt)分别存储训练集和验证集的图片和标注的对应关系。这些文件夹和文原创 2021-08-19 10:04:48 · 1816 阅读 · 0 评论 -
基于大遥感影像的目标检测数据集的裁剪
遥感影像一般比较大,对于高分辨率的影像会更大。从百度地球下载的一个县的高分辨率的影像(0.3米)可能包括几十万行几十万列。这种几万行列甚至几十万行列的影像不利于模型的训练,有必要进行分块裁剪、分片处理,例如切分成512*512或者1024*1024的影像。影像分片,对于语义分割的标注是很容易裁剪,只需按照固定的顺序裁剪即可。但是对于目标检测的裁剪,标注框的裁剪有点麻烦。 如下图所示,影像对应的标注框。本文介绍一下影像进行分块裁剪和标注框分块生成的思路。...原创 2021-08-17 18:43:39 · 1790 阅读 · 8 评论 -
json和python字典的转换
1 字典转换为json文件import jsonjson_str = json.dumps({1:2,2:4})with open(outjsonpath,'w') as f: f.write(json_str)2 json转为字典import jsondic = json.load(open(jsonpath))原创 2021-08-17 18:09:16 · 71 阅读 · 0 评论 -
Process finished with exit code -1073741819 (0xC0000005)
最近用gdal ogr numpy 等库,代码写好运行成功后,pycharm异常退出Process finished with exit code -1073741819 (0xC0000005),照着网上的一些方法 更新h5py、更新numpy、设置pycharm等,都不好使。最后发现ogr的一个layer对象没有手动销毁,手动删除后就没报错了。...原创 2021-08-17 18:05:59 · 216 阅读 · 0 评论 -
基于高分辨率影像的潍坊大棚遥感提取
1 背景 朋友,当你坐在经过潍坊的火车上的时候,是否被窗外的风景震惊过?那一望无际的大棚,像一片海洋,又像一片草原,连接天际,一眼望不到边。在卫星地图上,白茫茫一片,蔚为壮观。本文基于0.6米的高分辨率遥感影像提取潍坊的大棚分布。2 数据使用古戈影像的18级数据,0.6米分辨率,共三百多G。3 方法方法和思路都比较简单。使用深度学习的方法,首先选典型样本,其次训练模型,最后应用模型。对于效果不好的区域,再选择一部分样本对模型进行微调。样本的选取是十分重要...原创 2021-08-07 11:54:48 · 2297 阅读 · 2 评论 -
paddleseg怎样训练遥感数据集
paddleseg默认读取图像的函数是在paddleseg/transforms/transforms.py的Compose类中,节选如下,如果想读16bit的反射率影像或者0-1范围的影像,只需要在Compose类的__call__方法中修改即可,例如安装gdal或者使用libtiff读。后面小心用一些transforms。class Compose: def __init__(self, transforms, to_rgb=True): if not isinstanc.原创 2021-06-18 18:25:21 · 523 阅读 · 0 评论 -
gdal怎样修改图像的投影和地理信息
最近有个需求,给图片定义投影、添加地理坐标信息,今天终于找到了,一起看一看。那就是学习一下gdal_edit.py这个文件geotransform和projection可以是从其他dataset读到。from osgeo import gdalds = gdal.OpenEx(tifpath, gdal.OF_RASTER | gdal.OF_UPDATE)ds.SetGeoTransform(trans)ds.SetProjection(proj)ds = None如果修改noda.原创 2021-06-18 16:01:02 · 906 阅读 · 1 评论 -
tkinter打包为exe后找不到图片 tkinter_TclError:couldn‘t open “a.png“ no such file or directory
tkinter打包为exe后找不到图片解决方法之一将想要的图片放到exe同级的目录下,即dist文件夹中,在代码中的相对路径是相对于exe所在的文件夹原创 2020-12-14 15:02:46 · 3744 阅读 · 0 评论 -
Python环境迁移到另一台电脑
将已经安装好各种库的python复制到另一台电脑上直接用以python2.7为例将安装目录直接复制到新电脑上,重要的是将python27.dll这个文件也复制到python.exe的同级目录下,否则直接复制用的话会报错。为防出错,也放到Scripts文件夹中...原创 2020-06-12 11:28:42 · 4535 阅读 · 3 评论 -
10m土地覆盖怎么找到自己需要的
背景由清华大学地球系统科学系宫鹏教授团队研发的重大成果世界首套“2017年10米分辨率全球土地覆盖产品(FROM-GLC10)(2017年的为http://data.ess.tsinghua.edu.cn/fromglc2017v1.html,2015年的为http://data.ess.tsinghua.edu.cn/fromglc2015_v1.html)是很不错的土地覆盖产品。打开201...原创 2020-05-04 18:50:32 · 2350 阅读 · 3 评论 -
Python2.7生成pyd文件
首先安装cython。pip install cython安装easycython:pip install easycython安装文件vcpython27,下载地址 http://aka.ms/vcpython27。或网盘链接链接: https://pan.baidu.com/s/1iBzQtpvK2A0XYIqDG4e2hQ 提取码: aa1t使用的时候将py文件的后缀改为pyxc...原创 2020-04-23 16:25:51 · 983 阅读 · 0 评论 -
Google Earth Engine导出大影像时下载失败的一种解决方法
Google Earth Engine导出大影像时下载失败最近用gee导出了一些影像到drive云盘中,虽然不是很大,只有两百M左右,但是使用backup and sync同步软件来下载的时候却一直失败,不停的重试。同步软件不支持断点续传,一旦因为某原因中断,又要从头开始,感到十分的无奈经过多次教训,发现下载50M以内的小文件是没有问题的,因此考虑导出数据的时候使用分块来解决,最后下载这些...原创 2020-02-29 18:16:48 · 8284 阅读 · 9 评论 -
arcpy批量将tif影像添加到ArcGIS中同时指定RGB顺序
将一个文件夹里的所有的tif添加到arcgis中指定波段顺序,例如假彩色,真彩色,arcgis默认会使用前3个波段作为RGB显示。运行之前最好先建好金字塔,否则添加会很慢指定拉伸方式没有查到怎么实现# -*- coding:utf-8 -*-'''将一个文件夹里的所有的tif添加到arcgis中指定波段顺序,例如假彩色,真彩色'''import osimport sysr...原创 2020-02-06 11:01:57 · 3605 阅读 · 1 评论 -
Python将多个单波段tif合并为一个影像
将同一文件夹里的多个tif合并为一个tif或dat或其他的影像文件输入影像的行列数投影应保持一致dat格式可以给波段命名,tif格式看不到波段名称# -*- coding:utf-8 -*-import numpy as npimport gdalimport osimport sysreload(sys)sys.setdefaultencoding('utf8')#修改...原创 2020-02-06 09:26:45 · 6805 阅读 · 16 评论 -
arcpy将多个dbf合并到excel中
使用arcpy将多个dbf文件根据提供的字段提取相应的值并保存到txt中,然后再保存到excel,没有某个字段的dbf将设置默认值nodata# -*- coding:utf-8 -*-import arcpyimport osimport sysimport copy# in order to support Chinese languagereload(sys)sys.se...原创 2020-02-03 22:04:27 · 2579 阅读 · 3 评论 -
GoogleEarthEngine的Python运行环境共享
gee的python运行环境,需要运行下面的几个命令,但是第二个安装一直失败,后来发现conda可以安装,于是基于miniconda安装了一个python3.6虚拟环境,并安装了所需要的库。第一个和第三个使用pip安装,第二个使用conda安装。pip install google-api-python-clientpip install pyCryptopip install eart...原创 2020-01-11 12:33:04 · 1476 阅读 · 3 评论 -
wkt转shp / wkt转shapefile / shp转wkt
使用ogr从wkt字符串创建shapefile输入为一个文本文件,每一行格式为a;b;c;wkt\n,分号分割,abc分别为三个字段的值,wkt为字符串。一行的示例dfas;defg;hjkpiuu;POLYGON((128.99 46.99略去一些))如果多个字段仅需略作修改即可将文本文件的每一行的wkt转为面,并将前3个值作为字段添加到shp中import osrimport ...原创 2020-01-07 17:00:29 · 5375 阅读 · 1 评论 -
pyshp创建面shp文件并设置投影
使用pyshp创建shapefile,方便快捷参考官方文档首先安装pip install pyshp==1.2.3创建示例"""using pyshp create shpfile(1) type:You can reference shape types by the numbers or by constants defined by PyShp:shapefile.NULL...原创 2020-01-02 10:51:14 · 2534 阅读 · 9 评论 -
python矢量转栅格
矢量转栅格使用gdal和ogr参考https://gis.stackexchange.com/questions/212795/rasterizing-shapefiles-with-gdal-and-python。这个答案得到的结果是上下翻转的,不能直接使用本人修改后的代码gdal.RasterizeLayer的options一些注意的地方:ALL_TOUCHED=TRUE 表示...原创 2019-12-18 17:54:18 · 2440 阅读 · 2 评论 -
markdown跳转到页面指定的位置
需要点击的位置的代码:[直接跳转](#hahaha)目标位置的代码:<span id="hahaha"></span>设置目标位置的id为hahaha或其他的代号,在实际显示时看不到。或者下面的方式需要点击的位置的代码:[跳转到黑](#hei)目标位置的代码:<div id="hei"></div>...原创 2019-11-27 17:37:16 · 9100 阅读 · 1 评论 -
哨兵影像批量大气校正 多进程并行处理
对L1C级别的数据批量大气校正首先得安装Sen2Cor,可搜索下载,并将安装目录添加到环境变量中。其次需要有Python的运行环境python批量处理处理前把L1C级别的数据解压到一个文件夹中,文件夹结构如下:.├── S2A_MSIL1C_20190731T024551_N0208_R132_T51TUF_20190731T073437.SAFE│ ├── 00Readme_...原创 2019-11-15 19:52:01 · 1162 阅读 · 0 评论 -
WIndows下PaddleSeg使用笔记
文章目录paddle使用笔记新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入paddle使用笔记你好! 这是...原创 2019-10-31 17:09:47 · 7835 阅读 · 5 评论 -
Python多进程简单示例
首先使用multiprocessing的Pool进程池pool=Pool(最大的进程数)然后添加多个需要执行的进程,可以大于上面设置的最大进程数,会自动按照特定的队列顺序执行result = pool.apply_async(要执行的函数名 , args=元组形式的参数列表)函数的返回值为result.get()close和join一下pool.close() po...原创 2019-10-29 21:25:42 · 292 阅读 · 0 评论 -
Python读写postgresql
需要安装psycopg2增删改查可通过cursor.execute实现import psycopg2connection = psycopg2.connect(database="yourdatabase", user="postgres", password="postgres", host="127.0.0.1",port="54...原创 2019-10-24 13:15:54 · 1054 阅读 · 0 评论 -
centos7.5安装postgresql和postgis
亲测可用,屡试不爽,多次失败教训的总结。下载较慢时更新yum源备份mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 下载 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/rep...原创 2019-10-21 21:29:51 · 492 阅读 · 0 评论 -
编译opencv时卡住 ippicv_2019_lnx_intel64_general_20180723.tgz
参考https://www.jianshu.com/p/3c2fc0da7398https://www.cnblogs.com/yongy1030/p/10293178.html解决方法:手动下载该文件https://raw.githubusercontent.com/opencv/opencv_3rdparty/32e315a5b106a7b89dbed51c28f8120a4...原创 2019-10-17 10:49:08 · 1108 阅读 · 1 评论 -
Python的Mann-Kendall非参数检验和计算Hurst指数
Mann-Kendall 检验法简称为 M-K 法, 是一种非参数统计检验方法, 可适用于不具有正态分布特征变量的趋势分析[38]。假定X1,X2,...Xn为时间序列变量[1],n为时间序列的长度,M-K 法定义统计量S为其中式中,xj、xk 分别为第j、k年对应的观测值,且j< k。标准化的检验统计量Z为当n≥10时,统计量S近似服从正态分布,在不考虑...原创 2018-07-20 17:14:40 · 14098 阅读 · 4 评论 -
Python+gdal读写遥感影像
Python 和gdal读遥感影像,进行相应的波段运算后再写出。读为numpy数组,写出为envi格式的,只能单个波段读,略有缺陷。(部分代码摘自网络,向他们表示敬意)import numpy as npimport gdalimport osdef image(path): #读为一个numpy数组 dataset = gdal.Open(path) b...原创 2018-07-18 14:28:12 · 11735 阅读 · 9 评论 -
scipy计算三重积分
圆柱体直径4cm,长20cm,两端各有一个球,每个球直径20cm,密度为5600kg/m3计算rotational inertia matrix .坐标原点为圆柱的中心,沿长度的方向为z轴。先在草稿纸上写出直角坐标的积分公式,将其写入程序即可。计算三重积分用到的函数是tplquad,此外还有二重积分,定积分,n重积分。f为被积函数,cyl为求圆柱的积分,sphereup求上球的积分,sph...原创 2018-07-19 14:36:46 · 2489 阅读 · 0 评论 -
Python脚本转换成exe可执行文件的方法
将py脚本打包成exe本人用过两种方法,一个是cxfreeze,一个是pyinstaller,安装后均需在cmd命令行中运行。安装包一般通过https://pypi.org/,或下载已经编译好的whl文件安装https://www.lfd.uci.edu/~gohlke/pythonlibs/,或使用https://anaconda.org/。这些安装包的方式一般需要在cmd命令行中操作,如果打开...原创 2018-07-24 14:46:17 · 2008 阅读 · 0 评论 -
利用影像的元数据文件生成落图的程序(xml/tfw)
有时候需要获取遥感影像的范围,即落图文件。利用高分影像的元数据文件生成则十分简便快捷。根据实际需求,编写了生成落图的程序,主要针对高分的影像。不同的传感器的数据存储的形式也不一定一样,针对相同的存储形式写了相应的函数。基于Python实现。考虑到不同的影像有不同的投影,最后每个xml文件对应一个shp。1 导入需要的库import osimport osgeo.ogr as ogri...原创 2018-07-18 21:42:40 · 2933 阅读 · 2 评论