{"id":862,"date":"2016-01-20T20:46:24","date_gmt":"2016-01-20T20:46:24","guid":{"rendered":"http:\/\/www.cardiff.ac.uk\/sdna\/?p=862"},"modified":"2016-01-20T20:46:24","modified_gmt":"2016-01-20T20:46:24","slug":"repairing-split-links-is-no-longer-necessary","status":"publish","type":"post","link":"https:\/\/research-sites.cardiff.ac.uk\/spatial-design-network-analysis-sdna\/repairing-split-links-is-no-longer-necessary\/","title":{"rendered":"Repairing split links is no longer necessary"},"content":{"rendered":"<p>In the soon-to-be-released sDNA3, it will no longer necessary to repair split links.\u00a0 This looks like a departure from how sDNA used to work, so I\u2019d better explain it.<\/p>\n<p>First, let\u2019s clarify what we\u2019re talking about.\u00a0 A split link is where a single network link is represented by two or more polylines in the data, rather than a single polyline as is customary.\u00a0 Here\u2019s an example, in which I\u2019ve placed circles over polyline ends to make them visible.\u00a0 The polylines shown in red form a split link.\u00a0 (Of course they look like a single line &#8211; we only know it&#8217;s a split link because of the node halfway along).<\/p>\n<figure id=\"attachment_863\" aria-describedby=\"caption-attachment-863\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-863\" title=\"splitlink\" src=\"https:\/\/sdna.cardiff.ac.uk\/sdna\/wp-content\/uploads\/2015\/12\/splitlink-300x160.png\" alt=\"\" width=\"300\" height=\"160\" \/><figcaption id=\"caption-attachment-863\" class=\"wp-caption-text\">Base data (c) Openstreetmap contributors<\/figcaption><\/figure>\n<p>The point where the two red links join is often called a <em>pseudonode<\/em> in the technical literature, so we can also say that split links are the lines joined by pseudonodes.<\/p>\n<p>Two of our aims in making the original sDNA tool were (i) to exploit measures of link density to add information to our models, and (ii) to be compatible with data in the format everybody uses, that is to say, link-node.\u00a0 For this reason it seemed like a good idea to insist on using whole links as the unit of analysis, so we specified that sDNA must be fed networks without split links, and provided a tool for repairing them.<\/p>\n<p>It turns out that was a bad idea, as it doesn&#8217;t offer our users enough flexibility.\u00a0 In our own work, and also working with our <a title=\"New Funding for sDNA Pedestrian and Cycle Model\" href=\"https:\/\/sdna.cardiff.ac.uk\/sdna\/new-funding-for-sdna-pedestrian-and-cycle-model\/\">Impact Accelerator<\/a> partners, we have found several reasons why you might want to leave split links as they are:<\/p>\n<ul>\n<li><span style=\"text-decoration: underline\">Topology checking<\/span>.\u00a0 Accidental intersections between lines in network data cause huge problems for network analysis, as they imply a network model which is wrong.\u00a0 Unfortunately they are also hard to spot, because on most maps they look just like lines with coincident endpoints.\u00a0 For this reason, many data providers will split ALL links where they cross, even where they don\u2019t join (e.g. bridges and tunnels \u2013 to which grade separation data is added to show what is going on).\u00a0 Working this way has the advantage that any intersections between lines are definitely an error, so errors are easier to find with a topology checker.<\/li>\n<li><span style=\"text-decoration: underline\">Representing sub-links with different characteristics<\/span>.\u00a0 For example, a one way system, toll charge, major origin or destination, etc, that applies only to part of a link.<\/li>\n<li><span style=\"text-decoration: underline\">Obtaining output at sub-link level<\/span>.\u00a0 If many origins and destinations fall on a link, traffic flow will vary along the length of the link, and you may wish to model this rather than treat the link as a single entity.\u00a0 Or, you may wish to measure accessibility at sub-link level.<\/li>\n<li><span style=\"text-decoration: underline\">Sub-link accuracy for routing algorithms<\/span>.\u00a0 In some cases, somebody\u2019s starting position on a link will affect the way they choose to leave it.\u00a0 For most models this does not matter, but if it does in yours, you may want to divide links into small chunks to represent it.<\/li>\n<li><span style=\"text-decoration: underline\">Testing different network design options<\/span>.\u00a0 Ultimately, sDNA exists to help designers plan better networks, so testing out different alternatives is part of the job.\u00a0 While you could prepare an entire new network for each option you want to test, it\u2019s usually easier to add and remove a small set of links by switching them on or off.\u00a0 Another new feature of sDNA3 is that it allows you to do this.\u00a0 However, switching off a link will usually have the effect of creating pseudonodes, and hence split links, at its endpoints.<\/li>\n<\/ul>\n<p>So, here is how split links are handled in sDNA3:<\/p>\n<ul>\n<li><strong>sDNA still uses link-node format.<\/strong><br \/>\n<strong><\/strong><\/li>\n<li><strong>Links can, however, be composed of one of more polylines.\u00a0 <\/strong>At your choice you can either use one, or more than one polyline to represent each link.\u00a0 If you choose to use only one polyline per link, you are using sDNA in the way we used to recommend, but you have other options now.<\/li>\n<li><strong>Each polyline is treated as a single entity for routing decisions<\/strong>, that is to say, all traffic between each pair of polylines will go the same way (unless you use random hybrid metrics and oversampling).<\/li>\n<li>Three forms of weighting are offered:\n<ul>\n<li><span style=\"text-decoration: underline\"><strong>Polyline weighting<\/strong><\/span>:\u00a0 each polyline receives a weight of 1 (unweighted), or a custom weight which applies directly to the polyline.<\/li>\n<li><span style=\"text-decoration: underline\"><strong>Length weighting<\/strong><\/span>:\u00a0 each polyline receives a weight equal to its length (unweighted), or if using custom weights, these are taken to represent weight per unit length.<\/li>\n<li><span style=\"text-decoration: underline\"><strong>Link weighting<\/strong><\/span> (the default): each link receives a weight of 1 (unweighted), or if using custom weights, they are taken to represent weight per link.\u00a0 In the case of split links, the weight is divided over the polylines that form the link, proportional to their length.\u00a0 Custom weights for parts of split links are scaled down according to the fraction of the link they represent.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Finally, sDNA3 outputs a new measurement called <strong>LFrac<\/strong> or <strong>Link Fraction<\/strong>.\u00a0 This shows you what proportion of a link each polyline in your model represents.<\/p>\n<p>Link weighting sounds complicated, but really it\u2019s the same thing we were doing from the beginning.\u00a0 If all split links are repaired, then polyline weighting is the same as link weighting; which is why in sDNA versions 1 and 2 we achieved link weighting by using polyline weighting and providing you with a tool to repair the split links.<\/p>\n<p>There are, of course, reasons to use the other types of weighting on occasion.\u00a0 Polyline weighting is useful if you have address point data which you have attached to the network, as it preserves the exact value of each attached weight.\u00a0 Length weighting is useful for analyses where you think network length is more representative of urban density than link counts.\u00a0 Both of the latter can also be used along with land use data to provide custom weights per link, or per unit length, for different types of land use.<\/p>\n<p>But go ahead and use split links: leaving them in there won&#8217;t affect the way the analysis is weighted by default.\u00a0 If you use a lot of split links (and I mean a lot \u2013 like splitting every link into multiple parts) it will slow down sDNA, but if you only use a few here and there \u2013 say for bridges, design options, one way systems, etc &#8211; you won\u2019t notice the difference in speed.\u00a0 If you want higher accuracy only on a small part of your model, you can also split links in that part only to keep compute times down.<\/p>\n","protected":false},"excerpt":{"rendered":"In the soon-to-be-released sDNA3, it will no longer necessary to repair split links.\u00a0 This looks like a departure from how [&hellip;]","protected":false},"author":99,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19],"tags":[],"cu_profile":[],"class_list":["post-862","post","type-post","status-publish","format-standard","hentry","category-all-sdna"],"meta_box":[],"_links":{"self":[{"href":"https:\/\/research-sites.cardiff.ac.uk\/spatial-design-network-analysis-sdna\/wp-json\/wp\/v2\/posts\/862","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/research-sites.cardiff.ac.uk\/spatial-design-network-analysis-sdna\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/research-sites.cardiff.ac.uk\/spatial-design-network-analysis-sdna\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/research-sites.cardiff.ac.uk\/spatial-design-network-analysis-sdna\/wp-json\/wp\/v2\/users\/99"}],"replies":[{"embeddable":true,"href":"https:\/\/research-sites.cardiff.ac.uk\/spatial-design-network-analysis-sdna\/wp-json\/wp\/v2\/comments?post=862"}],"version-history":[{"count":0,"href":"https:\/\/research-sites.cardiff.ac.uk\/spatial-design-network-analysis-sdna\/wp-json\/wp\/v2\/posts\/862\/revisions"}],"wp:attachment":[{"href":"https:\/\/research-sites.cardiff.ac.uk\/spatial-design-network-analysis-sdna\/wp-json\/wp\/v2\/media?parent=862"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/research-sites.cardiff.ac.uk\/spatial-design-network-analysis-sdna\/wp-json\/wp\/v2\/categories?post=862"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/research-sites.cardiff.ac.uk\/spatial-design-network-analysis-sdna\/wp-json\/wp\/v2\/tags?post=862"},{"taxonomy":"cu_profile","embeddable":true,"href":"https:\/\/research-sites.cardiff.ac.uk\/spatial-design-network-analysis-sdna\/wp-json\/wp\/v2\/cu_profile?post=862"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}