We'd like to add PI data to ArcGIS Portal and I've heard that this should be possible by using GeoEvent connector but yet I have not found any examples of how this has been done. Has this ever been done by any organization or has anyone planned doing this anytime soon?
OSIsoft PI actually has a product that allows you to do this, so I'd recommend you start there ( PI Integrator for Esri ArcGIS ). It is possible to write your own solution to do this using GeoEvent Server and some other components from OSIsoft, but it would require a fair amount of work.
Thanks for the reply! I'm familiar with PI Integrator but I've understood that it is pretty expensive. This is the reason why we are interested if GeEvent can be used to do the same trick.
I'm familiar of several instances where customers who aren't using PI have leveraged the GeoEvent server to process and store SCADA data inside the GIS. You'll still need to develop something on your end to relay data to the GeoEvent server.
GeoEvent Server is fundamentally RESTful, by which I mean the most reliable integration tends to leverage inputs where GeoEvent Server hosts a REST endpoint to which data providers can HTTP/POST data as JSON, geoJSON, XML, or delimited text ... or inputs which periodically poll an external web server / service which then sends event records back formatted as JSON, geoJSON, or XML. Both of these types of inputs are available out-of-the-box without any custom development (e.g. programming).
When Robert suggests that you'll still need to develop something to relay data to the GeoEvent Server, I suspect that he is thinking of a RESTful API. If a company whose business is deploying sensors for system monitoring wants to make it easy to integrate with ArcGIS Enterprise and GeoEvent Server, they'll develop an REST API which either allows an external web client (e.g. GeoEvent Server) to poll an endpoint or allows some way to subscribe and begin receiving periodic data pushes from the API to a REST endpoint.
You are correct. Fortunately OSIsoft also has a RESTful API available that allows for querying out data from the PI system (my guess is you would want to use the StreamSet objects: StreamSet ). Managing all the configuration / mapping between OSIsoft and the GIS model as well as Geo Enriching the data streams from PI (adding geometries and other information from the GIS features) should all be doable via the GeoEvent server without any need to write code, but it will still take a fair bit of work to develop the set of inputs / processors / outputs to achieve this.
There are a number of reasons why OSIsoft has a product for doing this (and that product does leverage the GeoEvent server) and most of them have to do with a) making is easier to set up and maintain the mappings between the two systems and b) making the solution more scaleable by introducing some components to manage the demand on the OSI infrastructure.