{"id":33889,"date":"2022-07-11T15:40:37","date_gmt":"2022-07-11T12:40:37","guid":{"rendered":"https:\/\/www.sweco.fi\/?post_type=showroom_cpt&#038;p=33889"},"modified":"2022-12-05T18:35:16","modified_gmt":"2022-12-05T16:35:16","slug":"inventory-of-lahtis-pedestrian-crossings","status":"publish","type":"showroom_cpt","link":"https:\/\/www.sweco.fi\/en\/projects\/inventory-of-lahtis-pedestrian-crossings\/","title":{"rendered":"Inventory of Lahti\u2019s pedestrian crossings"},"content":{"rendered":"<section class=\"block showroom-intro bg-darken\" >\n\t<div class=\"showroom-intro__top\">\n\t\t<img width=\"1680\" height=\"800\" src=\"https:\/\/www.sweco.fi\/wp-content\/uploads\/sites\/7\/2022\/05\/Lahden-kaupungin-paikkatietopalvelu-1680x800.jpg\" class=\"showroom-intro__bg-img\" alt=\"\" fetchpriority=\"high\" decoding=\"async\" sizes=\"(max-width: 767px) 1080px, 1920px\" \/>\t\t\t\t<div class=\"block__inner vacancy-intro__inner\">\n\t\t\t<div class=\"col--11 col--wrapper\">\n\t\t\t\t<div class=\"editor-content editor-content--white col--6 vacancy-intro__content\">\n\t\t\t\t\t<h1 class=\"h1 hyphenate\">Inventory of Lahti\u2019s pedestrian crossings carried out as a geographical information service<\/h1>\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\n\t\t<div class=\"showroom-intro__meta\">\n\t\t\t\t\t\t<div class=\"showroom-intro__data\">\n\t\t\t\t\t\t\t<div class=\"showroom-intro__item editor-content\">\n\t\t\t\t\t<em>Project<\/em>\t\t\t\t\t<p>Inventory of pedestrian crossings in the City of Lahti<\/p>\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"showroom-intro__item editor-content\">\n\t\t\t\t\t<em>Commission<\/em>\t\t\t\t\t<p>Inventory of pedestrian crossings and updating needs as a geographical information service<\/p>\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"showroom-intro__item editor-content\">\n\t\t\t\t\t<em>Customer<\/em>\t\t\t\t\t<p>City of Lahti<\/p>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\n<\/section>\n\n\n<section class=\"block cb block--white\" >\n\t<div class=\"block__inner cb__inner cb__inner--one\">\n\t<div class=\"col--12 col--center col--wrapper\">\n\t\t<div class=\"col col--6 editor-content\">\n\t\t\t<h1>Inventory of Lahti\u2019s pedestrian crossings carried out as a geographical information service<\/h1>\n<p>Due to the revised Road Traffic Act, the City of Lahti needed an overview of the pedestrian crossing markings and traffic signs at intersections. Sweco\u2019s experts presented the results of the inventory of pedestrian crossings on a GIS-based web map. The service also supports contractors in different management areas.<\/p>\n<p>The City of Lahti has been cooperating with Sweco in traffic planning for a long time. In spring 2021, the city commissioned an inventory of pedestrian crossings in the city centre. This was due to the revised Road Traffic Act that came into force on 1 June 2020, which changed the way in which cycling path extensions are marked in pedestrian crossings. Cycling path extensions require a give way or stop sign at the junction for motorists.<\/p>\n<p>\u201cThe revised Road Traffic Act is linked to the city\u2019s operations in many ways, which is why we had to work out how to update the planning material on pedestrian crossings,\u201d says the City of Lahti\u2019s Traffic Engineer <strong>Matti Heikkinen<\/strong>. The situation was particularly challenging because the transition period was very short.<\/p>\n<p>Initially, the city planned on compiling PDF maps of the intersections, but there would have been hundreds of them. \u201cThat is why we proposed a cheaper and more versatile solution: a GIS-based web map,\u201d says Sweco\u2019s Senior GIS Specialist <strong>Lassi Tarri<\/strong>. The initial data used were the traffic sign material commissioned in advance by the City of Lahti, compiled by using computer vision, and aerial images of the traffic signs and markings of the intersections. \u201cWithout them, the development of the GIS-based inventory tool would have been much more difficult. After all, GIS solutions always require data.\u201d<\/p>\n<p>Heikkinen believes that Sweco\u2019s experts understood the needs of the city and the contractors very well. \u201cOur cooperation was good and smooth, even though it was not a traditional planning project.\u201d<\/p>\n<h4>Geographical information service easy to use and update<\/h4>\n<p>Experts developed a process based on computer vision that analyses aerial images to determine whether a marking on a given intersection is a pedestrian crossing or a cycling path extension. The results were compared with the traffic sign material on stop and give way signs at intersections. \u201cThis gave us reliable information on whether new traffic signs and markings were needed at the intersection,\u201d Tarri says. The results revealed that more than 1,200 pedestrian crossing markings and almost 4,000 additional panels needed updating.<\/p>\n<p>The map tool is open to everyone and works with a web browser. The map view can be zoomed to a 360 view of a given intersection, allowing the city\u2019s authorities and contractors to see the need for updating as a whole, by management areas or for a specific intersection. In addition, the service was designed to accommodate the constantly changing urban infrastructure. \u201cWe gave the City of Lahti editing rights to the service so that they would have the ability to update information about the intersections,\u201d Tarri states.<\/p>\n<p>The use of GIS data has already moved from design to implementation. \u201cIn the right hands, the GIS interface is easy to use, and data can be edited during projects,\u201d Heikkinen states.<\/p>\n<p>The development of the geographical information service included an assessment of the costs of the various contract districts by their management areas and building blocks. \u201cThanks to the accurate cost estimate, the city has been able to plan well in advance for the correction of the markings as investment expenditure,\u201d Heikkinen says. \u201cAchieving the safety objectives of the Road Traffic Act is very important to us, and this is something the geographical information service has been very successful at.\u201d<\/p>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n<\/section>\n\n\n    <section class=\"block block--white related-content\" >\n        <div class=\"block__inner related-content__inner\">\n            <div class=\"col--11 col--wrapper col--start col--stretch col--bottom \">\n                                    <div class=\"col col--12 editor-content related-content__title\">\n                        <h3 class=\"h3 hyphenate\">You might be interested<\/h3>                    <\/div>\n                \n                                    <div class=\"col col--4 item item--img\">\n\n                                                    <a href=\"https:\/\/www.sweco.fi\/en\/services\/infrastructure-and-traffic\/\" title=\"Infrastructure and traffic\" >\n                                <div class=\"item__title\">\n                                    <p class=\"h4 hyphenate\">Infrastructure and traffic<\/p>                                    <p class=\"item__title--info\">\n                                                                                                                                                            <\/p>\n                                <\/div>\n                                <figure class=\"item__image\">\n                                    <img loading=\"lazy\" decoding=\"async\" width=\"520\" height=\"296\" src=\"https:\/\/www.sweco.fi\/wp-content\/uploads\/sites\/7\/2021\/03\/GettyImages-648679104-1-520x296.jpg\" class=\"attachment-insights-featured size-insights-featured\" alt=\"Oslo railway\" \/>                                <\/figure>\n                            <\/a>\n                        \n                                            <\/div>\n                                    <div class=\"col col--4 item item--img\">\n\n                                                    <a href=\"https:\/\/www.sweco.fi\/en\/services\/infrastructure-and-traffic\/sustainable-transport\/\" title=\"Sustainable transport\" >\n                                <div class=\"item__title\">\n                                    <p class=\"h4 hyphenate\">Sustainable transport<\/p>                                    <p class=\"item__title--info\">\n                                                                                                                                                            <\/p>\n                                <\/div>\n                                <figure class=\"item__image\">\n                                    <img loading=\"lazy\" decoding=\"async\" width=\"520\" height=\"296\" src=\"https:\/\/www.sweco.fi\/wp-content\/uploads\/sites\/7\/2021\/03\/GettyImages-648679104-1-520x296.jpg\" class=\"attachment-insights-featured size-insights-featured\" alt=\"Oslo railway\" \/>                                <\/figure>\n                            <\/a>\n                        \n                                            <\/div>\n                \n                            <\/div>\n        <\/div>\n    <\/section>\n\n\n<section class=\"block form-block block--white\" >\n\t<div class=\"block__inner form-block__inner \">\n\n                    <div class=\"col--11 col--wrapper\">\n                                    <div class=\"col col--4 editor-content form-block__title\">\n                        <h3 class=\"h3 hyphenate\">Contact Us!<\/h3>                    <\/div>\n                    <div class=\"col--12 col\"><\/div>\n                \n                <div class=\"col col--4 editor-content\">\n                                    <\/div>\n\n                <div class=\"col col--7\">\n                    <script type=\"text\/javascript\">\n\/* <![CDATA[ *\/\nvar gform;gform||(document.addEventListener(\"gform_main_scripts_loaded\",function(){gform.scriptsLoaded=!0}),document.addEventListener(\"gform\/theme\/scripts_loaded\",function(){gform.themeScriptsLoaded=!0}),window.addEventListener(\"DOMContentLoaded\",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,themeScriptsLoaded:!1,isFormEditor:()=>\"function\"==typeof InitializeEditor,callIfLoaded:function(o){return!(!gform.domLoaded||!gform.scriptsLoaded||!gform.themeScriptsLoaded&&!gform.isFormEditor()||(gform.isFormEditor()&&console.warn(\"The use of gform.initializeOnLoaded() is deprecated in the form editor context and will be removed in Gravity Forms 3.1.\"),o(),0))},initializeOnLoaded:function(o){gform.callIfLoaded(o)||(document.addEventListener(\"gform_main_scripts_loaded\",()=>{gform.scriptsLoaded=!0,gform.callIfLoaded(o)}),document.addEventListener(\"gform\/theme\/scripts_loaded\",()=>{gform.themeScriptsLoaded=!0,gform.callIfLoaded(o)}),window.addEventListener(\"DOMContentLoaded\",()=>{gform.domLoaded=!0,gform.callIfLoaded(o)}))},hooks:{action:{},filter:{}},addAction:function(o,r,e,t){gform.addHook(\"action\",o,r,e,t)},addFilter:function(o,r,e,t){gform.addHook(\"filter\",o,r,e,t)},doAction:function(o){gform.doHook(\"action\",o,arguments)},applyFilters:function(o){return gform.doHook(\"filter\",o,arguments)},removeAction:function(o,r){gform.removeHook(\"action\",o,r)},removeFilter:function(o,r,e){gform.removeHook(\"filter\",o,r,e)},addHook:function(o,r,e,t,n){null==gform.hooks[o][r]&&(gform.hooks[o][r]=[]);var d=gform.hooks[o][r];null==n&&(n=r+\"_\"+d.length),gform.hooks[o][r].push({tag:n,callable:e,priority:t=null==t?10:t})},doHook:function(r,o,e){var t;if(e=Array.prototype.slice.call(e,1),null!=gform.hooks[r][o]&&((o=gform.hooks[r][o]).sort(function(o,r){return o.priority-r.priority}),o.forEach(function(o){\"function\"!=typeof(t=o.callable)&&(t=window[t]),\"action\"==r?t.apply(null,e):e[0]=t.apply(null,e)})),\"filter\"==r)return e[0]},removeHook:function(o,r,t,n){var e;null!=gform.hooks[o][r]&&(e=(e=gform.hooks[o][r]).filter(function(o,r,e){return!!(null!=n&&n!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][r]=e)}});\n\/* ]]> *\/\n<\/script>\n\n                <div class='gf_browser_gecko gform_wrapper gform_legacy_markup_wrapper gform-theme--no-framework' data-form-theme='legacy' data-form-index='0' id='gform_wrapper_6' ><form class=\"gform_analytics_tracking\" method='post' enctype='multipart\/form-data' target='gform_ajax_frame_6' id='gform_6'  action='\/en\/wp-json\/wp\/v2\/showroom_cpt\/33889' data-formid='6' novalidate autocomplete=\"off\">\n                        <div class='gform-body gform_body'><ul id='gform_fields_6' class='gform_fields top_label form_sublabel_below description_below validation_below'><li id=\"field_6_8\" class=\"gfield gfield--type-honeypot gform_validation_container field_sublabel_below gfield--has-description field_description_below field_validation_below gfield_visibility_visible gform_honeypot\"  data-field-class=\"gform_honeypot\" ><label class='gfield_label gform-field-label' for='input_6_8'>Comments<\/label><div class='ginput_container'><input autocomplete=\"off\"  name='input_8' id='input_6_8' type='text' value='' autocomplete='new-password'\/><\/div><div class='gfield_description' id='gfield_description_6_8'>This field is for validation purposes and should be left unchanged.<\/div><\/li><li id=\"field_6_1\" class=\"gfield gfield--type-text half field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible gform_text\"  data-field-class=\"gform_text\" ><label class='gfield_label gform-field-label' for='input_6_1'>Name<\/label><div class='ginput_container ginput_container_text'><input autocomplete=\"off\"  name='input_1' id='input_6_1' type='text' value='' class='medium'      aria-invalid=\"false\"   \/><\/div><\/li><li id=\"field_6_2\" class=\"gfield gfield--type-text half field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible gform_text\"  data-field-class=\"gform_text\" ><label class='gfield_label gform-field-label' for='input_6_2'>Company<\/label><div class='ginput_container ginput_container_text'><input autocomplete=\"off\"  name='input_2' id='input_6_2' type='text' value='' class='medium'      aria-invalid=\"false\"   \/><\/div><\/li><li id=\"field_6_5\" class=\"gfield gfield--type-email half gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible gform_email\"  data-field-class=\"gform_email\" ><label class='gfield_label gform-field-label' for='input_6_5'>Email<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/label><div class='ginput_container ginput_container_email'>\n                            <input autocomplete=\"off\"  name='input_5' id='input_6_5' type='email' value='' class='medium'    aria-required=\"true\" aria-invalid=\"false\"  \/>\n                        <\/div><\/li><li id=\"field_6_3\" class=\"gfield gfield--type-text half gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible gform_text\"  data-field-class=\"gform_text\" ><label class='gfield_label gform-field-label' for='input_6_3'>Mobile<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/label><div class='ginput_container ginput_container_text'><input autocomplete=\"off\"  name='input_3' id='input_6_3' type='text' value='' class='medium'     aria-required=\"true\" aria-invalid=\"false\"   \/><\/div><\/li><li id=\"field_6_6\" class=\"gfield gfield--type-textarea full expanding-textarea field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible gform_textarea\"  data-field-class=\"gform_textarea\" ><label class='gfield_label gform-field-label' for='input_6_6'>How can we help you?<\/label><div class='ginput_container ginput_container_textarea'><textarea autocomplete=\"off\"  name='input_6' id='input_6_6' class='textarea medium'      aria-invalid=\"false\"   rows='10' cols='50'><\/textarea><\/div><\/li><li id=\"field_6_7\" class=\"gfield gfield--type-consent gfield--type-choice gfield--input-type-consent gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible gform_consent\"  data-field-class=\"gform_consent\" ><label class='gfield_label gform-field-label gfield_label_before_complex' >Agreement<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/label><div class='ginput_container ginput_container_consent'><input autocomplete=\"off\"  name='input_7.1' id='input_6_7_1' type='checkbox' value='1'   aria-required=\"true\" aria-invalid=\"false\"   \/> <label class=\"gform-field-label gform-field-label--type-inline gfield_consent_label\" for='input_6_7_1' >By sending this form I accept that my information will be saved in Sweco customer register. <a href=\"https:\/\/www.sweco.fi\/en\/about-sweco\/sweco-data-privacy-statement\/\">Sweco Data Privacy Statement<\/a>&gt;<\/label><input autocomplete=\"off\"  type='hidden' name='input_7.2' value='By sending this form I accept that my information will be saved in Sweco customer register. &lt;a href=&quot;https:\/\/www.sweco.fi\/en\/about-sweco\/sweco-data-privacy-statement\/&quot;&gt;Sweco Data Privacy Statement&lt;\/a&gt;&gt;' class='gform_hidden' \/><input autocomplete=\"off\"  type='hidden' name='input_7.3' value='5' class='gform_hidden' \/><\/div><\/li><\/ul><\/div>\n        <div class='gform-footer gform_footer top_label'> <button class='btn btn__primary' id='gform_submit_button_6'><span>Send<\/span><\/button> <input type='hidden' name='gform_ajax' value='form_id=6&amp;title=&amp;description=&amp;tabindex=0&amp;theme=legacy&amp;hash=4fef7decf52ef6029b89308caac65e3b' \/>\n            <input type='hidden' class='gform_hidden' name='gform_submission_method' data-js='gform_submission_method_6' value='iframe' \/>\n            <input type='hidden' class='gform_hidden' name='gform_theme' data-js='gform_theme_6' id='gform_theme_6' value='legacy' \/>\n            <input type='hidden' class='gform_hidden' name='gform_style_settings' data-js='gform_style_settings_6' id='gform_style_settings_6' value='' \/>\n            <input type='hidden' class='gform_hidden' name='is_submit_6' value='1' \/>\n            <input type='hidden' class='gform_hidden' name='gform_submit' value='6' \/>\n            \n            <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' \/>\n            <input type='hidden' class='gform_hidden' name='state_6' value='WyJ7XCI3LjFcIjpcIjVhYWVlZmI3NTc0MTU1YjA1ZTkwNjQxMWI2MWVlNGZiXCIsXCI3LjJcIjpcIjNiMjE4NmJlMWQ5YWNhNTQ3NTA5NzgyNzViYzNjNmM4XCIsXCI3LjNcIjpcIjY5M2FkN2IxNjZjMGFlYWRiOTEwNmMzMjZkNGEwOGZhXCJ9IiwiZTk3ZDcyNzQ2ZWYyMzZjOTU0OGJiOGM0NWQ0ZTRiNTYiXQ==' \/>\n            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_target_page_number_6' id='gform_target_page_number_6' value='0' \/>\n            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_source_page_number_6' id='gform_source_page_number_6' value='1' \/>\n            <input type='hidden' name='gform_field_values' value='' \/>\n            \n        <\/div>\n                        <\/form>\n                        <\/div>\n\t\t                <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_6' id='gform_ajax_frame_6' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'><\/iframe>\n\t\t                <script type=\"text\/javascript\">\n\/* <![CDATA[ *\/\n gform.initializeOnLoaded( function() {gformInitSpinner( 6, 'https:\/\/www.sweco.fi\/wp-content\/themes\/sweco\/assets\/dist\/oval.svg', true );jQuery('#gform_ajax_frame_6').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_6');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_6').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_6').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_6').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_6').removeClass('gform_validation_error');}setTimeout( function() { \/* delay the scroll by 50 milliseconds to fix a bug in chrome *\/  }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_6').val();gformInitSpinner( 6, 'https:\/\/www.sweco.fi\/wp-content\/themes\/sweco\/assets\/dist\/oval.svg', true );jQuery(document).trigger('gform_page_loaded', [6, current_page]);window['gf_submitting_6'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}jQuery('#gform_wrapper_6').replaceWith(confirmation_content);jQuery(document).trigger('gform_confirmation_loaded', [6]);window['gf_submitting_6'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_6').text());}else{jQuery('#gform_6').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger(\"gform_pre_post_render\", [{ formId: \"6\", currentPage: \"current_page\", abort: function() { this.preventDefault(); } }]);        if (event && event.defaultPrevented) {                return;        }        const gformWrapperDiv = document.getElementById( \"gform_wrapper_6\" );        if ( gformWrapperDiv ) {            const visibilitySpan = document.createElement( \"span\" );            visibilitySpan.id = \"gform_visibility_test_6\";            gformWrapperDiv.insertAdjacentElement( \"afterend\", visibilitySpan );        }        const visibilityTestDiv = document.getElementById( \"gform_visibility_test_6\" );        let postRenderFired = false;        function triggerPostRender() {            if ( postRenderFired ) {                return;            }            postRenderFired = true;            gform.core.triggerPostRenderEvents( 6, current_page );            if ( visibilityTestDiv ) {                visibilityTestDiv.parentNode.removeChild( visibilityTestDiv );            }        }        function debounce( func, wait, immediate ) {            var timeout;            return function() {                var context = this, args = arguments;                var later = function() {                    timeout = null;                    if ( !immediate ) func.apply( context, args );                };                var callNow = immediate && !timeout;                clearTimeout( timeout );                timeout = setTimeout( later, wait );                if ( callNow ) func.apply( context, args );            };        }        const debouncedTriggerPostRender = debounce( function() {            triggerPostRender();        }, 200 );        if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) {            const observer = new MutationObserver( ( mutations ) => {                mutations.forEach( ( mutation ) => {                    if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) {                        debouncedTriggerPostRender();                        observer.disconnect();                    }                });            });            observer.observe( document.body, {                attributes: true,                childList: false,                subtree: true,                attributeFilter: [ 'style', 'class' ],            });        } else {            triggerPostRender();        }    } );} ); \n\/* ]]> *\/\n<\/script>\n                <\/div>\n            <\/div>\n        \n\t<\/div>\n<\/section>\n\n\n\n\n\n\n<section class=\"block block-share block--white\" >\n\t<div class=\"block__inner\">\n\t\t<div class=\"col--12 col--wrapper col--center\">\n            <div class=\"col col--12 editor-content col--center\">\n                <div class=\"share\">\n                    <p class=\"share-text\">Share on: <\/p>\n                    <div class=\"ss-inline-share-wrapper ss-inline-total-counter-\"><div class=\"ss-inline-share-content\"><\/div><\/div>                <\/div>\n            <\/div>\n\t\t<\/div>\n\t<\/div>\n<\/section>","protected":false},"excerpt":{"rendered":"<p>Due to the revised Road Traffic Act, the City of Lahti needed an overview of the pedestrian crossing markings and traffic signs at intersections. Sweco\u2019s experts presented the results of the inventory of pedestrian crossings on a GIS-based web map. The service also supports contractors in different management areas.<\/p>\n","protected":false},"featured_media":31893,"template":"","showroom_cats":[154,152,172],"showroom_expertise":[],"showroom_partners":[],"showroom_location":[],"showroom_client":[],"class_list":["post-33889","showroom_cpt","type-showroom_cpt","status-publish","has-post-thumbnail","hentry","showroom_cats-transport-solutions","showroom_cats-infrastructure-and-transportation","showroom_cats-digitalization"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.sweco.fi\/en\/wp-json\/wp\/v2\/showroom_cpt\/33889","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sweco.fi\/en\/wp-json\/wp\/v2\/showroom_cpt"}],"about":[{"href":"https:\/\/www.sweco.fi\/en\/wp-json\/wp\/v2\/types\/showroom_cpt"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.sweco.fi\/en\/wp-json\/wp\/v2\/media\/31893"}],"wp:attachment":[{"href":"https:\/\/www.sweco.fi\/en\/wp-json\/wp\/v2\/media?parent=33889"}],"wp:term":[{"taxonomy":"showroom_cats","embeddable":true,"href":"https:\/\/www.sweco.fi\/en\/wp-json\/wp\/v2\/showroom_cats?post=33889"},{"taxonomy":"showroom_expertise","embeddable":true,"href":"https:\/\/www.sweco.fi\/en\/wp-json\/wp\/v2\/showroom_expertise?post=33889"},{"taxonomy":"showroom_partners","embeddable":true,"href":"https:\/\/www.sweco.fi\/en\/wp-json\/wp\/v2\/showroom_partners?post=33889"},{"taxonomy":"showroom_location","embeddable":true,"href":"https:\/\/www.sweco.fi\/en\/wp-json\/wp\/v2\/showroom_location?post=33889"},{"taxonomy":"showroom_client","embeddable":true,"href":"https:\/\/www.sweco.fi\/en\/wp-json\/wp\/v2\/showroom_client?post=33889"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}