How do I get my data from Garmin devices to ArcGIS online through Garmin's inReach Portal Connect?
GeoEvent
Many users have implemented a solution using Geoevent Server. You set up an input using the 'Receive JSON on a REST Endpoint' input connector. Upon saving that input it will generate a url (the REST endpoint) that you can copy to your system clipboard.
Then navigate to the Garmin portal (https://explore.garmin.com/ ) > Settings tab > Portal Connect subtab (or go here: https://explore.garmin.com/IPC/). On the Configuration tab under Outbound Settings click the button to turn the Outbound Settings on and paste the url to the geoevent input in URL text box. Click Test to verify the Garmin Portal can reach your input. Then click Save at the bottom of the page.
Then all messages sent from your inReach (outbound messages) when they reach the Garmin portal, will be forwarded to your Geoevent Server.
We do not currently have a GeoEvent Server built, and will not have one for some time. Is there another way?
Absolutely. And in perspective if all you need to do is log inReach data to ArcGIS, Geoevent Server is serious overkill - way more than what is needed. However, you will need something to receive the inReach data, reformat it to to Esri json and send it to your feature service.
One method I have used in the past is a custom http handler. The Garmin Portal is equipped to send to any REST endpoint so you could write a simple http handler and host it on a web server. The web server would provide the REST endpoint to which Garmin could send the inReach messages. As they are received the http handler could reformat them into feature json and POST them to the addFeatures method of a feature service in your ArcGIS portal. This is a relatively simple task for a web developer.
Also there are cloud based ETL (extract, transform, load) platforms that you might be able to leverage. Do an internet search on 'cloud etl arcgis' and see what you can find. I have not used any of these so I have no perspective as to the cost effectiveness, ease of use, reliability etc of these.
Ken Gorton Rebekah Jones
We are going through this same process - attempting to figure out how we could write the HTTP handler code to fit with our potential asset tracking systems (Verizon and Garmin inReach). I have found that both solutions involve an HTTP handler code but I haven't found a sample of what that might look like. Do either of you have a sample code or any information that would help our IT department develop it?
Kara
I looked through my old files for the HttpHandler I wrote but it's been quite a while so I'm afraid I have nothing to send. However, in the interest of keeping it modern you can certainly do this on any of the major cloud platforms using serverless compute such as Amazon Web Services Lambda, Azure Functions, or whatever Google calls their incarnation of this. This tutorial walks you through setting up a serverless compute resource on Azure (for free): Create your first function in Azure using Visual Studio Code | Microsoft Docs .
Your folks can pick their development language from some of the popular ones: JavaScript, Java, C#, Python, etc.
Following this tutorial I was able to set up a function to receive GET or POST requests and return a response. You could then modify the code to receive inReach messages, reformat them to feature service json and send them via http POST requests to the ArcGIS feature service of your choice. Again, some internet searches turned up examples of how to make http POST requests from within Azure Functions.
Sorry I cannot provide actual code examples of my old HttpHandler. But if I were to set out to recreate such a capability I would leverage AWS, Google or Azure serverless compute resources instead. Good luck.
Ken
Hi JohnMiele,
I sent you a private message with a potential solution that may work only for your case (thus I didn't want to put it here). Let me know if you didn't receive it. Please reply to the private message with any additional questions about that particular approach and let me know your thoughts.
Hello Ken, I currently want to integrate Garmin devices to GeoEvent but the Garmin Portal test keeps failing and the input connector is not receiving anything from the URL generated. Anything I might be missing on this setup?
Les membres connectés peuvent publier, suivre les mises à jour, et plus encore. Nouveau ici ? Inscrivez-vous gratuitement.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.