Support Questions

Find answers, ask questions, and share your expertise

NiFi and GeoLocalization

avatar
Expert Contributor

Hi all,

Does someone know if there is a way to enrich a FlowFile with geolocalization infos by querying an external GIS server like ArcGIS? I saw that in NiFi there is the GeoEnrichIP processor, but I need to get latitude and longitude from an address that is a FlowFile attribute.

Thank you,

D.

1 ACCEPTED SOLUTION

avatar
Guru

One means of doing this might be to use Web Services to do the enrichment. For example, you could use Arc's REST service for geocoding, and invoke this from a Get/InvokeHTTP processor, passing parameters from the FlowFile arguments.

View solution in original post

5 REPLIES 5

avatar

Hello Davide,

We do not have an out of the box processor to do this at this time but it would be a fairly straightforward custom processor to build. Of course querying an external service for this information offers different tradeoffs than having a local cache of data so keep that in mind. I will take a look at our existing geo enrichment processor to see what is involved in getting lat/long data as well.

Thanks

Joe

avatar

Actually Davide I just checked the current GeoEnrichIP processor and it does indeed include lat/long/city/country/postalcode. It is driven by a given IP address and you control the input dataset. Maxmind, which is the dataset that processor is built around also offers a pay version for higher accuracy.

Are you looking for geo enrichment based on an IP address or another type of address?

Thanks

Joe

avatar
Expert Contributor

Hi Joe,

thanks for the response.

I'm sorry, I badly explained myself. I'm not looking for a geo enrichment based on an IP address, but on a street address. For example, in my FlowFile, I have an attribute named "address" which contains a street address eg. "1234 Main Street, SomeCity, USA" and I need to query an external GIS database to get lat and long for that address.

Thanks

Davide

avatar
Guru

One means of doing this might be to use Web Services to do the enrichment. For example, you could use Arc's REST service for geocoding, and invoke this from a Get/InvokeHTTP processor, passing parameters from the FlowFile arguments.

avatar
Expert Contributor

Ok,

thank you very much, Joe. I'll try this way.