{"id":842981,"date":"2020-05-05T00:00:59","date_gmt":"2020-05-05T07:00:59","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=842981"},"modified":"2021-09-02T06:01:48","modified_gmt":"2021-09-02T13:01:48","slug":"real-time-geofencing-in-arcgis-analytics-for-iot","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot","title":{"rendered":"Real-time geofencing in ArcGIS Velocity"},"author":30801,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[37121],"tags":[40691,756721,756911,756472,24791],"industry":[],"product":[756702],"class_list":["post-842981","blog","type-blog","status-publish","format-standard","hentry","category-real-time","tag-analytics","tag-arcgis-velocity","tag-geofencing","tag-ingest","tag-real-time","product-arcgis-velocity"],"acf":{"short_description":"Use ArcGIS Velocity to determine when an asset you\u2019re tracking shares a spatial relationship with some geographic location.","flexible_content":[{"acf_fc_layout":"content","content":"<p>Real-time geofencing in ArcGIS Velocity<\/p>\n<p>One of the most common use cases in real-time spatial analytics is geofencing: determining when an <a href=\"https:\/\/www.esri.com\/en-us\/industries\/needs\/asset-tracking-analysis\">asset you\u2019re tracking<\/a> shares a spatial relationship with some geographic location. The most frequent example of this is when a moving asset such as a vehicle, airplane, or ship is inside \u2013 or outside \u2013 an area of interest such as a specified delivery area, restricted airspace, or designated shipping lane.<\/p>\n<p>While point-inside-polygon is perhaps the most common scenario, geofencing can leverage other types of geometries and spatial relationships. For instance, you may want to determine when a hurricane track forecast cone (represented as a moving polygon) <em>intersects<\/em> a county (polygon) or transmission line (polyline), or if it <em>contains<\/em> a hospital (point).<\/p>\n<p>In this blog, we\u2019ll explore some of the ways you can apply geofence detection using a <a href=\"https:\/\/doc.arcgis.com\/en\/iot\/analyze\/perform-real-time-analysis.htm\">real-time analytic<\/a> in <a href=\"https:\/\/doc.arcgis.com\/en\/iot\/get-started\/what-is-arcgis-analytics-for-iot.htm\">ArcGIS Velocity<\/a>.<\/p>\n<p><strong>The scenario<\/strong><\/p>\n<p>To convey these concepts, we\u2019ll explore a scenario in which we want to determine when a city bus is within a certain proximity to a bus stop. In this case, the buses are the tracked assets while the bus stops are the geofences. This kind of analysis is useful in workflows such as updating a city\u2019s transit dashboard with real-time information or alerting riders their bus is approaching. If the resulting data is stored, historical analysis can be performed later to gain insights, for example, into whether bus delays occur more often at some locations than at others.<\/p>\n<p>The data we\u2019ll be using is from two open source datasets available for the City of Charlotte, NC. The bus stop data is directly from the <a href=\"https:\/\/data.charlottenc.gov\/datasets\/bus-stops\">Charlotte Open Data Portal<\/a>, while the bus location observation data was captured from <a href=\"https:\/\/openmobilitydata.org\/p\/charlotte-area-transit-system\/1252\/20191015\/file\/shapes.txt\">OpenMobilityData<\/a> and will be simulated back into Velocity . So let\u2019s get started!<\/p>\n<p><strong>Ingest the real-time feed<\/strong><\/p>\n<p>Velocity provides many ways to ingest real-time data using <a href=\"https:\/\/doc.arcgis.com\/en\/iot\/ingest\/what-is-a-feed-.htm\">feeds<\/a>. For this scenario, we\u2019ve configured the <a href=\"https:\/\/doc.arcgis.com\/en\/iot\/ingest\/azure-event-hub.htm\">Azure Event Hub<\/a> feed type and used it to ingest the bus location data obtained from OpenMobilityData. To enhance the data a bit, we added a <em>route_pt_time<\/em> field to the data so each bus feature will have the current time. The schema of the data is illustrated below.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":843071,"id":843071,"title":"","filename":"confirm-schema.png","filesize":41509,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/confirm-schema.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot\/confirm-schema","alt":"","author":"30801","description":"","caption":"","name":"confirm-schema","status":"inherit","uploaded_to":842981,"date":"2020-04-29 13:30:56","modified":"2020-04-29 13:31:45","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1726,"height":709,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/confirm-schema-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/confirm-schema.png","medium-width":464,"medium-height":191,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/confirm-schema.png","medium_large-width":768,"medium_large-height":315,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/confirm-schema.png","large-width":1726,"large-height":709,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/confirm-schema-1536x631.png","1536x1536-width":1536,"1536x1536-height":631,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/confirm-schema.png","2048x2048-width":1726,"2048x2048-height":709,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/confirm-schema-826x339.png","card_image-width":826,"card_image-height":339,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/confirm-schema.png","wide_image-width":1726,"wide_image-height":709}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Creating and configuring a feed is outside the scope of this blog. For details on doing so, review the available <a href=\"https:\/\/doc.arcgis.com\/en\/iot\/ingest\/what-is-a-feed-.htm\">feed types<\/a> as well as work through the <a href=\"https:\/\/doc.arcgis.com\/en\/iot\/get-started\/create-a-feed.htm\">Create a feed<\/a> quick lesson.<\/p>\n<p><strong>Geofencing in a real-time analytic<\/strong><\/p>\n<p>With the Azure Event Hub feed ingesting the bus location data, we\u2019ll now use this feed in a <a href=\"https:\/\/doc.arcgis.com\/en\/iot\/analyze\/perform-real-time-analysis.htm\">real-time analytic<\/a> to spatially analyze the data as it\u2019s received. Real-time analytics support any number of use cases, allowing you to transform, enrich, analyze, and store incoming event data as well as take different kinds of actions on the data.<\/p>\n<p>The first step is to add our feed to a new real-time analytic. By default, the analytic editor opens in the <a href=\"https:\/\/doc.arcgis.com\/en\/iot\/analyze\/author-an-analytic.htm#ESRI_SECTION1_ACF5F52C5FAB4FC6A3338CF2C75486C6\">workflow view<\/a>, meaning each step, or node, in the process is listed top-to-bottom.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":843081,"id":843081,"title":"new real-time analytic","filename":"new-real-time-analytic-e1600442457286.png","filesize":42344,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/new-real-time-analytic-e1600442457286.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot\/new-real-time-analytic","alt":"","author":"30801","description":"","caption":"","name":"new-real-time-analytic","status":"inherit","uploaded_to":842981,"date":"2020-04-29 13:32:46","modified":"2020-04-29 13:32:46","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1811,"height":620,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/new-real-time-analytic-e1600442457286-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/new-real-time-analytic-e1600442457286-464x159.png","medium-width":464,"medium-height":159,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/new-real-time-analytic-e1600442457286-768x263.png","medium_large-width":768,"medium_large-height":263,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/new-real-time-analytic-e1600442457286.png","large-width":1811,"large-height":620,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/new-real-time-analytic-e1600442457286-1536x526.png","1536x1536-width":1536,"1536x1536-height":526,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/new-real-time-analytic-e1600442457286.png","2048x2048-width":1811,"2048x2048-height":620,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/new-real-time-analytic-e1600442457286-826x283.png","card_image-width":826,"card_image-height":283,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/new-real-time-analytic-e1600442457286.png","wide_image-width":1811,"wide_image-height":620}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Now we can add tools to the analytic to perform the geofencing. Multiple tools exist that support different types of geofencing. The <a href=\"https:\/\/doc.arcgis.com\/en\/iot\/analyze\/filter-by-geometry.htm\">Filter by Geometry<\/a> tool filters incoming data in a feed using a static data source as the geofences, emitting event data without any changes to the schema of the data.<\/p>\n<p>The Filter by Geometry tool is available in the <strong>Manage Data<\/strong> folder. Once added to the analytic, you can select the data source that contains the features to be used for the geofences.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":843091,"id":843091,"title":"filter by geometry tool","filename":"filter-by-geometry-tool.png","filesize":44468,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/filter-by-geometry-tool.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot\/filter-by-geometry-tool","alt":"","author":"30801","description":"","caption":"","name":"filter-by-geometry-tool","status":"inherit","uploaded_to":842981,"date":"2020-04-29 13:33:49","modified":"2020-04-29 13:33:49","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1915,"height":537,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/filter-by-geometry-tool-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/filter-by-geometry-tool.png","medium-width":464,"medium-height":130,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/filter-by-geometry-tool.png","medium_large-width":768,"medium_large-height":215,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/filter-by-geometry-tool.png","large-width":1915,"large-height":537,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/filter-by-geometry-tool-1536x431.png","1536x1536-width":1536,"1536x1536-height":431,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/filter-by-geometry-tool.png","2048x2048-width":1915,"2048x2048-height":537,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/filter-by-geometry-tool-826x232.png","card_image-width":826,"card_image-height":232,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/filter-by-geometry-tool.png","wide_image-width":1915,"wide_image-height":537}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>For this scenario, the data source will be the bus stops layer available on the Charlotte Open Data Portal at:<\/p>\n<p style=\"text-align: center;\"><em><a href=\"https:\/\/gis.charlottenc.gov\/arcgis\/rest\/services\/CATS\/CATSMasterService\/MapServer\/0\/\">https:\/\/gis.charlottenc.gov\/arcgis\/rest\/services\/CATS\/CATSMasterService\/MapServer\/0\/<\/a><\/em><\/p>\n<p>Since the geofences \u2013 the bus stops in this case \u2013 are point features, we\u2019ll not use <em>inside<\/em> or <em>intersects<\/em> as the spatial relationship like we would if these were polygon geofences. Rather, we\u2019ll filter the streaming data feed for any buses within a defined distance threshold of 10 meters to determine when any of the buses are in proximity to a bus stop.<\/p>\n<p>The spatial reference of both of these features is GCS WGS 1984, so <em>near geodesic<\/em> is an appropriate choice for the <strong>Spatial relationship <\/strong>parameter. If we were working with projected data, you could choose the <em>near planar<\/em> option. It\u2019s worth noting that the available spatial relationships in the Filter by Geometry tool, and any other Velocity tools that evaluate spatial relationships, is tailored to suit the incoming geometry types. In this case, the available spatial relationships are appropriate for comparing point geometries. The list excludes options such as <em>crosses<\/em> or <em>overlaps<\/em> which are available if comparing polygon geometries (read more about spatial relationships <a href=\"https:\/\/enterprise.arcgis.com\/en\/portal\/latest\/use\/geoanalytics-spatial-relationships.htm\">here<\/a>). The final configuration of the Filter by Geometry tool is illustrated below.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":843101,"id":843101,"title":"configure filter by geometry tool","filename":"configure-filter-by-geometry-tool.png","filesize":64808,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/configure-filter-by-geometry-tool.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot\/configure-filter-by-geometry-tool","alt":"","author":"30801","description":"","caption":"","name":"configure-filter-by-geometry-tool","status":"inherit","uploaded_to":842981,"date":"2020-04-29 13:35:01","modified":"2020-04-29 13:35:01","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1917,"height":871,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/configure-filter-by-geometry-tool-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/configure-filter-by-geometry-tool.png","medium-width":464,"medium-height":211,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/configure-filter-by-geometry-tool.png","medium_large-width":768,"medium_large-height":349,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/configure-filter-by-geometry-tool.png","large-width":1917,"large-height":871,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/configure-filter-by-geometry-tool-1536x698.png","1536x1536-width":1536,"1536x1536-height":698,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/configure-filter-by-geometry-tool.png","2048x2048-width":1917,"2048x2048-height":871,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/configure-filter-by-geometry-tool-826x375.png","card_image-width":826,"card_image-height":375,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/configure-filter-by-geometry-tool.png","wide_image-width":1917,"wide_image-height":871}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p><strong>Disseminate and visualize the data<\/strong><\/p>\n<p>With the feed and analytic configured, we can now add one or more <a href=\"https:\/\/doc.arcgis.com\/en\/iot\/disseminate-and-notify\/what-is-an-output-.htm\">outputs<\/a> to disseminate the data. Since one of our initial objectives was to view the data in a transit dashboard, a <a href=\"https:\/\/doc.arcgis.com\/en\/iot\/disseminate-and-notify\/stream-layer.htm\">Stream Layer<\/a> output will be added to allow us to visualize the data as it\u2019s received in a web map.<\/p>\n<p>Again, creating and configuring an output is outside the scope of this blog. For details on doing so, review <a href=\"https:\/\/doc.arcgis.com\/en\/iot\/disseminate-and-notify\/what-is-an-output-.htm\">What is an output?<\/a> and work through the <a href=\"https:\/\/doc.arcgis.com\/en\/iot\/get-started\/design-a-real-time-analytic.htm\">Design a real-time analytic<\/a> quick lesson.<\/p>\n<p>With the <strong>CharlotteBuses at Stops<\/strong> stream layer output added and the <strong>Geofence Charlotte Buses<\/strong> real-time analytic saved, as illustrated below, we can now start the real-time analytic. Note that, when starting real-time analytics, it\u2019s important to ensure the input feed(s) are running as well.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":843111,"id":843111,"title":"workflow real-time analytic","filename":"workflow-real-time-analytic.png","filesize":45886,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/workflow-real-time-analytic.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot\/workflow-real-time-analytic","alt":"","author":"30801","description":"","caption":"","name":"workflow-real-time-analytic","status":"inherit","uploaded_to":842981,"date":"2020-04-29 13:36:02","modified":"2020-04-29 13:36:02","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1919,"height":548,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/workflow-real-time-analytic-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/workflow-real-time-analytic.png","medium-width":464,"medium-height":133,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/workflow-real-time-analytic.png","medium_large-width":768,"medium_large-height":219,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/workflow-real-time-analytic.png","large-width":1919,"large-height":548,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/workflow-real-time-analytic-1536x439.png","1536x1536-width":1536,"1536x1536-height":439,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/workflow-real-time-analytic.png","2048x2048-width":1919,"2048x2048-height":548,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/workflow-real-time-analytic-826x236.png","card_image-width":826,"card_image-height":236,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/workflow-real-time-analytic.png","wide_image-width":1919,"wide_image-height":548}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>With the analytic running, the <strong>CharlotteBuses at Stops<\/strong> stream layer and other supporting layers, including the bus location feed and the bus stops, can be added to a web map for visualization and to see how the three sets of data interact.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":843121,"id":843121,"title":"web map with buses from filter by geometry","filename":"web-map-with-buses-from-filter-by-geometry.png","filesize":78570,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/web-map-with-buses-from-filter-by-geometry.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot\/web-map-with-buses-from-filter-by-geometry","alt":"","author":"30801","description":"","caption":"","name":"web-map-with-buses-from-filter-by-geometry","status":"inherit","uploaded_to":842981,"date":"2020-04-29 13:37:16","modified":"2020-04-29 13:37:16","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1259,"height":735,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/web-map-with-buses-from-filter-by-geometry-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/web-map-with-buses-from-filter-by-geometry.png","medium-width":447,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/web-map-with-buses-from-filter-by-geometry.png","medium_large-width":768,"medium_large-height":448,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/web-map-with-buses-from-filter-by-geometry.png","large-width":1259,"large-height":735,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/web-map-with-buses-from-filter-by-geometry.png","1536x1536-width":1259,"1536x1536-height":735,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/web-map-with-buses-from-filter-by-geometry.png","2048x2048-width":1259,"2048x2048-height":735,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/web-map-with-buses-from-filter-by-geometry-797x465.png","card_image-width":797,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/web-map-with-buses-from-filter-by-geometry.png","wide_image-width":1259,"wide_image-height":735}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>After saving the web map you can then add it to an ArcGIS Dashboard. For details on doing so, see <a href=\"https:\/\/doc.arcgis.com\/en\/dashboards\/get-started\/create-a-dashboard.htm\">Create a dashboard<\/a>.<\/p>\n<p><strong>Enrich the bus feed with geofence data<\/strong><\/p>\n<p>The attributes of the <strong>CharlotteBuses_at_Stops<\/strong> layer has the same attribute information as the <strong>CharlotteBuses<\/strong> layer from which it was generated. If your geofencing workflow requires you to enrich the incoming event data with attribute information from the geofences, you could use the <a href=\"https:\/\/doc.arcgis.com\/en\/iot\/analyze\/join-features.htm\">Join Features<\/a> tool instead of the Filter by Geometry tool to enrich the streaming data.<\/p>\n<p>The Join Features tool joins geofence data, or join data, to the streaming data according to spatial, temporal, or attribute relationships, or any combination of these. Only event data that satisfies the join condition will pass through the tool. In this way, Join Features filters the streaming event data, but it can also enrich features with attributes from the join data.<\/p>\n<p>In this scenario, the Join Features tool will be used to enrich the bus locations with the <em>StopID<\/em> and the address of the current bus stop.<\/p>\n<p>Returning to the analytic, we\u2019ll switch the analytic editor to the <a href=\"https:\/\/doc.arcgis.com\/en\/iot\/analyze\/author-an-analytic.htm#ESRI_SECTION1_ACF5F52C5FAB4FC6A3338CF2C75486C6\">model view<\/a>, remove the Filter by Geometry tool, add the Join Features tool from the <strong>Summarize Data<\/strong> folder, and connect it to the pipeline in place of the Filter by Geometry tool.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":845081,"id":845081,"title":"join features tool","filename":"join-features-tool.png","filesize":124860,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/join-features-tool.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot\/join-features-tool","alt":"","author":"30801","description":"","caption":"","name":"join-features-tool","status":"inherit","uploaded_to":842981,"date":"2020-04-30 19:18:50","modified":"2020-04-30 19:18:50","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1915,"height":932,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/join-features-tool-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/join-features-tool.png","medium-width":464,"medium-height":226,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/join-features-tool.png","medium_large-width":768,"medium_large-height":374,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/join-features-tool.png","large-width":1915,"large-height":932,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/join-features-tool-1536x748.png","1536x1536-width":1536,"1536x1536-height":748,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/join-features-tool.png","2048x2048-width":1915,"2048x2048-height":932,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/join-features-tool-826x402.png","card_image-width":826,"card_image-height":402,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/join-features-tool.png","wide_image-width":1915,"wide_image-height":932}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>When configuring the Join Features tool, we\u2019ll use the same <em>near geodesic <\/em>spatial relationship as above, but now we can define a spatial join that will enrich features with information from the bus stops layer. For the <strong>Summary fields<\/strong>, we\u2019ll configure them as illustrated below.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":845091,"id":845091,"title":"join fratures tool configured","filename":"join-fratures-tool-configured.png","filesize":91567,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/join-fratures-tool-configured.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot\/join-fratures-tool-configured","alt":"","author":"30801","description":"","caption":"","name":"join-fratures-tool-configured","status":"inherit","uploaded_to":842981,"date":"2020-04-30 19:18:56","modified":"2020-04-30 19:18:56","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1915,"height":846,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/join-fratures-tool-configured-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/join-fratures-tool-configured.png","medium-width":464,"medium-height":205,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/join-fratures-tool-configured.png","medium_large-width":768,"medium_large-height":339,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/join-fratures-tool-configured.png","large-width":1915,"large-height":846,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/join-fratures-tool-configured-1536x679.png","1536x1536-width":1536,"1536x1536-height":679,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/join-fratures-tool-configured.png","2048x2048-width":1915,"2048x2048-height":846,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/join-fratures-tool-configured-826x365.png","card_image-width":826,"card_image-height":365,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/join-fratures-tool-configured.png","wide_image-width":1915,"wide_image-height":846}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Note that, the <em>Any<\/em> statistic type simply joins the value in the selected field(s) to any of the events that satisfy the spatial relationship. Join Features only supports 1:1 joins in a real-time analytic, so if the analysis could result in multiple geofences matching the incoming events, <em>Any<\/em> is not an appropriate statistic to use. In this case, all the bus stops are more than 10 meters apart, so a bus\u2019s location would only join one bus stop at any given time.<\/p>\n<p>After applying these changes, restarting the analytic, and adding the updated stream layer to the web map, notice the attributes of the <strong>CharlotteBuses_at_Stops<\/strong> layer now includes the bus stop ID and address information.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":845111,"id":845111,"title":"web map with buses from join features","filename":"web-map-with-buses-from-join-features.png","filesize":82092,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/web-map-with-buses-from-join-features.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot\/web-map-with-buses-from-join-features","alt":"","author":"30801","description":"","caption":"","name":"web-map-with-buses-from-join-features","status":"inherit","uploaded_to":842981,"date":"2020-04-30 19:19:04","modified":"2020-04-30 19:19:04","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1227,"height":700,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/web-map-with-buses-from-join-features-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/web-map-with-buses-from-join-features.png","medium-width":457,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/web-map-with-buses-from-join-features.png","medium_large-width":768,"medium_large-height":438,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/web-map-with-buses-from-join-features.png","large-width":1227,"large-height":700,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/web-map-with-buses-from-join-features.png","1536x1536-width":1227,"1536x1536-height":700,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/web-map-with-buses-from-join-features.png","2048x2048-width":1227,"2048x2048-height":700,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/web-map-with-buses-from-join-features-815x465.png","card_image-width":815,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/web-map-with-buses-from-join-features.png","wide_image-width":1227,"wide_image-height":700}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>At this point, additional outputs could be added to the analytic such as storing the data so big data analysis could be performed later using a <a href=\"https:\/\/doc.arcgis.com\/en\/iot\/analyze\/perform-big-data-analysis.htm\">big data analytic<\/a>. We could compare, for instance, the buses\u2019 expected arrival times to when they actually arrived at stops, which would provide a clear picture of where delays tend to occur most frequently.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":845141,"id":845141,"title":"completed analytic","filename":"completed-analytic-1.png","filesize":91794,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/completed-analytic-1.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot\/completed-analytic-2","alt":"","author":"30801","description":"","caption":"","name":"completed-analytic-2","status":"inherit","uploaded_to":842981,"date":"2020-04-30 19:21:35","modified":"2020-04-30 19:21:35","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1907,"height":803,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/completed-analytic-1-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/completed-analytic-1.png","medium-width":464,"medium-height":195,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/completed-analytic-1.png","medium_large-width":768,"medium_large-height":323,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/completed-analytic-1.png","large-width":1907,"large-height":803,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/completed-analytic-1-1536x647.png","1536x1536-width":1536,"1536x1536-height":647,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/completed-analytic-1.png","2048x2048-width":1907,"2048x2048-height":803,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/completed-analytic-1-826x348.png","card_image-width":826,"card_image-height":348,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/completed-analytic-1.png","wide_image-width":1907,"wide_image-height":803}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p><strong>Summary and next steps<\/strong><\/p>\n<p>Time and again, geofencing has proven to be one of the most common types of analysis in real-time spatial workflows \u2013 understanding when and where assets interact with areas or locations of interest is powerful. Using Velocity , there\u2019s a myriad of ways to apply it to different use cases, from tracking personnel or vehicles and detecting patterns of interest at work sites to understanding when and where critical infrastructure will be impacted by a severe weather event. Performing real-time <a href=\"https:\/\/www.esri.com\/en-us\/arcgis\/products\/spatial-analytics-data-science\/overview\">spatial analysis<\/a> empowers your organization with new insights, allowing you to make better and more informed decisions that will truly impact your operations.<\/p>\n<p>To learn more about Velocity, explore the resources below:<\/p>\n<ul>\n<li>Learn more on <a href=\"https:\/\/www.esri.com\/en-us\/arcgis\/products\/arcgis-analytics-for-iot\/overview\">esri.com<\/a><\/li>\n<li><a href=\"https:\/\/learn.arcgis.com\/en\/paths\/get-started-with-arcgis-analytics-for-iot\/\">Get started with ArcGIS Velocity<\/a> discovery path<\/li>\n<li>Explore the <a href=\"https:\/\/doc.arcgis.com\/en\/iot\/get-started\/what-is-arcgis-analytics-for-iot.htm\">ArcGIS Velocity<\/a> documentation<\/li>\n<li>Connect with others on <a href=\"https:\/\/community.esri.com\/community\/arcgis-analytics-for-iot\">GeoNet<\/a><\/li>\n<\/ul>\n"}],"authors":[{"ID":30801,"user_firstname":"Ken","user_lastname":"Gorton","nickname":"Ken","user_nicename":"kgorton","display_name":"Ken Gorton","user_email":"KGorton@esri.com","user_url":"","user_registered":"2020-04-29 12:46:29","user_description":"Ken is a Product Engineer with the Real-Time GIS team at Esri.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/IMG_3536-213x200.jpg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"related_articles":[{"ID":809671,"post_author":"24791","post_date":"2020-04-20 07:00:52","post_date_gmt":"2020-04-20 14:00:52","post_content":"","post_title":"Performing near-real-time analysis in ArcGIS Velocity","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"performing-near-real-time-analysis-in-arcgis-velocity","to_ping":"","pinged":"","post_modified":"2021-01-13 05:01:54","post_modified_gmt":"2021-01-13 13:01:54","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=809671","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":692902,"post_author":"8732","post_date":"2020-01-21 16:04:14","post_date_gmt":"2020-01-22 00:04:14","post_content":"","post_title":"Introducing ArcGIS Velocity","post_excerpt":"","post_status":"publish","comment_status":"closed","ping_status":"closed","post_password":"","post_name":"introducing-arcgis-analytics-for-iot","to_ping":"","pinged":"","post_modified":"2021-06-15 15:23:41","post_modified_gmt":"2021-06-15 22:23:41","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=692902","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":703132,"post_author":"8732","post_date":"2020-01-21 16:00:20","post_date_gmt":"2020-01-22 00:00:20","post_content":"","post_title":"ArcGIS Velocity in the ArcGIS platform","post_excerpt":"","post_status":"publish","comment_status":"closed","ping_status":"closed","post_password":"","post_name":"arcgis-analytics-for-iot-in-the-arcgis-platform","to_ping":"","pinged":"","post_modified":"2021-06-15 14:40:27","post_modified_gmt":"2021-06-15 21:40:27","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=703132","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"}],"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Geofence-Blog-Card.png","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Geofence-Blog-Banner.png"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Real-time geofencing in ArcGIS Velocity<\/title>\n<meta name=\"description\" content=\"Use ArcGIS Velocity to determine when an asset you\u2019re tracking shares a spatial relationship with some geographic location.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Real-time geofencing in ArcGIS Velocity\" \/>\n<meta property=\"og:description\" content=\"Use ArcGIS Velocity to determine when an asset you\u2019re tracking shares a spatial relationship with some geographic location.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2021-09-02T13:01:48+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot\"},\"author\":{\"name\":\"Ken Gorton\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/1d79af9153592067aa40797b13b035c6\"},\"headline\":\"Real-time geofencing in ArcGIS Velocity\",\"datePublished\":\"2020-05-05T07:00:59+00:00\",\"dateModified\":\"2021-09-02T13:01:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot\"},\"wordCount\":5,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"analytics\",\"ArcGIS Velocity\",\"geofencing\",\"ingest\",\"real time \/ realtime\"],\"articleSection\":[\"Real-Time Visualization &amp; Analytics\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot\",\"name\":\"Real-time geofencing in ArcGIS Velocity\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2020-05-05T07:00:59+00:00\",\"dateModified\":\"2021-09-02T13:01:48+00:00\",\"description\":\"Use ArcGIS Velocity to determine when an asset you\u2019re tracking shares a spatial relationship with some geographic location.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Real-time geofencing in ArcGIS Velocity\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/1d79af9153592067aa40797b13b035c6\",\"name\":\"Ken Gorton\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/IMG_3536-213x200.jpg\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/IMG_3536-213x200.jpg\",\"caption\":\"Ken Gorton\"},\"description\":\"Ken is a Product Engineer with the Real-Time GIS team at Esri.\",\"sameAs\":[\"www.linkedin.com\/in\/krgorton\"],\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/kgorton\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Real-time geofencing in ArcGIS Velocity","description":"Use ArcGIS Velocity to determine when an asset you\u2019re tracking shares a spatial relationship with some geographic location.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot","og_locale":"en_US","og_type":"article","og_title":"Real-time geofencing in ArcGIS Velocity","og_description":"Use ArcGIS Velocity to determine when an asset you\u2019re tracking shares a spatial relationship with some geographic location.","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2021-09-02T13:01:48+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot"},"author":{"name":"Ken Gorton","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/1d79af9153592067aa40797b13b035c6"},"headline":"Real-time geofencing in ArcGIS Velocity","datePublished":"2020-05-05T07:00:59+00:00","dateModified":"2021-09-02T13:01:48+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot"},"wordCount":5,"commentCount":0,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["analytics","ArcGIS Velocity","geofencing","ingest","real time \/ realtime"],"articleSection":["Real-Time Visualization &amp; Analytics"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot","name":"Real-time geofencing in ArcGIS Velocity","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2020-05-05T07:00:59+00:00","dateModified":"2021-09-02T13:01:48+00:00","description":"Use ArcGIS Velocity to determine when an asset you\u2019re tracking shares a spatial relationship with some geographic location.","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-velocity\/real-time\/real-time-geofencing-in-arcgis-analytics-for-iot#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Real-time geofencing in ArcGIS Velocity"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/1d79af9153592067aa40797b13b035c6","name":"Ken Gorton","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/IMG_3536-213x200.jpg","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/IMG_3536-213x200.jpg","caption":"Ken Gorton"},"description":"Ken is a Product Engineer with the Real-Time GIS team at Esri.","sameAs":["www.linkedin.com\/in\/krgorton"],"url":"https:\/\/www.esri.com\/arcgis-blog\/author\/kgorton"}]}},"text_date":"May 5, 2020","author_name":"Ken Gorton","author_page":"https:\/\/www.esri.com\/arcgis-blog\/author\/kgorton","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Geofence-Blog-Banner.png","primary_product":"ArcGIS Velocity","tag_data":[{"term_id":40691,"name":"analytics","slug":"analytics","term_group":0,"term_taxonomy_id":40691,"taxonomy":"post_tag","description":"","parent":0,"count":53,"filter":"raw"},{"term_id":756721,"name":"ArcGIS Velocity","slug":"arcgis-velocity","term_group":0,"term_taxonomy_id":756721,"taxonomy":"post_tag","description":"","parent":0,"count":42,"filter":"raw"},{"term_id":756911,"name":"geofencing","slug":"geofencing","term_group":0,"term_taxonomy_id":756911,"taxonomy":"post_tag","description":"","parent":0,"count":3,"filter":"raw"},{"term_id":756472,"name":"ingest","slug":"ingest","term_group":0,"term_taxonomy_id":756472,"taxonomy":"post_tag","description":"","parent":0,"count":6,"filter":"raw"},{"term_id":24791,"name":"real time \/ realtime","slug":"real-time","term_group":0,"term_taxonomy_id":24791,"taxonomy":"post_tag","description":"","parent":0,"count":17,"filter":"raw"}],"category_data":[{"term_id":37121,"name":"Real-Time Visualization &amp; Analytics","slug":"real-time","term_group":0,"term_taxonomy_id":37121,"taxonomy":"category","description":"","parent":0,"count":166,"filter":"raw"}],"product_data":[{"term_id":756702,"name":"ArcGIS Velocity","slug":"arcgis-velocity","term_group":0,"term_taxonomy_id":756702,"taxonomy":"product","description":"","parent":36981,"count":61,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=arcgis-velocity","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/842981","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/30801"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=842981"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/842981\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=842981"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=842981"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=842981"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=842981"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=842981"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}