Geocoder Service

The Geocoder Service is used to resolve geolocation information within Horizon. Horizon supports several Geocoder Services. By default geolocation resolution is disabled.

To enable or configure the Geocoder Service please use the web based configuration tool. This can be found in the administration section: Admin → Configure Geocoder Service

The currently used Geocoder Service is configured via the property activeGeocoderId in etc/org.opennms.features.geocoder.cfg.

Google

The Google Geocoder API requires at least an apiKey or a clientId and signature. For more details please refer to the official documentation.

The following properties in etc/org.opennms.features.geocoder.google.cfg are supported:

Property Type Required Default Description

apiKey

String

yes

empty string

Is only required if useEnterpriseCredentials is false. The apiKey provided by the Google Cloud Platform.

useEnterpriseCredentials

Boolean

no

false

If authentication with clientId and signature is required, set this to true.

clientId

String

yes

empty string

Is only required if useEnterpriseCredentials is true The Google Geocoder API Client ID.

signature

String

yes

empty string

The Google Geocoder API Signature.

useSystemProxy

Boolean

no

false

Should the system wide proxy settings be used? The system proxy settings can be configured in opennms.conf

timeout

Integer

no

500

The connection timeout in milliseconds the Geocoder tries to resolve a single geolocation.

MapQuest

For more details please refer to the official documentation.

The following properties in etc/org.opennms.features.geocoder.mapquest.cfg are supported:

Property Type Required Default Description

apiKey

String

yes

empty string

The apiKey.

url

String

yes

http://www.mapquestapi.com/geocoding/v1/address?format=json&key={\apikey}&maxResults=1&location={\query}

The url template for the MapQuest Geocoder API. The {\apikey} and {\query} strings are substituted before making the request.

useSystemProxy

Boolean

no

false

Should the system wide proxy settings be used? The system proxy settings can be configured in opennms.conf

Nominatim

For more details please refer to the official documentation and ensure to check out the Nominatim Usage Policy before using the Geocoder Service.

The following properties in etc/org.opennms.features.geocoder.nominatim.cfg are supported:

Property Type Required Default Description

acceptUsageTerms

Boolean

yes

false

In order to use the Nominatim Geocoder Service the Nominatim Usage Policy must be accepted. Set this to true to agree to their terms.

url

String

yes

https://nominatim.openstreetmap.org/search?format=json&email={\email}&limit=1&q={\query}

The url template for the Nominatim Geocoder API. The {\email} and {\query} strings are substituted before making the request.

email

String

yes

empty string

According to the official documentation, this should be provided in case you are making a large number of requests. Alternatively provide this information in the userAgent property.

referer

String

either referer or userAgent is required.

empty string

According to the Nominatim Usage Policy please provide either a referer or userAgent

userAgent

String

either referer or userAgent is required.

OpenNMS-NominatimGeocoderService/2.0

According to the Nominatim Usage Policy please provide either a referer or userAgent

useSystemProxy

Boolean

no

false

Should the system wide proxy settings be used? The system proxy settings can be configured in system properties