{"id":63463,"date":"2024-10-31T12:31:59","date_gmt":"2024-10-31T10:31:59","guid":{"rendered":"https:\/\/www.sweco.fi\/?post_type=showroom_cpt&#038;p=63463"},"modified":"2025-12-01T15:29:19","modified_gmt":"2025-12-01T13:29:19","slug":"kouvolas-shore-zoning-plans-were-digitised-into-spatial-data-format","status":"publish","type":"showroom_cpt","link":"https:\/\/www.sweco.fi\/en\/projects\/kouvolas-shore-zoning-plans-were-digitised-into-spatial-data-format\/","title":{"rendered":"Kouvola&#8217;s shore zoning plans were digitised into spatial data format"},"content":{"rendered":"<section class=\"block hero \" >\n    <img width=\"1680\" height=\"800\" src=\"https:\/\/www.sweco.fi\/wp-content\/uploads\/sites\/7\/2024\/10\/Kouvolan-ranta-asemakaavan-digitointi-1680x800.jpg\" class=\"hero__bg-img\" alt=\"\" fetchpriority=\"high\" decoding=\"async\" sizes=\"(max-width: 767px) 1080px, 1920px\" \/>        \n\t        <div class=\"block__inner hero__blurbs\" data-amount=\"1\">\n\t\t\t                <a href=\"https:\/\/www.sweco.fi\/en\/digital-solutions\/digital-services-in-infrastructure-and-traffic\/\" target=\"\"\n                   class=\"col--12\">\n                <span>\n                    \t                Digital services | Infrastructure and                     <span class=\"last\">\n                        traffic                        <i class=\"icon icon-arrow-right\"><\/i>\n                    <\/span>\n                <\/span>\n                <\/a>\n\t\t\t        <\/div>\n\t<\/section>\n\n\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<h2>All Kouvola&#8217;s shore land use plans were digitalized into spatial data format<\/h2>\n<p><em>The City of Kouvola is among the pioneering municipalities in digital planning. Sweco&#8217;s experts digitised all of the city&#8217;s shore zoning plans so that they can be saved both in the city&#8217;s own map services and in the Ryhti information system for the built environment.<\/em><\/p>\n<h2>Digital formulas are stored in the national Ryhti system<\/h2>\n<p>Together with 19 other municipalities, the City of Kouvola participated in the Ministry of Finance<a href=\"https:\/\/www.kuntaliitto.fi\/sites\/default\/files\/media\/file\/6_KATTI_yleisesittely_2023-06-05.pdf\">&#8216;s KATTI project<\/a>, which digitised zoning data for the Ryhti system for the built environment \u00a0. The situation with the detailed plans in Kouvola was already in good shape, so it was natural to start working on the waterfront plans for the water-rich city.<\/p>\n<p>&#8220;The shoreline detailed plans drawn up by private landowners were a clear entity, the digitisation of which could be carried out with funding from the KATTI project,&#8221; says <strong>Essi Kes\u00e4maa, Zoning Engineer at the City of Kouvola<\/strong>. The need for digitisation of patterns was also greatest on the beaches. &#8220;Some of the scanned zoning maps were in poor condition, which made the work of our building inspectors, for example, more difficult.&#8221;<\/p>\n<p>The partly poor quality of the plan maps made the city prepare at the beginning of the project for the fact that it would not be possible to digitise all the shoreline detailed plans during the spring. &#8220;However, Sweco was able to digitise all of the more than 120 shore detailed plans within a tight schedule of about four months!&#8221;<\/p>\n<p>According to Kes\u00e4maa, Sweco&#8217;s <a href=\"https:\/\/www.sweco.fi\/digitaaliset-ratkaisut\/infraan-ja-liikenteeseen\/\">map and spatial data service<\/a> experts were selected for the project in a competitive bidding process because the team had the best experience for the job. &#8220;In addition, the cost of the work was such that we were able to achieve the most with the funding of the KATTI project.&#8221;<\/p>\n<h2>The shore zoning plans were interpreted together in the digitisation process<\/h2>\n<p>The city had scanned the shoreline plans from paper maps into PDF files, but many details, such as property boundaries, still required interpretation. &#8220;That&#8217;s why we held regular Teams meetings, which also served as a showcase for how the different work phases, schedule and costs progressed,&#8221; says <strong>Tapio Tuuttila, Project Manager at Sweco<\/strong>.<\/p>\n<p>The division of labour from Kes\u00e4maa went smoothly, and the project proceeded exactly as agreed in the technical kick-off meeting. &#8220;The only special thing was the approval process, which meant that we ensured the quality of the data, both georeferenced and vector, before transferring them to the final spatial data format.&#8221;<\/p>\n<p>The digitisation of the formulas involved several steps. First, Sweco&#8217;s experienced surveyor <strong>Jari Jaakkola <\/strong>transferred the data to the map coordinate system. After that, the experts started the CRT digitisation of the data, one plan and map sheet at a time. An important area was georeferencing the data.<\/p>\n<p>&#8220;Georeferencing always requires experimentation and finding the best way to do things. The work went much smoother for Sweco than if we had tried to learn it ourselves,&#8221; Kes\u00e4maa says.<\/p>\n<h2>Reliable zoning information for the city&#8217;s map services<\/h2>\n<p>Digital shore detailed plans are published in the Ryhti system and in the city&#8217;s internal and external map service. Pre-interpreted and dimensionally accurate plan data will be made available to both city employees and residents as georeferenced raster maps and vector maps.<\/p>\n<p>&#8220;The plan data is tied to the property division and coordinate system, so they are also legally reliable,&#8221; Tuuttila adds.<\/p>\n<p>Next, Kouvola will start working on master plans. &#8220;The digitisation of the plans continues, and projects will certainly continue to be launched with our framework agreement partner Sweco in the future,&#8221; Kes\u00e4maa believes.<\/p>\n<p>&nbsp;<\/p>\n\t\t<\/div>\n\t<\/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\/63463' 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_currency' data-currency='EUR' value='4bwsjZ3VRQO+XvNooXbME1Y3eNboPQeLxu8oHVVMjGLhauqPklgJP2hXxzcx0CxTIVbuYirFv20\/5ziq6HA5zHTPR1afoIOgiQw8\/9tJgLwPNLg=' \/>\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","protected":false},"excerpt":{"rendered":"<p>Sweco&#8217;s experts digitised all of the city&#8217;s shore zoning plans so that they can be saved both in the city&#8217;s own map services and in the Ryhti information system for the built environment.<\/p>\n","protected":false},"featured_media":62023,"template":"","showroom_cats":[152,172],"showroom_expertise":[],"showroom_partners":[],"showroom_location":[],"showroom_client":[],"class_list":["post-63463","showroom_cpt","type-showroom_cpt","status-publish","has-post-thumbnail","hentry","showroom_cats-infrastructure-and-transportation","showroom_cats-digitalization"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.sweco.fi\/en\/wp-json\/wp\/v2\/showroom_cpt\/63463","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\/62023"}],"wp:attachment":[{"href":"https:\/\/www.sweco.fi\/en\/wp-json\/wp\/v2\/media?parent=63463"}],"wp:term":[{"taxonomy":"showroom_cats","embeddable":true,"href":"https:\/\/www.sweco.fi\/en\/wp-json\/wp\/v2\/showroom_cats?post=63463"},{"taxonomy":"showroom_expertise","embeddable":true,"href":"https:\/\/www.sweco.fi\/en\/wp-json\/wp\/v2\/showroom_expertise?post=63463"},{"taxonomy":"showroom_partners","embeddable":true,"href":"https:\/\/www.sweco.fi\/en\/wp-json\/wp\/v2\/showroom_partners?post=63463"},{"taxonomy":"showroom_location","embeddable":true,"href":"https:\/\/www.sweco.fi\/en\/wp-json\/wp\/v2\/showroom_location?post=63463"},{"taxonomy":"showroom_client","embeddable":true,"href":"https:\/\/www.sweco.fi\/en\/wp-json\/wp\/v2\/showroom_client?post=63463"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}