Relating LRS events/assets from different datasets by their common spatial or spatiotemporal existence is one of the LRS professional’s most desired capabilities. Software vendors’ answers to this have been variations of the “event overlay” function, but this has several limitations – namely, few output options, lack of aggregation capabilities and limit of two participating LRS datasets.
The key limiting factor perhaps stems from the semantically-narrow term of “overlay” itself! In this context, “overlay” simply means putting two layers on top of each other for the purpose of identifying the data in common and not in common, which is what current LRS overlay implementations do.
Now consider the term “join,” the most fundamental concept and operation in the relational database technologies. It has rich and well-established semantics that is relevant to LRS data management. By embracing the term “join,” the LRS community becomes a full member of the big, happy RDBMS family.
What does the family offer? A lot!
First, there are four different “Join” operations that we can use: inner join, left-outer join, right-outer join and full join. We are no longer limited to two-layer overlays with either intersecting or non-intersecting results. For example, the result of the left-outer join of a Pavement Condition dataset and a Traffic Counts dataset includes sections of roads on which traffic count data is not available.
Secondly, it allows us to understand what “LRS join” really is. Just like its brother “spatial join,” LRS join falls into the “intersection join” category where intersection not only represents the inner join results, but also serves as the reference in categorizing the results of the other join operations. See Figure 1.
Thirdly, in RDBMS, it is common to join more than two tables together by chaining multiple join operations. Don’t you dream of joining multiple LRS layers in a single operation?
Finally, analytical functions can be combined with join operations. Imagine joining datasets based on the LRS dimensions while aggregating attributes from either of the joined datasets!
Don’t just Overlay, Join!