X4 Produktdokumentation

Operation: Geocode

This operation converts an address to coordinates (longitude and latitude).

Input

For the Geocode operation, the adapter expects an XML input structure according to the following pattern:

XML
<Geocode>
	<Address>
        <Street></Street>
        <City></City>
        <Country></Country>
		<Data></Data>
	</Address>
</Geocode> 

Note:

  • Address information can be specified in a structured or combined manner in the <Data> element.

  • Combined data returns multiple results.

Output

If the operation is successful, the adapter issues an XML or JSON document.

Examples

Here are some examples of the Geocode operation.

Example 1: Structured specification of the address

Input

XML
<Geocode>
	<Address>
		<Street>Am Erlengraben</Street>
		<City>Ettlingen</City>
		<Country>Deutschland</Country>
	</Address>
</Geocode> 
Output in XML
XML
<?xml version="1.0" encoding="UTF-8"?>
<GeocodeResponse>
   <result>
      <formatted_address>Am Erlengraben, 76275 Ettlingen, Germany</formatted_address>
      <types>route</types>
      <partial_match>false</partial_match>
      <geometry>
         <viewport>
            <southwest>
               <lng>8.389837819708498</lng>
               <lat>48.9505536197085</lat>
            </southwest>
            <northeast>
               <lng>8.392535780291503</lng>
               <lat>48.95325158029149</lat>
            </northeast>
         </viewport>
         <bounds>
            <southwest>
               <lng>8.390389800000001</lng>
               <lat>48.9509215</lat>
            </southwest>
            <northeast>
               <lng>8.3919838</lng>
               <lat>48.9528837</lat>
            </northeast>
         </bounds>
         <location>
            <lng>8.3911229</lng>
            <lat>48.9518265</lat>
         </location>
         <location_type>geometric_center</location_type>
      </geometry>
      <address_components>
         <types>route</types>
         <short_name>Am Erlengraben</short_name>
         <long_name>Am Erlengraben</long_name>
      </address_components>
      <address_components>
         <types>locality</types>
         <types>political</types>
         <short_name>Ettlingen</short_name>
         <long_name>Ettlingen</long_name>
      </address_components>
      <address_components>
         <types>administrative_area_level_3</types>
         <types>political</types>
         <short_name>Karlsruhe</short_name>
         <long_name>Karlsruhe</long_name>
      </address_components>
      <address_components>
         <types>administrative_area_level_2</types>
         <types>political</types>
         <short_name>KA</short_name>
         <long_name>Karlsruhe</long_name>
      </address_components>
      <address_components>
         <types>administrative_area_level_1</types>
         <types>political</types>
         <short_name>BW</short_name>
         <long_name>Baden-Württemberg</long_name>
      </address_components>
      <address_components>
         <types>country</types>
         <types>political</types>
         <short_name>DE</short_name>
         <long_name>Germany</long_name>
      </address_components>
      <address_components>
         <types>postal_code</types>
         <short_name>76275</short_name>
         <long_name>76275</long_name>
      </address_components>
      <place_id>ChIJH7Ozu70Fl0cRjdTadgI9alc</place_id>
   </result>
   <status>OK</status>
</GeocodeResponse>
Output in JSON
JSON
{
  "results": [
    {
      "address_components": [
        {
          "long_name": "Am Erlengraben",
          "short_name": "Am Erlengraben",
          "types": [
            "route"
          ]
        },
        {
          "long_name": "Ettlingen",
          "short_name": "Ettlingen",
          "types": [
            "locality",
            "political"
          ]
        },
        {
          "long_name": "Karlsruhe",
          "short_name": "Karlsruhe",
          "types": [
            "administrative_area_level_3",
            "political"
          ]
        },
        {
          "long_name": "Karlsruhe",
          "short_name": "KA",
          "types": [
            "administrative_area_level_2",
            "political"
          ]
        },
        {
          "long_name": "Baden-Württemberg",
          "short_name": "BW",
          "types": [
            "administrative_area_level_1",
            "political"
          ]
        },
        {
          "long_name": "Germany",
          "short_name": "DE",
          "types": [
            "country",
            "political"
          ]
        },
        {
          "long_name": "76275",
          "short_name": "76275",
          "types": [
            "postal_code"
          ]
        }
      ],
      "formatted_address": "Am Erlengraben, 76275 Ettlingen, Germany",
      "geometry": {
        "bounds": {
          "northeast": {
            "lat": 48.9528837,
            "lng": 8.3919838
          },
          "southwest": {
            "lat": 48.9509215,
            "lng": 8.390389800000001
          }
        },
        "location": {
          "lat": 48.9518265,
          "lng": 8.3911229
        },
        "location_type": "geometric_center",
        "viewport": {
          "northeast": {
            "lat": 48.95325158029149,
            "lng": 8.392535780291503
          },
          "southwest": {
            "lat": 48.9505536197085,
            "lng": 8.389837819708498
          }
        }
      },
      "types": [
        "route"
      ],
      "partial_match": false,
      "place_id": "ChIJH7Ozu70Fl0cRjdTadgI9alc"
    }
  ],
  "status": "OK"
}
Example 2: Combined specification of the address in the <Data> element

