{"id":2083,"date":"2020-01-19T09:15:22","date_gmt":"2020-01-19T09:15:22","guid":{"rendered":"https:\/\/processminery.com\/?p=2083"},"modified":"2025-06-09T18:38:23","modified_gmt":"2025-06-09T18:38:23","slug":"geocoding-addresses-with-google-api","status":"publish","type":"post","link":"https:\/\/processminery.com\/index.php\/geocoding-addresses-with-google-api\/","title":{"rendered":"Geocoding addresses with Google API integration"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"2083\" class=\"elementor elementor-2083\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-634467a4 elementor-section-boxed elementor-section-height-default elementor-section-height-default parallax_section_no qodef_elementor_container_no\" data-id=\"634467a4\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6328561c\" data-id=\"6328561c\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-361fd053 elementor-widget elementor-widget-text-editor\" data-id=\"361fd053\" 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>In Celonis EMS you have the Worldmap available as standard component. When you want to use this component you can choose to use the ISO country codes or the latitude and longitude coordinates. The country codes should already be available in the source application. For a more detailed view it is better to use the latitude and longitude coordinates.<\/p><p>\u00a0<\/p><p>But what if you do not have the geocodes available in the source system? In that case you can use the Geocoding API from Google. As input you can use the address as it is stored in the source application and call the API with these addresses. The Geocoding API will return the geocode per address.<\/p><p>First we define a view in Celonis for the source addresses. This view contains 2 columns: the first column contains the ID of the address, in our case this is the location_id. The second column contains the concatenated address.<\/p><p>\u00a0<\/p><p>We define a second view to be able to link the addresses view to the cases table. Our cases table is the table with all the AR invoices and this table does not contain the location_id, so we define a second view that links the ID from the invoice with the ID from the address. We add both views to the datamodel in Celonis.<\/p><p>\u00a0<\/p><p>Once the datamodel is loaded we can define a simple OLAP table in Celonis that is showing the addresses. We can access the data from this OLAP table in the Machine Learning workbench.<\/p><p>\u00a0<\/p><p>In the Celonis Machine Learning workbench we access the addresses from the OLAP table and call the Google Geocoding API. The Geocoding API provides us with the geocode for almost all addresses. The result is pushed to the datamodel and can be used in the analysis in Celonis. In the Worldmap component we can now use the latitude and longitude coordinates as dimension:<\/p><p><img fetchpriority=\"high\" decoding=\"async\" class=\"size-medium wp-image-3427 aligncenter\" src=\"https:\/\/processminery.com\/wp-content\/uploads\/2023\/09\/worldmap_settings-300x208.jpg\" alt=\"\" width=\"300\" height=\"208\" srcset=\"https:\/\/processminery.com\/wp-content\/uploads\/2023\/09\/worldmap_settings-300x208.jpg 300w, https:\/\/processminery.com\/wp-content\/uploads\/2023\/09\/worldmap_settings.jpg 451w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p><div class=\"wp-block-image is-style-default\" style=\"margin-bottom: 1em; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-stretch: inherit; font-size: 15px; line-height: inherit; font-family: Ubuntu, sans-serif; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); color: #000000; background-color: #ffffff;\"><figure class=\"aligncenter size-large\" style=\"padding: 0px; border: 0px; font: inherit; vertical-align: baseline; outline: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-align: center;\"><\/figure><\/div><figure class=\"wp-block-image size-large is-style-default\" style=\"padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-stretch: inherit; font-size: 15px; line-height: inherit; font-family: Ubuntu, sans-serif; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; outline: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); color: #000000;\"><img decoding=\"async\" class=\"wp-image-2279 ls-is-cached lazyloaded\" style=\"margin: 0px; padding: 0px; border-width: 0px; border-style: initial; font: inherit; vertical-align: middle; outline: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); width: auto; opacity: 1; transition: opacity 400ms ease 0ms; border-radius: inherit;\" src=\"https:\/\/www.processminery.com\/wp-content\/uploads\/2020\/01\/worldmap_us-1024x553.jpg\" sizes=\"(max-width: 1024px) 100vw, 1024px\" srcset=\"https:\/\/www.processminery.com\/wp-content\/uploads\/2020\/01\/worldmap_us-1024x553.jpg 1024w, https:\/\/www.processminery.com\/wp-content\/uploads\/2020\/01\/worldmap_us-300x162.jpg 300w, https:\/\/www.processminery.com\/wp-content\/uploads\/2020\/01\/worldmap_us-768x415.jpg 768w, https:\/\/www.processminery.com\/wp-content\/uploads\/2020\/01\/worldmap_us.jpg 1296w\" alt=\"\" width=\"1024\" height=\"553\" data-srcset=\"https:\/\/www.processminery.com\/wp-content\/uploads\/2020\/01\/worldmap_us-1024x553.jpg 1024w, https:\/\/www.processminery.com\/wp-content\/uploads\/2020\/01\/worldmap_us-300x162.jpg 300w, https:\/\/www.processminery.com\/wp-content\/uploads\/2020\/01\/worldmap_us-768x415.jpg 768w, https:\/\/www.processminery.com\/wp-content\/uploads\/2020\/01\/worldmap_us.jpg 1296w\" data-src=\"https:\/\/www.processminery.com\/wp-content\/uploads\/2020\/01\/worldmap_us-1024x553.jpg\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><p>We can define the KPI we want to use in the Worldmap, e.g. the \u201cnumber of invoices\u201d. We give the datapoint a meaningful name, e.g. \u201cCustomer\u201d. This will give us an interactive world map with the number of invoices by geocode:<\/p><p><img decoding=\"async\" class=\"aligncenter wp-image-3426 size-large\" src=\"https:\/\/processminery.com\/wp-content\/uploads\/2023\/09\/worldmap_us-1024x553.jpg\" alt=\"\" width=\"1024\" height=\"553\" srcset=\"https:\/\/processminery.com\/wp-content\/uploads\/2023\/09\/worldmap_us-1024x553.jpg 1024w, https:\/\/processminery.com\/wp-content\/uploads\/2023\/09\/worldmap_us-300x162.jpg 300w, https:\/\/processminery.com\/wp-content\/uploads\/2023\/09\/worldmap_us-768x415.jpg 768w, https:\/\/processminery.com\/wp-content\/uploads\/2023\/09\/worldmap_us.jpg 1296w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p><p>\u00a0<\/p><p>For more information about geocoding with the Google API please visit:\u00a0<a style=\"font: inherit; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); color: #a7ce3f; transition-duration: 180ms; transition-timing-function: ease-in; transition-property: all;\" href=\"https:\/\/developers.google.com\/maps\/documentation\/geocoding\/start\">https:\/\/developers.google.com\/maps\/documentation\/geocoding\/start<\/a><\/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<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>In Celonis IBC you have the Worldmap available as standard component. When you want to use this component you can choose to use the ISO country codes or the latitude and longitude coordinates.<\/p>\n","protected":false},"author":5,"featured_media":2211,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[78],"tags":[49,99,76,53],"class_list":["post-2083","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-api-integration","tag-celonis","tag-geocoding","tag-google","tag-oracle"],"_links":{"self":[{"href":"https:\/\/processminery.com\/index.php\/wp-json\/wp\/v2\/posts\/2083","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/processminery.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/processminery.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/processminery.com\/index.php\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/processminery.com\/index.php\/wp-json\/wp\/v2\/comments?post=2083"}],"version-history":[{"count":31,"href":"https:\/\/processminery.com\/index.php\/wp-json\/wp\/v2\/posts\/2083\/revisions"}],"predecessor-version":[{"id":3760,"href":"https:\/\/processminery.com\/index.php\/wp-json\/wp\/v2\/posts\/2083\/revisions\/3760"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/processminery.com\/index.php\/wp-json\/wp\/v2\/media\/2211"}],"wp:attachment":[{"href":"https:\/\/processminery.com\/index.php\/wp-json\/wp\/v2\/media?parent=2083"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/processminery.com\/index.php\/wp-json\/wp\/v2\/categories?post=2083"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/processminery.com\/index.php\/wp-json\/wp\/v2\/tags?post=2083"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}