带有python便利性的gdal包装器

greenwich的Python项目详细描述


https://travis-ci.org/bkg/greenwich.svg?branch=masterhttps://coveralls.io/repos/bkg/greenwich/badge.png?branch=master

GDAL的奇妙世界添加python便利。

格林威治为gdal-swig-python绑定提供了一个包装器。这里的焦点是 主要向gdal/ogr围栏的光栅侧提供一些更高级别的行为。

安装

gdal python绑定需要一点帮助来找到相关的 从virtualenv内部构建时的头文件。如果通常的pip install greenwich 如果失败,请指定gdal头目录,无论该目录位于何处,例如:

CFLAGS=-I/usr/include/gdal pip install greenwich

基本用法

打开您周围的任何光栅数据集,可能是来自 WorldClim

fromgreenwichimportGeometry,Rasterfromgreenwich.ioimportMemFileIOwithRaster('cc85tn701.tif')astmax:# Save as a NetCDF file.tmax.save('cc85tn701.nc')geom=Geometry(wkt='POLYGON((-123 47,-123 48,-122 49,-121 48,-121 47,-123 47))',srs=4326)# Clip the raster with a geometry and save the result as a GeoTIFF.withtmax.clip(geom)asclipped:clipped.save('clipped.tif')# Return a NumPy MaskedArray using nodata values for a given bounding box.m=tmax.masked_array((-120,38,-118,44))# Convert to an Erdas Imagine file in memory.imgio=MemFileIO(suffix='.img')tmax.save(imgio)imgdata=imgio.read()imgio.close()# Iterate over bands and retrieve the maximum pixel values.maxvals=[band.GetMaximum()forbandintmax]

通过将区段提供为最小/最大x,y坐标的4元组来检索特定区域的numpy数组:

arr = tmax.array((-120, 38, -118, 44))

将光栅重新投影到另一个坐标系。你可以通过EPSG密码,WKT, proj4格式化的投影,或空间引用实例作为参数:

warped = tmax.warp(3857)

也许您希望将图像重新采样到新的分辨率,该分辨率可以是 使用:

resampled = tmax.resample((100, 100))

光栅实例的行为仍然像gdal.dataset:

meta = tmax.GetMetadata()

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

推荐PyPI第三方库


热门话题
java正在寻找Java8中的内置函数以忽略异常   javascript JQuery更改Div的颜色   java PostgreSQL使用JDBC写入inet列   java为什么体重指数计算结果不正确?   java禁用linux中的log4j控制台日志记录   java我可以让我的JMS主题在新订阅者连接时通知发布者(使用ActiveMQ)   基于三个浮点输入的java过滤器JTable?   Java OpenGL/LWJGL体素纹理   在SpringBoot java应用程序中,有没有一种方法可以通过不同的机器使用hostIP作为主机远程连接到redis服务器   java Struts 2 s:提交按钮语法以在映射中设置值   java源代码:setDomainEnv。windows 7中的cmd文件   缺少货币计算java的返回语句   JavaHibernate没有注意到从其他源进行的数据库更新   无法在OpenCV/Java中生成负矩阵   Java不做循环   java无法使用类对象写入文件ArrayList   jpa使用数组作为调用Java的存储过程的输入   java使用文件提供程序检索内容Uri失败   需要java程序来创建方法模板