有点像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 ArrayList对象转换为实际值   web服务如何在JAVA类uisng JAXBElement中解组SOAP UI值   包含无值参数的java HttpClient表单URL   运行简单Camel Restlet演示项目的java问题?   带有自定义图标的java简单SWT警报消息?   java Netbeans 6.8:LibImport可以工作,但编译时“包不存在”   java如何获得绘画完成的通知?   java Hazelcast客户端模式群集故障后如何恢复?   Neo4J中Shapefile的java批插入   为什么ThreadPoolExecutor在Eclipse和从命令行运行Java程序时表现不同?   java在Android中计算两个坐标之间的距离时得到了荒谬的值   java在CardLayout中显示卡本身的下一张卡