Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Come esplodere una lista di valori di un campo, e poi raggruppare per questi valori #198

Closed
aborruso opened this issue Feb 10, 2022 · 3 comments

Comments

@aborruso
Copy link
Member

aborruso commented Feb 10, 2022

Senza fretta,
per ogni espressione ci sono vari tag, ma più espressioni possono avere lo stesso tag, esempio:

current è presente come tag nella funzione $geometry , $x_at e chissà in quante altre.

con miller posso creare un csv, a partire dall'output generato sopra, con due colonne: tags e expression: dove in tags c'è, appunto, il tag e nella colonna expression tutte le espressioni che usano quel tag.

allego file di output generato:
tags_expressions.csv

Originally posted by @pigreco in #197 (comment)

@aborruso
Copy link
Member Author

Ciao @pigreco ,
a partire dal file che hai condiviso, puoi ad esempio prima esplodere per tags e poi implodere per name, usando il verbo nest di Miller:

mlr --csv nest  --evar "," -f tags then nest --ivar "," -f name  tags_expressions.csv >out.csv
tags name
current $geometry,$id,$length,$map,$page,$perimeter,$rownum,$scale,$vertex_as_point,$vertex_index,$vertex_x,$vertex_y,$vertex_z,$x,$x_at,$y,$y_at,$z,current_parent_value,current_value,now,overlay_contains,overlay_crosses,overlay_disjoint,overlay_equals,overlay_intersects,overlay_nearest,overlay_touches,overlay_within,sqlite_fetch_and_increment,to_date,to_datetime
processing $geometry,parameter
functions $geometry,Meshes,age
row $id,$rownum,current_value,sqlite_fetch_and_increment,uuid
distance $length,$perimeter,buffer,densify_by_distance,distance_to_vertex,hamming_distance,hausdorff_distance,length,length3D,levenshtein,line_interpolate_angle,line_interpolate_point,line_locate_point,overlay_nearest,perimeter,project,simplify,sinuosity,straight_distance_2d
planimetric $length,$perimeter,area,length,length3D,perimeter
length $length,$perimeter,aggregate,hamming_distance,hausdorff_distance,length,length3D,lpad,max_length,min_length,rpad,sinuosity,tapered_buffer
perimeter $length,$perimeter,perimeter
linestring $length,angle_at_vertex,extend,extrude,length,line_interpolate_angle,line_interpolate_point,line_locate_point,line_merge,offset_curve,single_sided_buffer,straight_distance_2d
project $length,$perimeter,area,length3D,perimeter,project_color

Un'altra buona ricetta

@aborruso
Copy link
Member Author

@pigreco piccola nota: per questo usa Miller 5, che la 6 ha un comportamento strano

@pigreco
Copy link
Contributor

pigreco commented Feb 10, 2022

ricetta fatta e pubblicate, chiudo issue e grazie mille

https://tansignari.opendatasicilia.it/ricette/riga_comando/esplodere-una_lista_di_valori_di_un_campo/

@pigreco pigreco closed this as completed Feb 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants