{"id":1629,"date":"2018-07-09T15:04:58","date_gmt":"2018-07-09T15:04:58","guid":{"rendered":"https:\/\/wetransform.eu\/?post_type=news-and-events&#038;p=1629"},"modified":"2022-07-28T08:25:39","modified_gmt":"2022-07-28T08:25:39","slug":"xplangml-with-halestudio","status":"publish","type":"news-and-events","link":"https:\/\/wetransform.to\/de\/neuigkeiten-veranstaltungen\/xplangml-with-halestudio\/","title":{"rendered":"Create and Publish XPlanGML with hale\u00bbstudio"},"content":{"rendered":"<p>INSPIRE is not the only open standard for spatial information in Europe, obviously. In Germany, a new standard has been made mandatory in several states in the past year. This standard is for all kinds of planning data, ranging from regional plans to land development plans. The standard is called <a href=\"http:\/\/www.xplanungwiki.de\/index.php?title=Xplanung_Wiki\">XPlanung<\/a>, with the current version of the encoding being called XPlanGML 5.1, and it is mandatory for all companies submitting plans, and for all municipalities publishing plans.<\/p>\n<p>There are several challenges when creating compliant plans, among them the fact that many plans are still only available as scans in PDF, TIFF or PNG format. Actual geodata is then usually limited to a few attributes and a polygon that describes the perimeter of the plan area.<\/p>\n<p>One approach that the community around XPlanung has discussed in detail is to align INSPIRE Planned and Existing Land Use to XPlanung (and vice versa). This alignment was described in the form of a <a href=\"http:\/\/www.xplanungwiki.de\/index.php?title=INSPIRE_Transformation\">218-page document<\/a>. On that base, when you implement one, you can get the other standard for free. However, the length of that document already gives an indication about the complexity of the transformation. This complexity stems both from the size of the XPlanung standard, which covers all types of spatial plans, and from the numerous codelists employed in the source and target models.<\/p>\n<p>For this article, we will only investigate how to map the most common type of plan, a land development plan, to INSPIRE Planned Land Use. In XPlanung, such plans are called <code>BP_Plan<\/code>. One <code>BP_Plan<\/code> can have multiple areas of validity, each of which is stored in an object called <code>BP_Bereich<\/code>.<\/p>\n<p><!--more--><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/wetransform.eu\/wp-content\/uploads\/2022\/05\/xplan-typecells.png\" alt=\"Type relationships to map XPlanung to INSPIRE\" \/><\/p>\n<p>The basic structure in the INSPIRE model is easy enough: There is a <code>SpatialPlan<\/code> as the main feature type that has a set of <code>OfficialDocumentation<\/code> objects linked to it that provide legal and other information. We will thus first create the <code>SpatialPlan<\/code>, and then create all the <code>OfficialDocumentation<\/code> objects.<\/p>\n<h2>BP_Plan and BP_Bereich joined to SpatialPlan<\/h2>\n<p>In this type-relationship, we join the types <code>BP_Plan<\/code> and <code>BP_Bereich<\/code> based on the following conditions:<\/p>\n<pre><code>BP_Plan.id = BP_Bereich.gehoertZuPlan.href<\/code><\/pre>\n<p>Please note that hale studio automatically matches <code>href<\/code> anchors to <code>gml:ids<\/code> disregarding the <code>#<\/code> if present.<\/p>\n<p>After doing so, the main information we can map is the set of dates that are present in the source type. There are 13 different date values available in <code>BP_Plan<\/code>, which we all map to <code>ordinance<\/code>.  For this purpose, we create an <em>instance context<\/em> for each of the source dates, such as <code>anderungenBisDatum<\/code>. We then simply rename the source date to <code>ordinanceDate<\/code>, and assign the name of the source attribute as the <code>ordinanceReference<\/code>.<\/p>\n<p>We also add references to different types of <code>officialDocument<\/code>s. In particular, if the source data has a <code>rasterBasis<\/code>, <code>texte<\/code> and\/or <code>begruendungsTexte<\/code>, we point to that by renaming that value to <code>officialDocument.href<\/code>. The other mappings are straightforward. We directly re-use the <code>gml:id<\/code> from the source for the target, as well as an INSPIRE <code>localId<\/code>. <code>name<\/code> becomes <code>officialTitle<\/code>, <code>rechtsstand<\/code> is reclassified to <code>processStepGeneral<\/code>, and <code>nummer<\/code> becomes <code>alternativeTitle<\/code>.<\/p>\n<h2>BP_Plan Groovy-retyped to OfficialDocumentation<\/h2>\n<p>With the main <code>SpatialPlan<\/code> object having been created, we now need to create <code>OfficialDocumentation<\/code> objects for various cases. The first is that <code>BP_Plan<\/code> can contain multiple <code>externeReferenz<\/code> references. For each of these, we create a OfficialDocumentation object. To do that, we use a Groovy Retype with this small script:<\/p>\n<p><script src=\"https:\/\/gist.github.com\/JBoudewijn\/acf66fe645a9b2a9d1536c429584ac9f.js\"><\/script><\/p>\n<p><a href=\"https:\/\/github.com\/wetransform-os\/website-examples\/blob\/af7108ee8f5a838327c3e4b871850212c399e37c\/news\/resources\/xplan_create_od.groovy\" title=\"Download\">Download<\/a><\/p>\n<p>What this script does is to emit an object that contains an ID created in a reproducible manner - using the URL of the reference as input string to generate a UUID.<\/p>\n<p>We then assign the remaining required values to the created objects, such as the INSPIRE Identifier namespace.<\/p>\n<h2>BP_Bereich retyped to OfficialDocumentation<\/h2>\n<p>The feature type <code>BP_Bereich<\/code> can also contain references to various documents. We thus retype <code>BP_Bereich<\/code> to <code>OfficialDocumentation<\/code> and use the information from <code>BP_Bereich<\/code> in a straightforward mapping:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/wetransform.eu\/wp-content\/uploads\/2022\/05\/xplan-bp_bereich_od.png\" alt=\"Transform XPlanGML BP_Bereich to INSPIRE OfficialDocumentation\" \/><\/p>\n<p>Throughout these mappings you will note the use of a log of <code>Assign (Bound)<\/code> functions. These assign a constant value to the target if the source attribute is present for a given transformed object.<\/p>\n<h2>BP_TextAbschnitt retyped to OfficialDocumentation<\/h2>\n<p>Finally, A <code>BP_Plan<\/code> can also contain explicit structured text objects. We also want to bring these <code>BP_TextAbschnitt<\/code> over to <code>OfficialDocumentation<\/code> and retype them as well. Much like before, the actual mapping of the properties below is straightforward and only requires Renames, Assigns and a Assign (Bound) function:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/wetransform.eu\/wp-content\/uploads\/2022\/05\/xplan-bp_textabschnitt_od.png\" alt=\"Transform XPlanGML BP_TextAbschnitt to INSPIRE OfficialDocumentation\" \/><\/p>\n<h2>Exporting XPlanGML and conclusion<\/h2>\n<p>To export the transformed INSPIRE GML, you do not need to do anything special. You can just use the normal &quot;Export Transformed Data&quot; option.<\/p>\n<p>It is also possible to export XPlanGML from hale studio. For this, you need to create custom data export based on the generic XML writer. This is easily done in just a minute following these steps:<\/p>\n<ol>\n<li>Go to File --&gt; Export --&gt; Create Custom Data Export...<\/li>\n<li>Pick &quot;XML (Custom Root Element)&quot; and click &quot;Next&quot;<\/li>\n<li>Give your custom export configuration a name (without spaces, e.g. <code>xplangml_51<\/code>) and a description<\/li>\n<li>Choose the correct XML root element; here, this will be <code>XPlanAuszug<\/code>, and click &quot;Next&quot;.<\/li>\n<li>Choose other settings such as formatted number output, CRS handling and pretty printing, and click &quot;Finish&quot;. You can now export source or transformed data as XPlanGML.<\/li>\n<\/ol>\n<p>The transformation project is available via <a href=\"https:\/\/www.haleconnect.com\">haleconnect.com<\/a>. You can either download it directly from the web interface or in <a href=\"\/halestudio\/\">hale\u00bbstudio<\/a>. In both cases, you need a (free) hale\u00bbconnect account.<\/p>\n<p>We will continue to build out this alignment and create others for XPlanung and INSPIRE. Let us know if you have any input or would like to get engaged in this activity!<\/p>\n<p>Happy transforming!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>INSPIRE is not the only open standard for spatial information in Europe, obviously. In Germany, a new standard has been made mandatory in several states in the past year. This standard is for all kinds of planning data, ranging from regional plans to land development plans. The standard is called XPlanung, with the current version [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[48],"tags":[21,18,46,19],"class_list":["post-1629","news-and-events","type-news-and-events","status-publish","hentry","category-tutorials","tag-halestudio","tag-inspire","tag-tutorial","tag-xplanung"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Create and Publish XPlanGML with hale\u00bbstudio - wetransform<\/title>\n<meta name=\"description\" content=\"XPlanGML is mandatory for companies and municipalities publishing spatial zoning and planning information in Germany. hale\u00bbstudio supports it!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wetransform.to\/de\/neuigkeiten-veranstaltungen\/xplangml-with-halestudio\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Create and Publish XPlanGML with hale\u00bbstudio\" \/>\n<meta property=\"og:description\" content=\"XPlanGML is mandatory for companies and municipalities publishing spatial zoning and planning information in Germany. hale\u00bbstudio supports it!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wetransform.to\/de\/neuigkeiten-veranstaltungen\/xplangml-with-halestudio\/\" \/>\n<meta property=\"og:site_name\" content=\"wetransform\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-28T08:25:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wetransform.eu\/wp-content\/uploads\/2022\/05\/xplan-typecells.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@wetransformto\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data1\" content=\"5\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wetransform.to\\\/de\\\/neuigkeiten-veranstaltungen\\\/xplangml-with-halestudio\\\/\",\"url\":\"https:\\\/\\\/wetransform.to\\\/de\\\/neuigkeiten-veranstaltungen\\\/xplangml-with-halestudio\\\/\",\"name\":\"Create and Publish XPlanGML with hale\u00bbstudio - wetransform\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/wetransform.to\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/wetransform.to\\\/de\\\/neuigkeiten-veranstaltungen\\\/xplangml-with-halestudio\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/wetransform.to\\\/de\\\/neuigkeiten-veranstaltungen\\\/xplangml-with-halestudio\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wetransform.eu\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/xplan-typecells.png\",\"datePublished\":\"2018-07-09T15:04:58+00:00\",\"dateModified\":\"2022-07-28T08:25:39+00:00\",\"description\":\"XPlanGML is mandatory for companies and municipalities publishing spatial zoning and planning information in Germany. hale\u00bbstudio supports it!\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wetransform.to\\\/de\\\/neuigkeiten-veranstaltungen\\\/xplangml-with-halestudio\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wetransform.to\\\/de\\\/neuigkeiten-veranstaltungen\\\/xplangml-with-halestudio\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/wetransform.to\\\/de\\\/neuigkeiten-veranstaltungen\\\/xplangml-with-halestudio\\\/#primaryimage\",\"url\":\"https:\\\/\\\/wetransform.eu\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/xplan-typecells.png\",\"contentUrl\":\"https:\\\/\\\/wetransform.eu\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/xplan-typecells.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wetransform.to\\\/de\\\/neuigkeiten-veranstaltungen\\\/xplangml-with-halestudio\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wetransform.to\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"News & Events\",\"item\":\"https:\\\/\\\/wetransform.to\\\/de\\\/neuigkeiten-veranstaltungen\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Create and Publish XPlanGML with hale\u00bbstudio\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\\\/\\\/wetransform.to\\\/de\\\/#website\",\"url\":\"http:\\\/\\\/wetransform.to\\\/de\\\/\",\"name\":\"wetransform\",\"description\":\"Making environmental data useful and accessible\",\"publisher\":{\"@id\":\"http:\\\/\\\/wetransform.to\\\/de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\\\/\\\/wetransform.to\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"http:\\\/\\\/wetransform.to\\\/de\\\/#organization\",\"name\":\"wetransform\",\"url\":\"http:\\\/\\\/wetransform.to\\\/de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"http:\\\/\\\/wetransform.to\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/wetransform.to\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/large-logo-whitebg.png\",\"contentUrl\":\"https:\\\/\\\/wetransform.to\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/large-logo-whitebg.png\",\"width\":1024,\"height\":1024,\"caption\":\"wetransform\"},\"image\":{\"@id\":\"http:\\\/\\\/wetransform.to\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/wetransformto\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/wetransform-gmbh\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Create and Publish XPlanGML with hale\u00bbstudio - wetransform","description":"XPlanGML is mandatory for companies and municipalities publishing spatial zoning and planning information in Germany. hale\u00bbstudio supports it!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wetransform.to\/de\/neuigkeiten-veranstaltungen\/xplangml-with-halestudio\/","og_locale":"de_DE","og_type":"article","og_title":"Create and Publish XPlanGML with hale\u00bbstudio","og_description":"XPlanGML is mandatory for companies and municipalities publishing spatial zoning and planning information in Germany. hale\u00bbstudio supports it!","og_url":"https:\/\/wetransform.to\/de\/neuigkeiten-veranstaltungen\/xplangml-with-halestudio\/","og_site_name":"wetransform","article_modified_time":"2022-07-28T08:25:39+00:00","og_image":[{"url":"https:\/\/wetransform.eu\/wp-content\/uploads\/2022\/05\/xplan-typecells.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_site":"@wetransformto","twitter_misc":{"Gesch\u00e4tzte Lesezeit":"5\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/wetransform.to\/de\/neuigkeiten-veranstaltungen\/xplangml-with-halestudio\/","url":"https:\/\/wetransform.to\/de\/neuigkeiten-veranstaltungen\/xplangml-with-halestudio\/","name":"Create and Publish XPlanGML with hale\u00bbstudio - wetransform","isPartOf":{"@id":"http:\/\/wetransform.to\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wetransform.to\/de\/neuigkeiten-veranstaltungen\/xplangml-with-halestudio\/#primaryimage"},"image":{"@id":"https:\/\/wetransform.to\/de\/neuigkeiten-veranstaltungen\/xplangml-with-halestudio\/#primaryimage"},"thumbnailUrl":"https:\/\/wetransform.eu\/wp-content\/uploads\/2022\/05\/xplan-typecells.png","datePublished":"2018-07-09T15:04:58+00:00","dateModified":"2022-07-28T08:25:39+00:00","description":"XPlanGML is mandatory for companies and municipalities publishing spatial zoning and planning information in Germany. hale\u00bbstudio supports it!","breadcrumb":{"@id":"https:\/\/wetransform.to\/de\/neuigkeiten-veranstaltungen\/xplangml-with-halestudio\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wetransform.to\/de\/neuigkeiten-veranstaltungen\/xplangml-with-halestudio\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/wetransform.to\/de\/neuigkeiten-veranstaltungen\/xplangml-with-halestudio\/#primaryimage","url":"https:\/\/wetransform.eu\/wp-content\/uploads\/2022\/05\/xplan-typecells.png","contentUrl":"https:\/\/wetransform.eu\/wp-content\/uploads\/2022\/05\/xplan-typecells.png"},{"@type":"BreadcrumbList","@id":"https:\/\/wetransform.to\/de\/neuigkeiten-veranstaltungen\/xplangml-with-halestudio\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wetransform.to\/de\/"},{"@type":"ListItem","position":2,"name":"News & Events","item":"https:\/\/wetransform.to\/de\/neuigkeiten-veranstaltungen\/"},{"@type":"ListItem","position":3,"name":"Create and Publish XPlanGML with hale\u00bbstudio"}]},{"@type":"WebSite","@id":"http:\/\/wetransform.to\/de\/#website","url":"http:\/\/wetransform.to\/de\/","name":"wetransform","description":"Making environmental data useful and accessible","publisher":{"@id":"http:\/\/wetransform.to\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/wetransform.to\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"http:\/\/wetransform.to\/de\/#organization","name":"wetransform","url":"http:\/\/wetransform.to\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"http:\/\/wetransform.to\/de\/#\/schema\/logo\/image\/","url":"https:\/\/wetransform.to\/wp-content\/uploads\/2022\/07\/large-logo-whitebg.png","contentUrl":"https:\/\/wetransform.to\/wp-content\/uploads\/2022\/07\/large-logo-whitebg.png","width":1024,"height":1024,"caption":"wetransform"},"image":{"@id":"http:\/\/wetransform.to\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/wetransformto","https:\/\/www.linkedin.com\/company\/wetransform-gmbh\/"]}]}},"_links":{"self":[{"href":"https:\/\/wetransform.to\/de\/wp-json\/wp\/v2\/news-and-events\/1629","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wetransform.to\/de\/wp-json\/wp\/v2\/news-and-events"}],"about":[{"href":"https:\/\/wetransform.to\/de\/wp-json\/wp\/v2\/types\/news-and-events"}],"author":[{"embeddable":true,"href":"https:\/\/wetransform.to\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wetransform.to\/de\/wp-json\/wp\/v2\/comments?post=1629"}],"version-history":[{"count":4,"href":"https:\/\/wetransform.to\/de\/wp-json\/wp\/v2\/news-and-events\/1629\/revisions"}],"predecessor-version":[{"id":3769,"href":"https:\/\/wetransform.to\/de\/wp-json\/wp\/v2\/news-and-events\/1629\/revisions\/3769"}],"wp:attachment":[{"href":"https:\/\/wetransform.to\/de\/wp-json\/wp\/v2\/media?parent=1629"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wetransform.to\/de\/wp-json\/wp\/v2\/categories?post=1629"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wetransform.to\/de\/wp-json\/wp\/v2\/tags?post=1629"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}