用于地理空间数据处理/分析的库和命令行实用程序

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调用。

##许可证

这个项目是根据麻省理工学院的许可条款授权的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javascript如何找到socket。同一局域网上的IO服务器?   将Java代码格式化为Word/RTF格式   java学习对象以及如何将分配的变量封装到私有变量   java Websocket客户端不在Tomcat中工作   java如何在点击按钮时打开本机表情键盘?   java使用哪个Maven GlassFish插件?   Eclipse Java构建路径不允许添加外部JAR   继承Java6集合。勾选适当的用法   JavaApacheDateUtils:使用多个模式解析日期   java hibernate如何生成查询?   具有id或链接的java Dropbox下载文件或文件夹   java模态对话框未在PrimeFaces 5上显示   java将类对象转换为人类可读的字符串   更新数据库中字段的java通用方法   java无法通过Apache Tomcat访问网络文件夹