nominatim-geocode-action/kamelet.yaml

94 lines
114 KiB
YAML
Raw Permalink Normal View History

apiVersion: camel.apache.org/v1
kind: Kamelet
metadata:
name: nominatim-geocode-action
annotations:
camel.apache.org/kamelet.support.level: "Stable"
camel.apache.org/catalog.version: "4.10.2"
camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMjU2IgogICBoZWlnaHQ9IjI1NiIKICAgaWQ9InN2ZzMwMzgiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4xLjIgKDBhMDBjZjUzMzksIDIwMjItMDItMDQpIgogICBzb2RpcG9kaTpkb2NuYW1lPSJPcGVuU3RyZWV0TWFwIGxvZ28gMjAxMS5zdmciCiAgIGlua3NjYXBlOmV4cG9ydC1maWxlbmFtZT0iL2hvbWUvZnJlZC9ibGEucG5nIgogICBpbmtzY2FwZTpleHBvcnQteGRwaT0iMTgwIgogICBpbmtzY2FwZTpleHBvcnQteWRwaT0iMTgwIgogICBzb2RpcG9kaTp2ZXJzaW9uPSIwLjMyIgogICBpbmtzY2FwZTpvdXRwdXRfZXh0ZW5zaW9uPSJvcmcuaW5rc2NhcGUub3V0cHV0LnN2Zy5pbmtzY2FwZSIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgogIDx0aXRsZQogICAgIGlkPSJ0aXRsZTM1OTQiPk9wZW5TdHJlZXRNYXAgbG9nbyAyMDExPC90aXRsZT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzA0MCI+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDY4NDYiPgogICAgICA8c3RvcAogICAgICAgICBpZD0ic3RvcDY4NDgiCiAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2ZmZmZmZjtzdG9wLW9wYWNpdHk6MTsiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmZmZmZmY7c3RvcC1vcGFjaXR5OjAuOTMwNTAxOTQ7IgogICAgICAgICBvZmZzZXQ9IjAuNSIKICAgICAgICAgaWQ9InN0b3A2ODUyIiAvPgogICAgICA8c3RvcAogICAgICAgICBpZD0ic3RvcDY4NTAiCiAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2ZmZmZmZjtzdG9wLW9wYWNpdHk6MDsiIC8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50CiAgICAgICBpZD0ibGluZWFyR3JhZGllbnQ1ODYyIj4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2Y5ZTI5NTtzdG9wLW9wYWNpdHk6MTsiCiAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgaWQ9InN0b3A1ODY0IiAvPgogICAgICA8c3RvcAogICAgICAgICBpZD0ic3RvcDU4NzYiCiAgICAgICAgIG9mZnNldD0iMC4xMjUiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmN2RkODQ7c3RvcC1vcGFjaXR5OjE7IiAvPgogICAgICA8c3RvcAogICAgICAgICBpZD0ic3RvcDU4NzQiCiAgICAgICAgIG9mZnNldD0iMC4yMDU4MDU4MiIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2ZmZmZmZjtzdG9wLW9wYWNpdHk6MTsiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIGlkPSJzdG9wNTg3MCIKICAgICAgICAgb2Zmc2V0PSIwLjMwMTEyNjIxIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZjRjZTUxO3N0b3Atb3BhY2l0eToxOyIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2Y5ZTdhYTtzdG9wLW9wYWNpdHk6MTsiCiAgICAgICAgIG9mZnNldD0iMC4zNDEyMDM5IgogICAgICAgICBpZD0ic3RvcDU4NzIiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNlZmJiMGU7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIGlkPSJzdG9wNTg2NiIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDU3NjIiPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMmQzMzM1O3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBpZD0ic3RvcDU3NjQiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIGlkPSJzdG9wNTc3MCIKICAgICAgICAgb2Zmc2V0PSIwLjUiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM0YzQ2NGE7c3RvcC1vcGFjaXR5OjE7IiAvPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMzg0MDQyO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICBpZD0ic3RvcDU3NjYiIC8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50CiAgICAgICBpZD0ibGluZWFyR3JhZGllbnQ1NzQ1Ij4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2QwZTlmMjtzdG9wLW9wYWNpdHk6MDsiCiAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgaWQ9InN0b3A1NzQ3IiAvPgogICAgICA8c3RvcAogICAgICAgICBpZD0ic3RvcDU3NTMiCiAgICAgICAgIG9mZnNldD0iMC44MzkzMjc1MSIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2QwZTlmMjtzdG9wLW9wYWNpdHk6MDsiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNkMGU5ZjI7c3RvcC1vcGFjaXR5OjAuMjgxODUzMjk7IgogICAgICAgICBvZmZzZXQ9IjAuOTQzMDg1MDciCiAgICAgICAgIGlkPSJzdG9wNTc1NSIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2QwZ
camel.apache.org/provider: "Apache Software Foundation"
camel.apache.org/kamelet.group: "Geospatial"
camel.apache.org/kamelet.namespace: "Geo"
labels:
camel.apache.org/kamelet.type: "action"
spec:
definition:
title: "Nominatim GeoCode Action"
description: |-
Find locations on Earth by name and address.
This Kamelet expects in the body the `address` to find.
The return message will also contain the following headers with the geolocation info:
- `CamelGeoCoderAddress`
- `CamelGeoCoderCity`
- `CamelGeoCoderCountryLong`
- `CamelGeoCoderCountryShort`
- `CamelGeoCoderLat`
- `CamelGeoCoderLng`
- `CamelGeoCoderLatlng`
- `CamelGeoCoderPostalCode`
- `CamelGeoCoderRegionCode`
- `CamelGeoCoderRegionName`
- `CamelGeoCoderStatus`
The body will be returned in JSON format.
required:
- serverUrl
type: object
properties:
serverUrl:
title: "Server URL"
description: "Url of the Nominatim server"
example: "https://nominatim.openstreetmap.org"
type: string
types:
in:
mediaType: text/plain
out:
mediaType: application/json
schema:
type: object
required: ["place_id"]
properties:
place_id:
type: numeric
licence:
type: string
osm_type:
type: string
osm_id:
type: numeric
boundingbox:
type: array
lat:
type: numeric
lon:
type: numeric
display_name:
type: string
place_rank:
type: numeric
category:
type: string
address:
type: object
dependencies:
- "camel:core"
- "camel:jackson"
- "camel:geocoder"
- "camel:kamelet"
template:
from:
uri: "kamelet:source"
steps:
- setHeader:
name: CamelGeoCoderAddress
simple: "${body}"
- to:
uri: "geocoder:address:toOverride"
parameters:
type: "NOMINATIM"
serverUrl: "RAW({{serverUrl}})"
- marshal:
json: {}