Intersecting Polygons

2969
6
07-27-2014 12:31 PM
Highlighted
New Contributor II

Hi - I'm relatively new to GeoEvent processor. I'm trying to figure out how to create a warning / notification when two polygons intersect each other? We have a series of project areas that we want to monitor against potential weather events. I've set up the weather event polygons as the GeoFence(s), and I'm using the incident detector processor to look for areas where the geometries intersect. Ideally we'd like to show a warning notification on screen (Operations Dashboard), and send a e-mail / text message to our field workers on site. When I run the GeoEvent Service nothing happens. We are using ArcServer 10.2.2. Any ideas or thoughts would be greatly appreciated.

Thanks!

Ryan

Reply
0 Kudos
6 Replies
Highlighted
Occasional Contributor II

Hi Nicholas/Ryan(?),

At GeoEvent 10.2.x, poly-on-poly is not a supported geometry operator unless one of the polygons falls wholly within the other, which would trigger INSIDE or ENTER (if the previous poly was outside).  At 10.3, the list of spatial operators has been significantly expanded, and you will be able to do what you are describing.

Mark

Reply
0 Kudos
Highlighted
New Contributor II

Hi Mark,

Thanks for the response. Sorry for the confusion I go by my middle name, Ryan. I'm glad we'll be able to have this functionality in 10.3, but unfortunately I need a solution now. If I converted one of the polygon features to a line feature would that work?

Ryan

Reply
0 Kudos
Highlighted
Occasional Contributor II

I don't think so - not unless it wholly falls within a geofence polygon.  Can you make the polyline into points?  Or smaller polylines?  Trying to think of ways to get around the wholly inside necessity...

Reply
0 Kudos
Highlighted
New Contributor III

Mark,

Can you provide a list of the additional spatial operators planned for the 10.3 release?

I'm also curious if there's anyway to experiment with the "stream-service" which I believe is also planned for 10.3 release. My notes from the 2014 DevSummit describe a stream-service as a "stream-layer" but managed by the server rather than the client.

Not sure if this information is already out there... I missed the UC and GeoNet is still new.

Thanks!

-Erick

Reply
0 Kudos
Highlighted
Occasional Contributor II

Here's the list:

Contains

Crosses

Disjoint

Enter

Equals

Exit

Inside

Intersects

Outside

Overlaps

Touches

Within

Exists

Isnull

Yes, the stream service is coming out at 10.3.  It's a new ArcGIS Server service type (like MapServer, FeatureServer, etc) that's fed data directly by the GeoEvent Extension via web socket technology.  The stream layer has been in the JavaScript API for a while now, but it's not in any other Esri clients (yet).  Stream layer adoption is supposed to happen in other Esri clients gradually (I'm not in Esri core development, I'm just relaying what I've heard).  I also know others in core who have not yet been tasked with stream layer adoption work, so for some clients, it may be a while.  Again, I am not in core development, so this is all subject to change.  Please don't quote me and get me in hot water.  J

Stream layers will be fed data by the stream service.  The stream service is not a stream layer itself, it just makes creating and using the stream layer easier (again, only in JS API as of now).  The stream layer can make certain requests of the stream service, like "only give me data in this geographic extent”, "only give me data that satisfies such-and-such where clause”, "only give me data from a, b, and c fields” (where the layer may have many more fields than just those three).  So the stream layer and stream service work together to maximize efficiency and only pass data on the wire that's requested.  To limit data in this manner currently, everything would need to be sent to the client, and then the client would need to handle all filtering ‘manually' - expensive and inefficient.

Regarding experimenting with the stream service now, I think it's too early, I'm not sure how you'd get your hands on it.  However, working with the current GeoEvent output "Publish JSON to a Web Socket” can give you a handle on what it's like to work with data sent via web sockets.  The stream layer actually needs a specific format of JSON ("feature JSON”) coming from a web socket.  To output feature JSON, you have to create a new connector in GeoEvent to spit out this format.  I do not mean building a new connector using the API.  You can build this new "feature JSON” output connector using the out-of-box GeoEvent components.  If you need to know how to do that, let me know.

Highlighted
Esri Contributor

Hi Guys,

I am trying perform similar functionality in 10.5.1

Input is (Poll an External Website for JSON), just pull all polygon from map service and grab all features by configuring as features in JSON object name.

And try to map into dummy geoevent definition which has object id and geometry only

Geoevent service setup overview

And add polygon filter to geofence.

polygon intersect

With this setup, from polygon map service there is no geofence polygon are intersected in geoevent.

But when I test by querying from that map service (used in input connector), a few geofence polygon (as input geometry) really intersect and get few features result.

And just breakdown and out put after field mapper, i got result in geoevent service but when I add this intersects filter, it is not working.

May I know is there something wrong with filter properties? or 10.5.1 does not support polygon filter yet?

Best Regards,

Than

Reply
0 Kudos