You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jul 11, 2025. It is now read-only.
Pay attention to the issuer and wkt endpoints. The first should exactly match the expected JWT issuer claim. The second should be web-resolvable and return a WKT JSON which provides the public key.
49
+
50
+
### Auth TODOs
51
+
52
+
- ensure health check route is not authorised
53
+
30
54
## Quickstart
31
55
32
56
```julia
@@ -87,28 +111,6 @@ Note that the server now caches the initially loaded spatial data in between ser
87
111
launches to reduce downtime. It will be necessary to restart the Julia session to reload
88
112
spatial data.
89
113
90
-
## JWT Auth configuration
91
-
92
-
The API can be configured to expect a valid JWT in the `Authorization: Bearer <token>` header format.
93
-
94
-
Add the following to your `.config.toml`:
95
-
96
-
```toml
97
-
[jwt_auth]
98
-
# Enable JWT auth : bool true/false
99
-
JWT_ENABLED = true
100
-
# Which iss to validate for the JWTs?
101
-
JWT_ISS = "https://issuer.com"
102
-
# WKT JWKS endpoint where public key can be retrieved
Pay attention to the issuer and wkt endpoints. The first should exactly match the expected JWT issuer claim. The second should be web-resolvable and return a WKT JSON which provides the public key.
107
-
108
-
### Auth TODOs
109
-
110
-
- ensure health check route is not authorised
111
-
112
114
## Performance notes
113
115
114
116
The config setting `COG_THREADS` controls how many threads should be requested when writing
@@ -159,37 +161,37 @@ When running the below commands, it is assumed you have `data` available locally
Pay attention to the issuer and wkt endpoints. The first should exactly match the expected JWT issuer claim. The second should be web-resolvable and return a WKT JSON which provides the public key.
49
+
50
+
### Auth TODOs
51
+
52
+
- ensure health check route is not authorised
53
+
34
54
## Quickstart
35
55
36
56
```julia
@@ -110,27 +130,33 @@ Note that the server now caches the initially loaded spatial data in between ser
110
130
launches to reduce downtime. It will be necessary to restart the Julia session to reload
111
131
spatial data.
112
132
113
-
## JWT Auth configuration
133
+
## Performance notes
114
134
115
-
The API can be configured to expect a valid JWT in the `Authorization: Bearer <token>`
116
-
header format.
135
+
The config setting `COG_THREADS` controls how many threads should be requested when writing
136
+
out COGs. Ideally this will be set to at least 2 (preferably 4).
137
+
Higher values do seem to reduce write times but with diminishing returns (tested up to 8).
138
+
Locally, write times with four threads configured range from 10 to 15 seconds.
117
139
118
-
Add the following to your `.config.toml`:
140
+
## Reef edge alignment for site searching
119
141
120
-
```toml
121
-
[jwt_auth]
122
-
# Enable JWT auth : bool true/false
123
-
JWT_ENABLED = true
124
-
# Which iss to validate for the JWTs?
125
-
JWT_ISS = "https://issuer.com"
126
-
# WKT JWKS endpoint where public key can be retrieved
`identify_potential_sites_edges()` can be used to identify potential sites that only align with
143
+
the nearest reef edge (or specified rotations away from this angle).
144
+
This method works by identifying the closest edge of reef polygon geometries that have been
145
+
converted into lines.
129
146
130
-
Pay attention to the issuer and wkt endpoints. The first should exactly match the expected
131
-
JWT issuer claim. The second should be web-resolvable and return a WKT JSON which provides
132
-
the public key.
147
+
The following processing is required before use:
133
148
134
-
### Auth TODOs
149
+
- Reef polygons should be simplified (`GO.simplify()`) and buffered to avoid matching possibly inaccurate reef edges.
150
+
- Simplified reef polygons should be provided as vertex-vertex lines with `polygon_to_lines()`.
151
+
- Require raster of target pixels to search, and their indices (currently a vector of `CartesianIndices` for identifying search pixels). Use `findall(bool_search_raster)` to return pixel indices.
152
+
- Raster of search pixels should be masked by reef polygons or simplified reef polygons.
153
+
- The target region name should be specified in GBRMPA format.
154
+
- E.g. "Townsville/Whitsunday Management Area" rather than "Townsville-Whitsunday".
155
+
156
+
### Parquet assessment additional setup
135
157
136
-
- ensure health check route is not authorised
158
+
- A parquet GeoDataFrame must be loaded and filtered for unsuitable pixels based on user criteria thresholds using a Dict and `within_thresholds()`.
159
+
-`lon` and `lat` columns (FLoat64) must be added to the GeoDataFrame.
160
+
- E.g. `valid_pixels.lon = first.(GI.coordinates.(valid_pixels.geometry))`
161
+
The column used for masking should be the same as the column specified as geometry_col in
0 commit comments