Repository URL to install this package:
|
Version:
1.10.1 ▾
|
"""$ fio distrib"""
import json
import click
import cligj
from fiona.fio import helpers, with_context_env
from fiona.model import ObjectEncoder
@click.command()
@cligj.use_rs_opt
@click.pass_context
@with_context_env
def distrib(ctx, use_rs):
"""Distribute features from a collection.
Print the features of GeoJSON objects read from stdin.
"""
stdin = click.get_text_stream('stdin')
source = helpers.obj_gen(stdin)
for i, obj in enumerate(source):
obj_id = obj.get("id", "collection:" + str(i))
features = obj.get("features") or [obj]
for j, feat in enumerate(features):
if obj.get("type") == "FeatureCollection":
feat["parent"] = obj_id
feat_id = feat.get("id", "feature:" + str(i))
feat["id"] = feat_id
if use_rs:
click.echo("\x1e", nl=False)
click.echo(json.dumps(feat, cls=ObjectEncoder))