Subject | Hash | Author | Date (UTC) |
---|---|---|---|
working coordinate conversion | 93690c423d103a8c643eb736c49f5086c97569ab | dleucas | 2019-05-17 02:26:16 |
WIP GeoJSON transformation | 0fb3c00fe05abdab66a505526412273340a57c02 | dleucas | 2018-08-04 03:16:55 |
add filter by location name | 043ca941dd733b0c36274576ec17680255f75646 | dleucas | 2018-07-25 20:13:46 |
index settings for location name. also use english for notes | 6ccc4e6332fb40b2556c2570e9c3cdbb5a48f8a3 | dleucas | 2018-07-25 20:13:19 |
add location names | c67e4b4eea6c4ef16337e3eac6eb10ae16393430 | dleucas | 2018-07-25 18:32:45 |
use tables for result display and add sort options | 19d650a762c7eee577068f17af8af6042e68706f | dleucas | 2018-07-24 00:28:13 |
enlarge image on click, display acoustat values | cd4cdd355ea4fcd09dbb3c5a3dd46b9e1a2695e5 | dleucas | 2018-07-23 23:39:39 |
typo, P2 was not assigned correctly | 4fd59e536c917da8a828f30165aae953a6c9455b | dleucas | 2018-07-23 23:38:58 |
change spectrogram paramters | 14777e7d7c82c664b1fcc3b588fa123e8e124d04 | dleucas | 2018-07-23 23:38:31 |
acustat, dl link, spectograms | da953b3e7c5c3b4ee2d523ee9773b5c379b4fec1 | dleucas | 2018-07-22 00:39:51 |
scripts for processing wave audio files | d23b5a2edc5b279ac6998a754a765e6a9e4dcda2 | dleucas | 2018-07-21 20:04:10 |
mapping for acoustat time and frequency properties | 57007aab9e4b1af93ec97f9fc4743952d3e2ca77 | dleucas | 2018-07-21 19:59:19 |
add observation date to UI, facet filter grouping | 3fdc0629d9b4dfb8238086569bb4cb666a1657ac | dleucas | 2018-07-19 22:34:43 |
image size to 100% and genus list with 50 items | 9220f78daa9ad082b2e45b1e115e14747ca8973c | dleucas | 2018-07-19 19:56:53 |
add observation date | ff39768120d7967104b3da4ca586fef0d7da52db | dleucas | 2018-07-19 19:55:45 |
embed sound file, display spectogram | 667ac83016e4ffbf0c410057b40abdfd9dc87470 | dleucas | 2018-07-18 23:48:32 |
add more filters and display notes | d0741e04b40892b2aee2780eeea5e8cc80f70472 | dleucas | 2018-07-18 20:57:16 |
ElasticSearch field schema | c7d00ee0ec404284ba4f8a6b5851984c0b246d6f | dleucas | 2018-07-18 20:56:31 |
(re-)create index with mapping | a2d442dbe6c9e37de4dfdba6ed8ab99362914303 | dleucas | 2018-07-18 20:55:49 |
add note field for UI display | 254ef4bc795c4bc950fed1fdc9331fab4d4aff8d | dleucas | 2018-07-18 20:54:57 |
File | Lines added | Lines deleted |
---|---|---|
GeoJSON.jq | 33 | 5 |
File GeoJSON.jq changed (mode: 100755) (index d47abaa..c0f2f44) | |||
1 | #!/usr/bin/jq -fs | ||
1 | #!/usr/bin/jq -fsc | ||
2 | 2 | ||
3 | def as_coord: if (startswith("W") or startswith("S")) then "-\(.[1:]).0" else "\(.[1:]).0" end; | ||
3 | def as_coord: | ||
4 | # Example W073 or W70, degree only, negate | ||
5 | if startswith("W") and length <= 4 then | ||
6 | -(.[1:] | tonumber) | ||
7 | # Example W12404 degree with minutes, negate | ||
8 | # Negate after addition | ||
9 | elif startswith("W") and length == 6 then | ||
10 | -((.[1:4] | tonumber) + (.[4:] | tonumber / 60)) | ||
11 | # Example S38 degree only, negate | ||
12 | elif startswith("S") and length == 3 then | ||
13 | -(.[1:] | tonumber) | ||
14 | # Degree with minutes, negate | ||
15 | elif startswith("S") and length == 5 then | ||
16 | -((.[1:3] | tonumber) + (.[3:] | tonumber / 60)) | ||
17 | # Degree only | ||
18 | elif startswith("N") and length == 3 then | ||
19 | (.[1:] | tonumber) | ||
20 | # Degree with minutes N4439 | ||
21 | elif startswith("N") and length == 5 then | ||
22 | ((.[1:3] | tonumber) + (.[3:] | tonumber / 60)) | ||
23 | # Degree only | ||
24 | elif startswith("E") and length <= 4 then | ||
25 | (.[1:] | tonumber) | ||
26 | # Degree with minutes | ||
27 | elif startswith("E") and length == 5 then | ||
28 | ((.[1:3] | tonumber) + (.[3:] | tonumber / 60)) | ||
29 | else | ||
30 | null | ||
31 | end; | ||
4 | 32 | ||
5 | 33 | { | { |
6 | 34 | "type": "FeatureCollection", | "type": "FeatureCollection", |
... | ... | def as_coord: if (startswith("W") or startswith("S")) then "-\(.[1:]).0" else "\ | |
12 | 40 | "coordinates": | "coordinates": |
13 | 41 | .GC | split("|") | .GC | split("|") |
14 | 42 | | map(capture("(?<lat>[NS]{1}\\d{1,4})[A-Z]{1,2}(\\d{1,2})?([A-Z]{1})?\\s+(?<lon>[EW]{1}\\d{1,5})")) | | map(capture("(?<lat>[NS]{1}\\d{1,4})[A-Z]{1,2}(\\d{1,2})?([A-Z]{1})?\\s+(?<lon>[EW]{1}\\d{1,5})")) |
15 | | map([(.lon|as_coord|tonumber),(.lat|as_coord|tonumber)]) | ||
16 | |||
43 | | map([(.lon | as_coord), (.lat | as_coord)]) | ||
17 | 44 | }, | }, |
18 | 45 | "properties": { | "properties": { |
19 | 46 | "id": .RN, | "id": .RN, |
20 | "_source_value": .GC | ||
47 | "name": .RN, | ||
48 | "description": .NT | ||
21 | 49 | } | } |
22 | 50 | } | } |
23 | 51 | ] | ] |