有点像postgis磁盘上文件的st_summarystats

winston的Python项目详细描述


Latest ReleaseUpdatesPython 3

有点像文件系统上raster的postgisST_SummaryStats函数。 大多数情况下,我们只是把一些很棒的库串在一起:

安装

激活项目虚拟环境,然后:

pip install winston

如果您只想使用命令行功能,可以:

pip install --user winston

用法

您可以在命令行上使用winston,也可以将其用作模块。

命令行

要查看您的选项,只需:

winston --help

例如,要获取给定光栅文本文件中所有WKT的统计信息:

winston some_file.tif -f wkts.txt

或者只针对一个点,包括光栅元数据:

winston /path/to/data/*.tif -w 'POINT (-4.483545 54.150744)' -m

由于我们需要rasterio,您还可以使用rio命令行工具检查光栅:

rio insp /path/to/geo.tif

阅读Rasterio docs中的更多内容。

模块

您也可以在代码中使用winston:

>>> importrasterio>>> fromwinston.statsimportsummary>>> fromshapely.geometryimportPoint>>> src=rasterio.open('/path/to/raster.tif')>>> printsummary(src)Summary(count=37324800, sum=49041320.0, mean=5.8627439, min=0.0, max=10.0, std=2.2037256)
>>> printsummary(src,bounds=(4,6))Summary(count=37324800, sum=9569182.0, mean=5.1044292, min=4.0, max=5.9999995, std=0.56939822)
>>> printsummary(src,bounds=(4,6),mean_only=True)5.09
>>> printsummary(src,Point(-2.36,51.38).buffer(0.25))Summary(count=169, sum=1229.4401, mean=8.9740152, min=8.3602285, max=9.4269724, std=0.24473859)

使用tablib

导出结果相当简单
>>> importrasterio>>> importtablib>>> fromwinston.statsimportsummary>>> fromshapely.geometryimportPoint>>> src=rasterio.open('/path/to/raster.tif')>>> shapes=[Point(x,y).buffer(0.25)forx,yinzip(range(5),range(5,0,-1))]>>> summaries=[summary(src,shape)forshapeinshapes]>>> d=tablib.Dataset()>>> d.dict=[s.__dict__forsinsummaries]>>> printd.headers['count', 'sum', 'mean', 'min', 'max', 'std']
>>> open('output.csv','w').write(d.csv)

历史记录

0.3.0(2016-12-19)

  • 更新的cli默认设置为更…理智
  • 从摘要结果中删除data_count
  • 现在接受一个exclude_nodata_value以与postgis一致
  • 添加了一些基本测试

0.2.3(2016-10-13)

  • all_touched标志的默认值反转为与光栅一致
  • 添加了缺少的需求(six)和重新组织的需求文件

0.2.2(2016-10-13)

  • namedtuple参数排序中的错误修复(oops!)

0.2.1(2016-10-12)

  • 接受wkt字符串以及geojson&shapely几何图形
  • 修复“无结果”摘要的处理

0.2.0(2016-10-12)

winston.stats.summary

  • 现在可以接受形状几何体以及类似geojson的对象
  • 我们不再将结果舍入到小数点后3位
  • 统计信息现在以namedtuple而不是列表的形式返回

0.1.1(2016-10-12)

  • 小包装修复。

0.1.0(2016-10-12)

  • pypi上的第一个版本。

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

推荐PyPI第三方库


热门话题
java JavaFX TableView更新单元格,不更新对象值   在扫描器中使用分隔符的java   java OkHttp 4.9.2,连接无法重用,导致端口耗尽   eclipse中的c JNI:运行Java代码   java是否在出厂的所有硬件设备中都有/mnt/sdcard/Android/data文件夹(或等效文件夹)?   Java,在eclipse中访问资源文件夹中的图像   java为什么Bluemix dashDB操作抛出SqlSyntaxErrorException,SQLCODE=1667?   JavaHtmlUnitWebClient。getPage不处理javascript   Google API认证的java问题   java如何将JSON数组反序列化为Apache beam PCollection<javaObject>   ServerSocket停止接收命令,java/安卓   来自Java类的安卓 Toast消息   java如何自动重新加载应用程序引擎开发服务器?   java是否可以尝试/捕获一些东西来检查是否抛出了异常?   java如何做到这一点当我按下load game时,它不仅会加载信息,还会将您带到游戏中?   Java选项Xmx代表什么?   Java映射,它在插入时打印值   设置“ulimit c unlimited”后,java无法生成系统核心转储