用于地理空间数据处理/分析的库和命令行实用程序
pygeotools的Python项目详细描述
#Pygeotools公司 用于地理空间数据处理和分析的库和命令行工具
##特点 -将光栅重新采样/扭曲为公共分辨率/范围/投影 -使用[numpy屏蔽数组](https://docs.scipy.org/doc/numpy/reference/maskedarray.generic.html)处理具有nodata间隙的光栅的许多函数 -点数据坐标转换、采样和插值程序(例如,XYZ点阵列) -常见的光栅过滤操作
###库[pygeotools/lib](/pygeotools/lib) -geolib-坐标转换,光栅到矢量,矢量到光栅 -malib-numpy屏蔽数组操作,demstack类 -warplib-对任意数量的输入数据集执行动态gdal warp操作 -iolib-文件输入/输出,gdal i/o包装器,屏蔽数组写入磁盘 -timelib-时间转换,从文件名中提取时间戳,用于光栅时间序列分析 -filtlib-二维屏蔽阵列的滤波器集合(高斯、滚动中值、高通等)
###命令行实用程序(不带使用参数运行) -warptool.py-将任意光栅扭曲到公共res/extent/proj -make_stack.py-创建输入光栅(光栅时间序列对象)和计算统计数据的“堆栈” -clip_raster_by_shp.py-使用多边形形状文件剪裁和遮罩输入光栅 -apply_mask.py-将遮罩从一个光栅应用到另一个光栅 -filter.py-应用filtelib中提供的各种过滤器 -trim_dv.py-从光栅页边距中删除仅包含节点数据的行/列 -replace_dv.py-替换nodata值 -proj_select.py-自动确定输入纬度/经度或光栅的投影 -raster2shp.py-创建输入光栅示意图的多边形形状文件 -ogr_merge.sh-合并形状文件 -…
##示例
###将多个数据集扭曲为公共网格,计算差异,写出 ` from pygeotools.lib import iolib, warplib, malib fn1 = 'raster1.tif' fn2 = 'raster2.tif' ds_list = warplib.memwarp_multi_fn([fn1, fn2], res='max',extent='intersection',t_srs='first',r='cubic') r1 = iolib.ds_getma(ds_list[0]) r2 = iolib.ds_getma(ds_list[1]) rdiff = r1 - r2 malib.print_stats(rdiff) out_fn = 'raster_diff.tif' iolib.writeGTiff(rdiff, out_fn, ds_list[0]) ` 或者,从命令行…
全部扭曲以匹配Raster1.tif投影,具有公共交叉点和最大像素大小:
warptool.py-tr max-te intersection-t\u srs first raster1.tif raster2.tif raster3.tif
创建与raster2.tif的分辨率、范围和投影相匹配的raster1.tif版本:
warptool.py-tr raster2.tif-te raster2.tif-t懔srs raster2.tif raster1.tif
重新投影并剪辑到用户定义的范围,保留每个输入光栅的原始分辨率:
warptool.py-tr source-te'4390905285304586305306450'-t_srs epsg:32610 raster1.tif raster2.tif
###创建时间序列“堆栈”对象: ` from pygeotools.lib import malib fn_list = ['20080101_dem.tif', '20090101_dem.tif', '20100101_dem.tif'] s = malib.DEMStack(fn_list, res='min',extent='union') #Stack standard deviation s.stack_std #Stack linear trend s.stack_trend ` 或者,从命令行…
制作堆栈.py-tr'min'-te'union'20*.tif
##文档
http://pygeotools.readthedocs.io
##安装
安装pypi的最新版本:
pip install pygeotools
注意:默认情况下,这将在/usr/local/bin中部署可执行脚本
###从源构建
克隆存储库并安装:
git clone https://github.com/dshean/pygeotools.git pip install -e pygeotools
e标志(“可编辑模式”,setuptools“开发模式”)将允许您修改源代码并立即查看更改。
###核心要求 -[gdal/ogr](http://www.gdal.org/) -[numpy](http://www.numpy.org/) -[scipy](https://www.scipy.org/)
###可选要求(某些功能需要) -[matplotlib](http://matplotlib.org/) -[美国宇航局艾姆斯立体声管道(asp)](https://ti.arc.nasa.gov/tech/asr/intelligent-robotics/ngt/stereo/)
##免责声明
这起源于一个个人回购,我正在慢慢清理和分发。有些有用的东西做得很好,有些是几年前为一次性任务仓促写的,有些则是从来没有完成过的令人困惑的事情。
欢迎投稿、错误报告和一般反馈。我的时间有限,我有一些坏习惯,我真的需要一些帮助。提前谢谢。
这一切最初都是为python 2.x开发的,但现在由于[@dlilien](https://github.com/dlilien)的缘故,它也应该可以用于python 3.x了
一些功能现在存在于优秀的、成熟的、支持良好的[RaStuio](https://github.com/mapbox/rasterio)中。最后,我将在适当的地方集成光栅api调用。
##许可证
这个项目是根据麻省理工学院的许可条款授权的。