{"id":173,"date":"2023-10-24T16:49:27","date_gmt":"2023-10-24T15:49:27","guid":{"rendered":"https:\/\/ijzerweg.nl\/?p=173"},"modified":"2024-09-21T21:54:02","modified_gmt":"2024-09-21T19:54:02","slug":"elementor-173","status":"publish","type":"post","link":"https:\/\/ijzerweg.nl\/?p=173","title":{"rendered":"Walk the line"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"173\" class=\"elementor elementor-173\">\n\t\t\t\t<div class=\"elementor-element elementor-element-94bcebf e-flex e-con-boxed e-con e-parent\" data-id=\"94bcebf\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7446e5f elementor-widget elementor-widget-heading\" data-id=\"7446e5f\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Selecting en route signals<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-716b44a e-flex e-con-boxed e-con e-parent\" data-id=\"716b44a\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1e3b993 elementor-widget elementor-widget-text-editor\" data-id=\"1e3b993\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>A common planning chore is to retrieve a list of objects encountered when travelling down a path through the network. This is a little more complex than finding a shortest path because of challenges such as\u00a0<\/p><ol><li>the downstream objects often have a &#8220;working direction&#8221; and may be only of interest if co-linear with the direction of traversal. One may wish to ignore signals that apply to opposite signals &#8211; a signal acts like a diode.<\/li><li>Commonly, people construct railway network graphs where points are nodes. Your average graph traversal algorithm would gladly jump from normal to reverse track.\u00a0 This is a fundamental difference between, say electric networks, and railway networks: trains don&#8217;t jump from normal to reverse tracks whereas electrons easily negotiate sharp corners.<\/li><li>Tracks can connect head-to-head, tail-to-tail or head-to-tail. Getting the traversal direction right when walking such a graph can be tricky.<\/li><li>\u00a0The user may wish to scan only for a type of object, in this case signals. This implies that shapes must be &#8220;typed&#8221;.\u00a0<\/li><\/ol>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-cee0276 e-flex e-con-boxed e-con e-parent\" data-id=\"cee0276\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e76075e elementor-widget elementor-widget-image\" data-id=\"e76075e\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/ijzerweg.nl\/wp-content\/uploads\/2024\/09\/pickupSignals.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"pickupSignals\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MTc4NCwidXJsIjoiaHR0cHM6XC9cL2lqemVyd2VnLm5sXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wOVwvcGlja3VwU2lnbmFscy5wbmcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"189\" src=\"https:\/\/ijzerweg.nl\/wp-content\/uploads\/2024\/09\/pickupSignals.png\" class=\"attachment-large size-large wp-image-1784\" alt=\"\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8671f26 e-flex e-con-boxed e-con e-parent\" data-id=\"8671f26\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-b2722d2 e-con-full e-flex e-con e-child\" data-id=\"b2722d2\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a8c24e6 elementor-drop-cap-yes elementor-drop-cap-view-default elementor-widget elementor-widget-text-editor\" data-id=\"a8c24e6\" data-element_type=\"widget\" data-settings=\"{&quot;drop_cap&quot;:&quot;yes&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Below screenshot shows a part of the Euville-la-Jolie yard. Visio shapes can be enhanced with actions. Right-clicking the signal and selecting the action <em>select exit signals<\/em> will run an traversal algorithm that walks down the line as would a train, and select signals in the driving direction.<\/p><p>Note that the algorithm correctly negotiates points and ignores signals for opposite trains such as Sx3226Up or signals that can&#8217;t be reached such as S32.\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1972485 e-con-full e-flex e-con e-child\" data-id=\"1972485\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4f3af48 elementor-widget elementor-widget-text-editor\" data-id=\"4f3af48\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The shapes that represent signals are a mix of DB, UK and French signalling schemes. The shapes are boosted with useful parameters. For instance the French signal shows the aspects that can be shown. This information, being present in the data, can also be captured and persisted in data. Each shape is an instance of a master and each master matches a type. This allows the scan algorithm to distinguish signals, balises, train detectors or whatever comes one&#8217;s way.\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3e5f932 e-con-full e-flex e-con e-child\" data-id=\"3e5f932\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-cf7e1b8 elementor-widget elementor-widget-image\" data-id=\"cf7e1b8\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"wp-caption\">\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/ijzerweg.nl\/wp-content\/uploads\/2023\/10\/pickupSignals-1.png\" title=\"\" alt=\"\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t<figcaption class=\"widget-image-caption wp-caption-text\"><\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f4c37a7 e-flex e-con-boxed e-con e-parent\" data-id=\"f4c37a7\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2ce919a elementor-widget elementor-widget-text-editor\" data-id=\"2ce919a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Selection of a set of co-linear signals is an important for creating route. A route follows a path from an entry signal to an exit signal.\u00a0 As this story suggests, one can build routes from the information in the drawing.\u00a0<\/p><p>In a similar vein, one can construct ETCS movement authorities and profiles by scanning the information along the path that a train will travel.\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Selecting en route signals A common planning chore is to retrieve a list of objects encountered when travelling down a path through the network. This is a little more complex than finding a shortest path because of challenges such as\u00a0 the downstream objects often have a &#8220;working direction&#8221; and may be only of interest if [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-173","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/ijzerweg.nl\/index.php?rest_route=\/wp\/v2\/posts\/173","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ijzerweg.nl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ijzerweg.nl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ijzerweg.nl\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ijzerweg.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=173"}],"version-history":[{"count":8,"href":"https:\/\/ijzerweg.nl\/index.php?rest_route=\/wp\/v2\/posts\/173\/revisions"}],"predecessor-version":[{"id":1893,"href":"https:\/\/ijzerweg.nl\/index.php?rest_route=\/wp\/v2\/posts\/173\/revisions\/1893"}],"wp:attachment":[{"href":"https:\/\/ijzerweg.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=173"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ijzerweg.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=173"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ijzerweg.nl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=173"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}