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
Copy file name to clipboardExpand all lines: _posts/2023-03-02-building-street-view-alternative-for-the-outdoors-part-2.md
+30-6Lines changed: 30 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -158,7 +158,8 @@ As noted earlier in this post a Sequence has the following values properties by
158
158
And some that are auto assigned;
159
159
160
160
*`uuid`: Trek View Sequence ID
161
-
*`owner_uuid`: Trek View user ID of Sequence owner
161
+
*`sequence.is_published`: boolean, if user has published
162
+
*`user.uuid`: Trek View user ID of Sequence owner
162
163
*`mapillary.id`
163
164
* data.sequence: string, ID of the sequence, which is a group of images captured in succession.
164
165
*`mapillary.make`
@@ -217,8 +218,8 @@ All `air_quality.` data is pulled from the OpenWeather Air Pollution API using `
217
218
For each sequence one or more image. For each image we hold the following data that is all auto-assigned
218
219
219
220
*`uuid`: Trek View Image ID
220
-
*`owner_uuid`: Trek View user ID of Imgae owner
221
-
*`sequence_uuid`: The sequence ID the image belongs too
221
+
*`user.uuid`: Trek View user ID of Imgae owner
222
+
*`sequence.uuid`: The sequence ID the image belongs too
222
223
*`mapillary.id`
223
224
* data.id: string, ID of the image
224
225
*`mapillary.altitude`
@@ -251,7 +252,26 @@ It would _probably_ more efficient to retrieve this type of data in a graph data
251
252
252
253
As such, Postgres + PostGIS seems to be the safest choice foran MVP. I do have some initial concerns about performance exposing thisin an interactive map view (e.g. how to render the world map with all sequences/images in the DB) but these concerns can be accounted forin the design of the UX.
253
254
254
-
Also, as you'll see in the next part, we don't need to worry about queries to find the next image in a sequence...
255
+
Also, as you'll see in the next section (_Rendering images on map and the panoramic Viewer_), we don't need to worry about queries to find the next image in a sequence,
256
+
257
+
Finally, we have the concept of users. Excluding authentication details, which will be managed by a third party (probably Auth0), I wanted to include statistics about the user.
258
+
259
+
Both Mapillary and Google Street View do this...
260
+
261
+
<img class="img-fluid" src="/assets/images/blog/2023-03-02/Mapillary-stats.png" alt="Mapillary User Statistics" title="Mapillary User Statistics" />
262
+
263
+
<img class="img-fluid" src="/assets/images/blog/2023-03-02/Street-View-Studio-stats.png" alt="Street View User Statistics" title="Street View User Statistics" />
264
+
265
+
I'd like to include
266
+
267
+
* A count of sequences
268
+
* Total length of sequences (km)
269
+
* Number of sequence marked as favourite
270
+
* A count of images
271
+
* Number of images marked as favourite
272
+
273
+
As it stands, I don't know if it's better to create a summary of this data on an automated basis, or query it each time from the database.
274
+
255
275
256
276
### Rendering images on map and the panoramic Viewer
257
277
@@ -293,7 +313,7 @@ Ulitmlatley this will require some trial and error to provide a seamless user ex
293
313
294
314
For the panorama viewer, the Mapillary web app uses [MapillaryJS](https://mapillary.github.io/mapillary-js/) which they've open-sourced under an MIT license. As such, it makes it a no-brainier for me to use for the viewer.
295
315
296
-
The even better news is it works natively with Mapillary images which brings us navigation between images for free.
316
+
The even better news is it works natively with Mapillary images which brings us navigation between images for free (I don't need to store information about the connected photos locally).
297
317
298
318
[Try pasting the code below into the live editor](https://mapillary.github.io/mapillary-js/docs/main/init)...
299
319
@@ -357,4 +377,8 @@ Though that wasn't the aim of these posts. I wanted to see if I could build a St
357
377
358
378
No money was a little ambitious, although a small VPS would probably be more than adequate for the implementation described above, but actually building this thing seems totally possible.
359
379
360
-
In the next post I'll show you some early designs...
0 commit comments