Create Records Spanning Routes

4027
3
07-27-2015 04:25 PM
nealei_
New Contributor

Our corporate roads layer breaks each road up into links which are all individual routes. How can I create business data records that start in a link, span 0..n routes then end in a link? I want a single graphic and attribute record for each business data record (ie not split into each section within each route).

Tags (2)
0 Kudos
3 Replies
DavidKnudsen
Occasional Contributor

Do your business data records need to reference portions of links rather than whole links? If not, you might consider creating an attributed many-to-many (M:N) relationship class between your business data records and the roads layer. In fact, you could possibly handle referencing portions of links as well, storing the from- and to- measures of the links in the relationship class attribute table. Unfortunately, this approach does not automatically provide for a "single graphic" for each business data record. Such graphics would have to be built, essentially by joining from the road layer to the relationship class attribute table and dissolving on the joined business record ID. If each road link is associated with no more than one business record, then this could be done all at once, but if links can be associated with more than one business record you'd need a tool that loops through each business record, selecting and dissolving the associated road links and appending them all together into one feature class.

That approach was baked into the custom software behind the Massachusetts Road Inventory up until this year, when the Inventory was migrated to Roads and Highways. As in your case, each Inventory link was its own route, while numbered routes as drivers perceive them (the equivalent to your business records) were listed in a table that participated in an attributed relationship class with the links. A nightly build process regenerated a numbered route feature class.

0 Kudos
nealei_
New Contributor

Thank you for your comments.

1. Yes I need a to reference parts of a link.

2. Very interesting comment to include from- and to- measures.

3. Single graphic is trivial issue only requiring disolve on business data ID.

0 Kudos
DavidKnudsen
Occasional Contributor

I should probably also have explicitly mentioned that the many-to-many relationship class table could be an event table on the links instead (or you could treat it as such). The links feature class needs to have measure values, which can be automatically created. Each event table record stores from- and to-measures for the link (presumably most of them span whole links), the link ID (route ID) and the business data ID. You can add the links and event table as an event layer to a map document and save it as new features—which does the work of chopping up link shapes for any that are only partly used—then dissolve on business data ID, as you point out. (Those steps can also be easily automated using Model Builder or Python.)

Event tables allow overlaps, too, in the case where any of your business data routes overlap. (If a given link is part of two business data routes, the event table has two records for that link, differing only by their business data ID.)

0 Kudos