Demo: Loading Road Inventory Log Client Side

Intro

I've done a lot of working optimizing LRS client side operations and its developed to a point where I think its worth showing what it is capable of. This post is a demo showing how these operations can be used to enable web applications to use event data at scale.


Problem Addressed

LRS operations kind of stink from a query perspective: geometry is heavy and often times redundant in LRS event queries. This manifests itself in all sorts of ways most importantly being web maps that don't feel and perform like they should or could. For large scale web apps that may need to display hundreds of thousands of events on a map, this makes showing event data extremely cumber some.

Solution

Remove the network calls entirely interface with the LRS network client side using the base map vector data already available. This has been previously discussed in other posts, but the gist of it is instead of going to the server and back for every segment I need I do that in the users browser. This has huge savings for computer on the server and network bandwidth for both the server and the client. (10-50x)

Demo Results

In this demo I load a road inventory log csv file which is basically the entire LRS network joined into one big file by display field. It is 279666 rows, containing 72 columns, and is 55 MB as a flat csv.


Image above shows the table in excel, as you can see its basically an LRS overlay file.

This file dynamically segmented into geojson vector is 695 MB so as you can imagine consuming that in the browser over the network is basically impossible.

With this solution displaying a large amount of event data through the browser is possible with a massive benefit of saving compute and bandwidth on the server.

Get in touch

If you have any questions about NexusIO email me at bennett@nexuslrs.com or use the contact page.


Previous
Previous

NexusLRS wins at Annual AASHTO Meeting

Next
Next

Rendering Large High Res Maps to PNG Images