24 lines
608 B
Bash
Executable File
24 lines
608 B
Bash
Executable File
#!/bin/bash
|
|
|
|
jq -c 'def walk(f):
|
|
. as $in
|
|
| if type == "object" then
|
|
reduce keys[] as $key
|
|
( {}; . + { ($key): ($in[$key] | walk(f)) } ) | f
|
|
elif type == "array" then map( walk(f) ) | f
|
|
else f
|
|
end;
|
|
|
|
def mapper(f):
|
|
if type == "array" then map(f)
|
|
elif type == "object" then
|
|
. as $in
|
|
| reduce keys[] as $key
|
|
({};
|
|
[$in[$key] | f ] as $value
|
|
| if $value | length == 0 then .
|
|
else . + {($key): $value[0]} end)
|
|
else .
|
|
end;
|
|
|
|
walk( mapper(select((type == "object" and .properties.admin_level == "5") | not)) )' < Germany_AL4-AL6.GeoJson > G4+6.geojson |