Input

XML
<Geocode>
	<Address>
		<Data>Am Erlengraben, Ettlingen, DE</Data>
	</Address>
</Geocode> 
Output in XML
XML
<?xml version="1.0" encoding="UTF-8"?>
<GeocodeResponse>
   <result>
      <formatted_address>Am Erlengraben, 76275 Ettlingen, Germany</formatted_address>
      <types>route</types>
      <partial_match>false</partial_match>
      <geometry>
         <viewport>
            <southwest>
               <lng>8.389837819708498</lng>
               <lat>48.9505536197085</lat>
            </southwest>
            <northeast>
               <lng>8.392535780291503</lng>
               <lat>48.95325158029149</lat>
            </northeast>
         </viewport>
         <bounds>
            <southwest>
               <lng>8.390389800000001</lng>
               <lat>48.9509215</lat>
            </southwest>
            <northeast>
               <lng>8.3919838</lng>
               <lat>48.9528837</lat>
            </northeast>
         </bounds>
         <location>
            <lng>8.3911229</lng>
            <lat>48.9518265</lat>
         </location>
         <location_type>geometric_center</location_type>
      </geometry>
      <address_components>
         <types>route</types>
         <short_name>Am Erlengraben</short_name>
         <long_name>Am Erlengraben</long_name>
      </address_components>
      <address_components>
         <types>locality</types>
         <types>political</types>
         <short_name>Ettlingen</short_name>
         <long_name>Ettlingen</long_name>
      </address_components>
      <address_components>
         <types>administrative_area_level_3</types>
         <types>political</types>
         <short_name>Karlsruhe</short_name>
         <long_name>Karlsruhe</long_name>
      </address_components>
      <address_components>
         <types>administrative_area_level_2</types>
         <types>political</types>
         <short_name>KA</short_name>
         <long_name>Karlsruhe</long_name>
      </address_components>
      <address_components>
         <types>administrative_area_level_1</types>
         <types>political</types>
         <short_name>BW</short_name>
         <long_name>Baden-Württemberg</long_name>
      </address_components>
      <address_components>
         <types>country</types>
         <types>political</types>
         <short_name>DE</short_name>
         <long_name>Germany</long_name>
      </address_components>
      <address_components>
         <types>postal_code</types>
         <short_name>76275</short_name>
         <long_name>76275</long_name>
      </address_components>
      <place_id>ChIJH7Ozu70Fl0cRjdTadgI9alc</place_id>
   </result>
   <status>OK</status>
</GeocodeResponse>
Output in JSON
JSON
{
  "results": [
    {
      "address_components": [
        {
          "long_name": "Am Erlengraben",
          "short_name": "Am Erlengraben",
          "types": [
            "route"
          ]
        },
        {
          "long_name": "Ettlingen",
          "short_name": "Ettlingen",
          "types": [
            "locality",
            "political"
          ]
        },
        {
          "long_name": "Karlsruhe",
          "short_name": "Karlsruhe",
          "types": [
            "administrative_area_level_3",
            "political"
          ]
        },
        {
          "long_name": "Karlsruhe",
          "short_name": "KA",
          "types": [
            "administrative_area_level_2",
            "political"
          ]
        },
        {
          "long_name": "Baden-Württemberg",
          "short_name": "BW",
          "types": [
            "administrative_area_level_1",
            "political"
          ]
        },
        {
          "long_name": "Germany",
          "short_name": "DE",
          "types": [
            "country",
            "political"
          ]
        },
        {
          "long_name": "76275",
          "short_name": "76275",
          "types": [
            "postal_code"
          ]
        }
      ],
      "formatted_address": "Am Erlengraben, 76275 Ettlingen, Germany",
      "geometry": {
        "bounds": {
          "northeast": {
            "lat": 48.9528837,
            "lng": 8.3919838
          },
          "southwest": {
            "lat": 48.9509215,
            "lng": 8.390389800000001
          }
        },
        "location": {
          "lat": 48.9518265,
          "lng": 8.3911229
        },
        "location_type": "geometric_center",
        "viewport": {
          "northeast": {
            "lat": 48.95325158029149,
            "lng": 8.392535780291503
          },
          "southwest": {
            "lat": 48.9505536197085,
            "lng": 8.389837819708498
          }
        }
      },
      "types": [
        "route"
      ],
      "partial_match": false,
      "place_id": "ChIJH7Ozu70Fl0cRjdTadgI9alc"
    }
  ],
  "status": "OK"
}
Example 3: Combination of structured and combined address

