Calculate nearest distance in Geoevent Server

305
2
10-27-2023 09:06 AM
Jay_Gregory
Occasional Contributor III

I'm curious how to implement the following in GeoEvent server (or if its even possible)

I have two point datasets - one is a static list of facilities, and the other is a list of wildfire locations from Living Atlas.  How can I create a series of processors to calculate the distance between a facility and its nearest wildfire, and update a feature class of facilities and distance to nearest wildfire.  It's acceptable if the distance has to be within a threshold. 

It seems like I could use Buffer and Intersect processors to do the first part - unclear how to generate distance between each origin facility and the nearest fire.

0 Kudos
2 Replies
RJSunderman
Esri Regular Contributor

@Jay_Gregory -- I don't think this is going to be possible using the geometry processors available out of the box for GeoEvent Server.

The Intersector processor, for example, would be a better fit if you had a number of inbound event records with polyline geometry and wanted to know what portion(s) of each polyline intersect the wildfire burn area  (given a polygon for the wildfire's area).

The Difference Creator processor, on the other hand, would be used to clip or remove some portion of a wildfire's burn area that intersects an event record’s geometry -- not really useful if the inbound event  record has a point or polyline geometry. I would expect you would want to run this sort of analysis as polygon vs. polygon.

I cannot convince myself that the Symmetric Difference Creator processor will be of any help here.

Given that the wildfire locations are provided as point locations (not polyline perimeters or polygonal burn areas) and the lack of a 'Find Nearest' tool, there is really no opportunity to perform a useful intersection analysis if the facility data is also point locations. A point can be evaluated to see if it intersects an area, but two points are very rarely (like "never") going to intersect one another at the exact same coordinates.

You could create elliptic buffers for the wildfires, or the facilities, or both I suppose. But especially for the wildfires, a geodesic buffer would be a very poor model of a fire's behavior and direction of expansion. There simply is no way to take terrain or weather into account when creating the buffer. And then you would have to run the analysis iteratively using rings of buffers to determine which facilities are within:  (a) 2km of a fire; (b) 5km of a file; (c) 10km of a fire?  Seems like a pretty poor substitute for trying to find the nearest point to another point.

This also doesn't feel like a great fit for real-time data processing in general. If you were able to query every hour to get an updated polygon model for a wildfire's burn area, that would be one thing. But I wouldn't think a given wildfire's point location would be likely to change in real-time, and how many new wildfires are going to be posted in an hour, or even within an 8-hour shift? It just seems you would be better off bringing the two point layers in to a web map and using the available 'Analysis' tools to run a 'Find Nearest' from the Proximity set of operations at several different times during your day.

0 Kudos
RJSunderman
Esri Regular Contributor

@Jay_Gregory -- While this use case might not be a great fit for GeoEvent Server, the ArcGIS Online product for real-time data processing, ArcGIS Velocity, supports both real-time analytics and scheduled batch analytics. There is a Calculate Distance tool in the ArcGIS Velocity proximity toolset which can be configured to join a calculated distance onto processed data records in order to "enrich" them with the linear distance to the closest comparison feature. Maybe something to consider for the future ...

0 Kudos