{"id":8536,"date":"2022-10-08T23:19:39","date_gmt":"2022-10-08T23:19:39","guid":{"rendered":"https:\/\/www.use-snip.com\/kb\/?post_type=ht_kb&#038;p=8536"},"modified":"2022-11-03T22:39:56","modified_gmt":"2022-11-03T22:39:56","slug":"restricting-users-with-a-geo-fence","status":"publish","type":"ht_kb","link":"https:\/\/www.use-snip.com\/kb\/knowledge-base\/restricting-users-with-a-geo-fence\/","title":{"rendered":"Restricting Users, with a Geo-Fence"},"content":{"rendered":"<p>This article describes how to add<strong> Geographical<\/strong> <strong>Restrictions<\/strong> to User Accounts in the <span style=\"color: #0000ff;\"><strong>SNIP<\/strong><\/span> NTRIP Caster.<\/p>\n<h2>The Geo Fence Restrictions tab<\/h2>\n<p>This tab is used to control a <em>geographical region<\/em> outside of which a given User Account is no longer allowed to connect.\u00a0 Within the defined region, connections are allowed to occur.\u00a0 Use this feature to restrict an individual user account, preventing it from connecting outside of the operational area you define for that account.\u00a0 The operational region can be described as a rectangular one (with bounds for North, South, East and West) or as a circular one (with a center point in latitude and longitude and a radius in km from that spot).\u00a0 This restriction can also be combined with other restrictions.\u00a0 For example, you might create a one week test account for a potential customer with access limited to only a specific operating area for evaluation purposes.<\/p>\n<p><a href=\"https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8542 size-full\" src=\"https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict.png?_t=1665270236\" alt=\"\" width=\"650\" height=\"736\" srcset=\"https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict.png 650w, https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict-265x300.png 265w, https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict-44x50.png 44w, https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict-600x679.png 600w, https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict-320x362.png 320w\" sizes=\"auto, (max-width: 650px) 100vw, 650px\" \/><\/a><\/p>\n<p>This restriction is disabled for each user account by default.<\/p>\n<p>In order to use this feature, first check the box labeled <strong>Enable Geographic Use Restrictions <\/strong>in the tab marked <strong>Geography restrictions<\/strong> of the edit users dialog.\u00a0 Then select either a <em>circular<\/em> or <em>rectangular<\/em> region to be used.\u00a0 Each is described in more detail further below.\u00a0 As you enter data for either region style, the enclosed area is updated using various common units for area.\u00a0 If the entered data values are nonsensical (for example if\u00a0 the entered Northernmost edge region is south the entered Southern most edge), this is noted.\u00a0 Valid Latitude ranges are from &lt;+90 to &gt;-90 while valid Longitude ranges from &gt;-180 to &lt;+180 degrees.\u00a0 The display shows the entered values in both DD.dddd and a DD_MM_SS.sss formats.\u00a0 If a connected user account (an <a href=\"https:\/\/www.use-snip.com\/kb\/knowledge-base\/question-what-is-an-ntrip-client\/\" target=\"_blank\" rel=\"noopener\">NTRIP Client<\/a>) provides a value outside the allowed bounds, the <a href=\"https:\/\/www.use-snip.com\/kb\/knowledge-base\/console-logging\/\" target=\"_blank\" rel=\"noopener\">console log<\/a> notes this along with how far beyond the edge of the bounds they are.<\/p>\n<p>The concept of using Geo-Fences within GNSS has been well known for 30+ years at this point.\u00a0 In fact most of the once innovative patent concepts (e.g. <em>only unlock the door of the truck\/container\/box when it reaches its predefined destination<\/em>) have long since expired.\u00a0 Today is it just another common tool used to manage and track users.<\/p>\n<h3>Entering a Circular Region<\/h3>\n<p>Select this type of region by pressing the radio button &#8220;<strong>Use Circle<\/strong>&#8221; or the tab &#8220;<strong>By Circle<\/strong>&#8221; and entering the requested data in each field.\u00a0 Any prior data entered for the rectangular region is preserved and saved, but not used.<\/p>\n<p><a href=\"https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict_byCircl.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8543 size-full\" src=\"https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict_byCircl.png?_t=1665270236\" alt=\"\" width=\"480\" height=\"450\" srcset=\"https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict_byCircl.png 480w, https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict_byCircl-300x281.png 300w, https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict_byCircl-50x47.png 50w, https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict_byCircl-320x300.png 320w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/a><\/p>\n<p>The enclosed area is determined with a simple Pi*R^2 method, and is centered at the LL entered.\u00a0\u00a0 If a user&#8217;s reported location is outside of this region, they are disconnected and the margin by which they are outside is reported on the console log.\u00a0 [Regrettably, the NTRIP specification does not yet provide a suitable method to send these details back to the user device.]<\/p>\n<p>When a user account report is created, any Geo-Fence restrictions are listed as part of the summary.\u00a0 For a circular region the report information looks like:<\/p>\n<p><a href=\"https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict_byCirclReport.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8548 size-full\" src=\"https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict_byCirclReport.png?_t=1665270951\" alt=\"\" width=\"500\" height=\"230\" srcset=\"https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict_byCirclReport.png 500w, https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict_byCirclReport-300x138.png 300w, https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict_byCirclReport-50x23.png 50w, https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict_byCirclReport-320x147.png 320w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<h3>Entering a Rectangular Region<\/h3>\n<p>Select this type of region by pressing the radio button &#8220;<strong>Use Rectangle<\/strong>&#8221; or the tab &#8220;<strong>By Rectangle<\/strong>&#8221; and entering the requested data in each field.\u00a0 Any prior data entered for the circular region is preserved and saved, but not used.<\/p>\n<p><a href=\"https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict_byRect.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8544 size-full\" src=\"https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict_byRect.png?_t=1665270236\" alt=\"\" width=\"480\" height=\"450\" srcset=\"https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict_byRect.png 480w, https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict_byRect-300x281.png 300w, https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict_byRect-50x47.png 50w, https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict_byRect-320x300.png 320w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/a><\/p>\n<p>The enclosed area is determined by the <em>North<\/em>, <em>South<\/em>, <em>East<\/em>, and <em>West<\/em> edges entered, and using a precise <a href=\"https:\/\/www.use-snip.com\/kb\/knowledge-base\/precise-distances-ellipsoidal-surface\/\">Vincenty method<\/a> to compute distances.\u00a0 If a user&#8217;s reported location is outside of this region, they are disconnected and the margin by which they are outside of each edge is reported on the console log.\u00a0 [Regrettably, the NTRIP specification does not yet provide a suitable method to send these details back to the user device.]<\/p>\n<p>When a user account report is created, any Geo-Fence restrictions are listed as part of the summary.\u00a0 For a rectangular region the report information looks like:<\/p>\n<p><a href=\"https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict_byRectReport.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8546 size-full\" src=\"https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict_byRectReport.png?_t=1665270951\" alt=\"\" width=\"500\" height=\"250\" srcset=\"https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict_byRectReport.png 500w, https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict_byRectReport-300x150.png 300w, https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict_byRectReport-50x25.png 50w, https:\/\/www.use-snip.com\/kb\/wp-content\/uploads\/2022\/10\/SNIP_GeoUseRestrict_byRectReport-320x160.png 320w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<h3>In More detail:<\/h3>\n<p>This restriction uses the <a href=\"https:\/\/www.use-snip.com\/kb\/knowledge-base\/nmea-gga-strings-in-ntrip-clients\/\" target=\"_blank\" rel=\"noopener\">NMEA-183 $GGA sentences<\/a> that the user sends in to determine location.\u00a0 Hence it only works when the user devices sends in such data.\u00a0 Conceptually, a user device could spoof this restriction with purposely false data.\u00a0 A special exception is also made for any devices that reports a location of zero, zero, but otherwise the location is used to decide if the user is <em>in-bounds<\/em> or <em>out-of-bounds<\/em> (in which case they are disconnected).<\/p>\n<p>Note this is tested each time when the NMEA-183 $GGA sentence arrives.\u00a0 Any new user may connect to a named base station and may get corrections data for several seconds before it issues its own NMEA-183 $GGA sentence back to the Caster.\u00a0 Any new user that connects to a <a href=\"https:\/\/www.use-snip.com\/kb\/knowledge-base\/nearest-streams-tab\/\">NEAR type<\/a> base station does not receive any data (because it is not yet assigned to a specific base station) until they first send a NMEA-183 $GGA sentence that is also within the operational parameters of that NEAR stream (typically this means that are within a predefined distance to a suitable base station) and within the Geo-fence bounds set for the account.<\/p>\n<h3><strong>Notes:<\/strong><\/h3>\n<ul>\n<li>Any user account (using this restriction type) will always be able to reconnect but:\n<ul>\n<li>They would be dropped (disconnected) again if the NMEA-183 $GGA sentences is outside the allowed region.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>Other active restrictions can also prevent a user from connecting.\u00a0 Whenever a user is rejected due to a specific restriction, the details are provided in the console log.<\/li>\n<li><a href=\"https:\/\/www.use-snip.com\/kb\/knowledge-base\/ntrip-rev2-uses-in-snip\/\">NTRIP <strong>Rev2<\/strong><\/a> provides an (optional) means to send the NMEA-183 $GGA sentence as part of the initial html request header.\u00a0 When this is present, the comparison to the allowed region occurs immediately, and an 403 reply is used when outside of the region.<\/li>\n<\/ul>\n<p>The most typical use case is a Caster operator that wishes to set up predefined operational region for a given User Account.<\/p>\n<p>If your primary goal is to limit a given User Account to making connections only to one or more specific base stations, see the <a href=\"https:\/\/www.use-snip.com\/kb\/knowledge-base\/restricting-users-by-base\/\"><strong>Base Station Restrictions<\/strong><\/a> tab for this.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\"><strong> Note:<\/strong>\u00a0 The <strong>Geo Fence Restrictions<\/strong> tab is an advanced feature. It requires a <span style=\"color: #993300;\"><em><strong>Pro<\/strong> <\/em><\/span>license<br \/>\nand depends on the presence of an active \u201cEnhanced User Management\u201d Plug-In to be used.<\/p>\n<p>See also:\u00a0 About other <a href=\"https:\/\/www.use-snip.com\/kb\/knowledge-base\/user-accounts-adding-restrictions\/\">user account restrictions<\/a>.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This article describes how to add Geographical Restrictions to User Accounts in the SNIP NTRIP Caster. The Geo Fence Restrictions tab This tab is used to control a geographical region outside of which a given User Account is no longer allowed to connect.\u00a0 Within the defined region, connections are allowed [&hellip;]<\/p>\n","protected":false},"author":13,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"ht-kb-category":[283],"ht-kb-tag":[505,530,494,495],"class_list":["post-8536","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-managing-user-accounts","ht_kb_tag-customer-accounts","ht_kb_tag-geo-fence","ht_kb_tag-restrictions","ht_kb_tag-user-accounts"],"_links":{"self":[{"href":"https:\/\/www.use-snip.com\/kb\/wp-json\/wp\/v2\/ht-kb\/8536","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.use-snip.com\/kb\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/www.use-snip.com\/kb\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/www.use-snip.com\/kb\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.use-snip.com\/kb\/wp-json\/wp\/v2\/comments?post=8536"}],"version-history":[{"count":17,"href":"https:\/\/www.use-snip.com\/kb\/wp-json\/wp\/v2\/ht-kb\/8536\/revisions"}],"predecessor-version":[{"id":8649,"href":"https:\/\/www.use-snip.com\/kb\/wp-json\/wp\/v2\/ht-kb\/8536\/revisions\/8649"}],"wp:attachment":[{"href":"https:\/\/www.use-snip.com\/kb\/wp-json\/wp\/v2\/media?parent=8536"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/www.use-snip.com\/kb\/wp-json\/wp\/v2\/ht-kb-category?post=8536"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/www.use-snip.com\/kb\/wp-json\/wp\/v2\/ht-kb-tag?post=8536"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}