跳转到主要内容

fio_planet:来自Planet Labs的Fiona CLI插件。

项目描述

fio-planet

来自Planet Labs的Fiona CLI插件包。

Documentation Status

这些CLI命令用于创建Unix管道,用于操作GeoJSON特征流。此类管道提供了比GeoPandas、PostGIS或QGIS等更复杂工具的部分功能,适用于处理数百个特征流,其中管道各部分之间的JSON序列化的开销是可以容忍的。

安装

python -m pip install --user fio-planet

用法

fio-planet为Fiona的fio程序添加了filtermapreduce命令。这些命令提供了空间SQL的一些功能,但作用于GeoJSON特征序列中的特征,而不是空间RDBMS表中的行。fio-filter减少特征序列,fio-map乘以并转换特征,fio-reduce将许多特征的序列转换为恰好一个序列。结合使用,可以实现许多转换。

表达式采用括号列表的形式,可能包含其他表达式。列表中的第一个项目是函数或方法的名称,或者评估为函数的表达式。第二个项目是函数的第一个参数或方法绑定到的对象。其余列表项是命名函数或方法的定位和关键字参数。表达式中的函数和可调用项包括

  • Python运算符,如+/<=以及truthnotis
  • Python内置函数,如dictlistmap
  • itertools的所有公共函数,例如islicerepeat
  • 所有可从Shapely 2.0导入的功能,例如 Pointunary_union
  • Shapely几何类的所有方法
  • 仅fio-planet特有的函数

以下是一个求值结果为Shapely Point实例的表达式。

(Point 0 0)

Point 是一个可调用的实例构造函数,成对的 0 值是位置参数。注意,表达式最外层的括号是可选的。

以下是一个使用 buffer 求值结果为多边形的表达式。

buffer (Point 0 0) :distance 1.0

内部表达式 (Point 0 0) 求值结果为一个Shapely Point实例,buffer 求值结果为 shapely.buffer(),而 :distance 1.0 将 1.0 赋值给该方法 distance 关键字参数。

在 fio-planet 表达式中,所有坐标和几何对象都在 OGC:CRS84 参考系中,就像GeoJSON。然而,与长度或面积相关的函数参数,如buffer的距离参数,被认为是米为单位。

fio-filter 和 fio-map 在GeoJSON特征及其几何属性上下文中评估表达式。这些分别命名为 fg。例如,以下是一个测试输入特征是否在给定点50米范围内的表达式。

<= (distance g (Point -105.0 39.753056)) 50.0

fio-reduce 在所有输入几何形状的序列上下文中评估表达式,该序列命名为 c。例如,此表达式使用Shapely的 unary_union 溶解输入几何形状。

unary_union c

支持

文档托管在Read the Docs上:https://fio-planet.readthedocs.io/en/latest/

如有使用帮助,请使用项目讨论论坛或发送电子邮件至 developers@planet.com

如果您认为您找到了一个错误,请使用项目问题跟踪器。

路线图

1.0版本向Fiona的 fio CLI添加了 filtermapreduce

请注意,1.0版本的表达式中没有条件形式。项目可能会在1.0之后添加 cond

贡献

在1.0之前,项目更关注对现有命令的反馈,而不是新的命令。

项目使用 black、flake8、mypy 和 tox 进行静态检查和测试。

black src tests && flake8 && mypy && tox

作者和致谢

此项目的贡献者是

许可证

Apache License,版本2.0。

项目详细信息


下载文件

下载适用于您的平台的文件。如果您不确定要选择哪一个,请了解更多关于 安装软件包 的信息。

源代码分发

fio_planet-1.0.1.tar.gz (58.2 kB 查看哈希值)

上传时间 源代码

构建分发

fio_planet-1.0.1-py3-none-any.whl (16.8 kB 查看哈希值)

上传时间 Python 3

支持者