Input

XML
<Geocode>
	<Address>
		<Street>Am Erlengraben</Street>
		<City>Ettlingen</City>
		<Country>Deutschland</Country>
		<Data>Am Erlengraben, Ettlingen, DE</Data>
	</Address>
</Geocode> 
Output in XML
XML
<?xml version="1.0" encoding="UTF-8"?>
<GeocodeResponse>
   <result>
      <formatted_address>Am Erlengraben, 76275 Ettlingen, Germany</formatted_address>
      <types>route</types>
      <partial_match>false</partial_match>
      <geometry>
         <viewport>
            <southwest>
               <lng>8.389837819708498</lng>
               <lat>48.9505536197085</lat>
            </southwest>
            <northeast>
               <lng>8.392535780291503</lng>
               <lat>48.95325158029149</lat>
            </northeast>
         </viewport>
         <bounds>
            <southwest>
               <lng>8.390389800000001</lng>
               <lat>48.9509215</lat>
            </southwest>
            <northeast>
               <lng>8.3919838</lng>
               <lat>48.9528837</lat>
            </northeast>
         </bounds>
         <location>
            <lng>8.3911229</lng>
            <lat>48.9518265</lat>
         </location>
         <location_type>geometric_center</location_type>
      </geometry>
      <address_components>
         <types>route</types>
         <short_name>Am Erlengraben</short_name>
         <long_name>Am Erlengraben</long_name>
      </address_components>
      <address_components>
         <types>locality</types>
         <types>political</types>
         <short_name>Ettlingen</short_name>
         <long_name>Ettlingen</long_name>
      </address_components>
      <address_components>
         <types>administrative_area_level_3</types>
         <types>political</types>
         <short_name>Karlsruhe</short_name>
         <long_name>Karlsruhe</long_name>
      </address_components>
      <address_components>
         <types>administrative_area_level_2</types>
         <types>political</types>
         <short_name>KA</short_name>
         <long_name>Karlsruhe</long_name>
      </address_components>
      <address_components>
         <types>administrative_area_level_1</types>
         <types>political</types>
         <short_name>BW</short_name>
         <long_name>Baden-Württemberg</long_name>
      </address_components>
      <address_components>
         <types>country</types>
         <types>political</types>
         <short_name>DE</short_name>
         <long_name>Germany</long_name>
      </address_components>
      <address_components>
         <types>postal_code</types>
         <short_name>76275</short_name>
         <long_name>76275</long_name>
      </address_components>
      <place_id>ChIJH7Ozu70Fl0cRjdTadgI9alc</place_id>
   </result>
   <status>OK</status>
</GeocodeResponse>

Output in JSON
JSON
{
  "results": [
    {
      "address_components": [
        {
          "long_name": "Am Erlengraben",
          "short_name": "Am Erlengraben",
          "types": [
            "route"
          ]
        },
        {
          "long_name": "Ettlingen",
          "short_name": "Ettlingen",
          "types": [
            "locality",
            "political"
          ]
        },
        {
          "long_name": "Karlsruhe",
          "short_name": "Karlsruhe",
          "types": [
            "administrative_area_level_3",
            "political"
          ]
        },
        {
          "long_name": "Karlsruhe",
          "short_name": "KA",
          "types": [
            "administrative_area_level_2",
            "political"
          ]
        },
        {
          "long_name": "Baden-Württemberg",
          "short_name": "BW",
          "types": [
            "administrative_area_level_1",
            "political"
          ]
        },
        {
          "long_name": "Germany",
          "short_name": "DE",
          "types": [
            "country",
            "political"
          ]
        },
        {
          "long_name": "76275",
          "short_name": "76275",
          "types": [
            "postal_code"
          ]
        }
      ],
      "formatted_address": "Am Erlengraben, 76275 Ettlingen, Germany",
      "geometry": {
        "bounds": {
          "northeast": {
            "lat": 48.9528837,
            "lng": 8.3919838
          },
          "southwest": {
            "lat": 48.9509215,
            "lng": 8.390389800000001
          }
        },
        "location": {
          "lat": 48.9518265,
          "lng": 8.3911229
        },
        "location_type": "geometric_center",
        "viewport": {
          "northeast": {
            "lat": 48.95325158029149,
            "lng": 8.392535780291503
          },
          "southwest": {
            "lat": 48.9505536197085,
            "lng": 8.389837819708498
          }
        }
      },
      "types": [
        "route"
      ],
      "partial_match": false,
      "place_id": "ChIJH7Ozu70Fl0cRjdTadgI9alc"
    }
  ],
  "status": "OK"
}