Subject | Hash | Author | Date (UTC) |
---|---|---|---|
add recording conditions | c5603786d17346690a789c5392137fd9afd78b28 | dleucas | 2021-12-22 12:18:07 |
add signal level with comment on missing data | af643d86e29e82e0879eaf899e6bfea2a505adab | dleucas | 2021-12-22 11:20:28 |
docu updates | 0912bbabf50c7c106fc45f623497ca87f7503377 | dleucas | 2021-12-22 09:54:28 |
extract storage location | b73fc943e55d51fd3df9fe26d46220b67d2efe75 | dleucas | 2021-12-19 18:32:04 |
extract and transform author names | 0ff3dd29773a1b93c7a893c4971dda5522fa488b | dleucas | 2021-12-19 17:56:35 |
extract and transform ship names | 12eb822d4ae70fbd2f01b0f03a77eee5e0d9a2b7 | dleucas | 2021-12-19 14:40:54 |
extract and transform observation time | 595eb911201f8697c9c5f1aa1c40ee502e8009c2 | dleucas | 2021-12-19 12:04:29 |
formating | f82ed6a3f1c0dccfc50aaa2a0fa3e866f5741acf | dleucas | 2021-12-18 23:18:45 |
update readme for GeoJSON command | e5c1a6f49ea17a8860cecffdcf280d1d2fdb3ac2 | dleucas | 2021-12-18 23:13:31 |
add species names to GeoJSON and World Map | 86af1d9597c3cb3c58f71c777902148d2ce333f8 | dleucas | 2021-12-18 22:51:11 |
re-worked GeoJSON from transformed JSON. identical output. added license | 8ec5e1678966c6b1c441d035a6833f55586325ec | dleucas | 2021-12-18 22:01:19 |
remove genus, add species common and scientific names, display names in record details | e2025219ade78f9ac2e6dfd81c479d242b9db24b | dleucas | 2021-12-18 17:18:28 |
add common and scientific names to schema | b4c7dcb4042b9d1cd3da24123f4506113a876f02 | dleucas | 2021-12-18 17:17:17 |
remove genus, add species and type to type_of namespace change | 2a7757a6c3e6dbb784b41d7a4b29381bc9105803 | dleucas | 2021-12-18 17:16:04 |
converted all transforms to functions | 9d37303b24abc225f11f9c3d3b622c5167ed43e3 | dleucas | 2021-12-18 16:00:04 |
more conversion to functions. match old output for now | fc4a8157a6902f4571b54c6ab84174f005adbe0d | dleucas | 2021-12-18 10:26:23 |
WIP convert filters to functions | 32badc3512dd9094d51ba2cc2ef8112eba2698bf | dleucas | 2021-12-16 18:33:21 |
convert html only once. extract species names as json. formating and lint. | e755dc7f4fe2d7c9b97826a0f3f2cf5385e90ef9 | dleucas | 2021-12-16 13:35:31 |
download once. use wget only. get species names. test for commands. formating | 572dbf1eaffe17c43a4a01dc9675737628c5a234 | dleucas | 2021-12-16 12:14:26 |
add filter by behavior type, sort by modified date | c3f9f9f9d9501e714117af7fff573e7f3fa4052b | dleucas | 2019-06-14 03:51:19 |
File | Lines added | Lines deleted |
---|---|---|
transform.jq | 25 | 0 |
File transform.jq changed (mode: 100755) (index 89d26e7..bf40bdc) | |||
... | ... | def remove_extra_spaces: | |
30 | 30 | # replace two or more whitespaces with a single one | # replace two or more whitespaces with a single one |
31 | 31 | sub("\\s{2,}"; " "); | sub("\\s{2,}"; " "); |
32 | 32 | ||
33 | def null_if_empty: | ||
34 | if (. == "") then null | ||
35 | elif (. | length == 0) then null | ||
36 | else . end; | ||
33 | 37 | # | # |
34 | 38 | # transform functions | # transform functions |
35 | 39 | # | # |
... | ... | def as_sound_sample_rate: | |
485 | 489 | # 10200 | # 10200 |
486 | 490 | if (. | length > 0) then . | sub("[\\.,]"; "") | tonumber else null end; | if (. | length > 0) then . | sub("[\\.,]"; "") | tonumber else null end; |
487 | 491 | ||
492 | def as_recording_conditions: | ||
493 | # Conditions, weather, salinity | ||
494 | # | ||
495 | # Only removing a few species codes. Not useful as filter | ||
496 | # | ||
497 | # Example source data: | ||
498 | # | ||
499 | # Cruise ship in area, wind 10 kts. WNW, seas 2-3ft. | ||
500 | # Flat, calm, sunny, occassional boats | ||
501 | # High generator background RG AX-58 hydrophones | ||
502 | # In air CC12F | ||
503 | # Magnecorder tape recorder | ||
504 | # On ice. Noisy ship background CC12F | ||
505 | sub("\\b[A-C][A-Z]\\d{1,2}[A-Z]$"; "") | trim | remove_extra_spaces; | ||
506 | |||
507 | |||
488 | 508 | # | # |
489 | 509 | # Assemble the object tree | # Assemble the object tree |
490 | 510 | # | # |
... | ... | def as_sound_sample_rate: | |
505 | 525 | ship: .SH | as_ship, | ship: .SH | as_ship, |
506 | 526 | author: .AU | split("|") | map(as_author), | author: .AU | split("|") | map(as_author), |
507 | 527 | storage_location: .LO | split("|") | map(as_storage_location), | storage_location: .LO | split("|") | map(as_storage_location), |
528 | # recording setup | ||
529 | recording: { | ||
530 | # mostly single values, join the few multi-values | ||
531 | "conditions": .RC | split("|") | map(as_recording_conditions) | join(", ") | null_if_empty, | ||
532 | }, | ||
508 | 533 | # object contains properties of the captured signal | # object contains properties of the captured signal |
509 | 534 | signal: { | signal: { |
510 | 535 | position: [ | position: [ |