{"id":180437,"date":"2023-03-08T18:33:26","date_gmt":"2023-03-08T10:33:26","guid":{"rendered":"https:\/\/www.grab.com\/sg\/?post_type=editorial&#038;p=180437"},"modified":"2025-12-12T18:55:57","modified_gmt":"2025-12-12T10:55:57","slug":"grab-geohashing-location-grid","status":"publish","type":"editorial","link":"https:\/\/www.grab.com\/sg\/inside-grab\/stories\/grab-geohashing-location-grid\/","title":{"rendered":"This is how the Grab app knows exactly where users are"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"180437\" class=\"elementor elementor-180437\" data-elementor-post-type=\"editorial\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-05fb752 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"05fb752\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-842cacd\" data-id=\"842cacd\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-26b8a94 gr21-boxed-content  editorial-gr21-boxed-content elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"26b8a94\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-51cbf70\" data-id=\"51cbf70\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ecb5232 elementor-widget elementor-widget-text-editor\" data-id=\"ecb5232\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"font-size: 18px\">How does a Grab driver-partner know a passenger\u2019s exact location when they book a ride? And how does the app identify nearby F&amp;B outlets consumers can order from?<\/p><p style=\"font-size: 18px\">Grab relies on the geohash system to visualise the world in a grid. The geocoding system divides regions into small zones based on latitude and longitude lines. Each of these zones is labelled by a unique geohash, and allows Grab to mark points of interest, determine the distance between riders to drivers, and so on.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9d735e7 elementor-blockquote--skin-boxed elementor-blockquote--button-color-official elementor-widget elementor-widget-blockquote\" data-id=\"9d735e7\" data-element_type=\"widget\" data-widget_type=\"blockquote.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<blockquote class=\"elementor-blockquote\">\n\t\t\t<p class=\"elementor-blockquote__content\">\n\t\t\t\tThe more characters in a Geohash string, the more precise the location.\t\t\t<\/p>\n\t\t\t\t\t<\/blockquote>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bb716e2 elementor-widget elementor-widget-text-editor\" data-id=\"bb716e2\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>The geohash system is in the public domain, and was invented in 2008. The way it works is each geohash is identified by a string of letters and digits\u2014the more characters in the string, the more precise the location.<\/p><p>To illustrate, we can divide a given area of a map into a grid with 32 cells. To zoom into a more precise area, the geohash will subdivide the cell into 32 smaller cells and each one of these cells will contain another 32 cells, and so on\u2014that\u2019s how you get longer geohashes the more precise the location.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f68eb68 elementor-widget elementor-widget-image\" data-id=\"f68eb68\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"464\" height=\"519\" src=\"https:\/\/assets.grab.com\/wp-content\/uploads\/sites\/4\/2023\/03\/07174907\/geohash4.gif\" class=\"attachment-large size-large wp-image-180916\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7f3e22e elementor-widget elementor-widget-text-editor\" data-id=\"7f3e22e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"font-size: 18px\">Points that are close to each other will also share a similar geohash.\u00a0<\/p><p style=\"font-size: 18px\"><span style=\"font-weight: 600\">Geohashes help Grab figure out fares, ETA, routes, and more<\/span><\/p><p style=\"font-size: 18px\">At Grab, geohashes help us see when physical points are close to each other. We can tell that these zones are nearby because they are all in the \u201cw886hu\u201d area.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5c6856d elementor-widget elementor-widget-image\" data-id=\"5c6856d\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"696\" src=\"https:\/\/assets.grab.com\/wp-content\/uploads\/sites\/4\/2023\/03\/07173005\/geohash2-2-e1678181486267-700x696.png\" class=\"attachment-large size-large wp-image-180911\" alt=\"\" srcset=\"https:\/\/assets.grab.com\/wp-content\/uploads\/sites\/4\/2023\/03\/07173005\/geohash2-2-e1678181486267-700x696.png 700w, https:\/\/assets.grab.com\/wp-content\/uploads\/sites\/4\/2023\/03\/07173005\/geohash2-2-e1678181486267-250x249.png 250w, https:\/\/assets.grab.com\/wp-content\/uploads\/sites\/4\/2023\/03\/07173005\/geohash2-2-e1678181486267-150x150.png 150w, https:\/\/assets.grab.com\/wp-content\/uploads\/sites\/4\/2023\/03\/07173005\/geohash2-2-e1678181486267-768x764.png 768w, https:\/\/assets.grab.com\/wp-content\/uploads\/sites\/4\/2023\/03\/07173005\/geohash2-2-e1678181486267-120x119.png 120w, https:\/\/assets.grab.com\/wp-content\/uploads\/sites\/4\/2023\/03\/07173005\/geohash2-2-e1678181486267.png 993w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ed14066 elementor-widget elementor-widget-text-editor\" data-id=\"ed14066\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"font-size: 18px\">We use the distance to help figure out things like estimated time of arrival, or fare calculations, so you can see one price before you book a ride with no surprises.<\/p><p style=\"font-size: 18px\">The geohashes of users and drivers can help our system reflect a more realistic fare.\u00a0The location of a passenger checking for fares can be mapped to available drivers in the vicinity.\u00a0Price is then decided based on real-time demand and supply.\u00a0<\/p><p style=\"font-size: 18px\">Occasionally, you get buildings that are next to each other falling within different zones. That\u2019s why fares can differ when you map a route to one building that\u2019s just across the street from another. We\u2019ve been working on keeping the variance in fares small between pick-up points that are very close to each other.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-067d2f5 elementor-blockquote--skin-boxed elementor-blockquote--button-color-official elementor-widget elementor-widget-blockquote\" data-id=\"067d2f5\" data-element_type=\"widget\" data-widget_type=\"blockquote.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<blockquote class=\"elementor-blockquote\">\n\t\t\t<p class=\"elementor-blockquote__content\">\n\t\t\t\tWhen users enter their pick-up location, the app can allow them to pick a landmark nearby that might be easier to identify in real life.\t\t\t<\/p>\n\t\t\t\t\t<\/blockquote>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-48711d5 elementor-widget elementor-widget-text-editor\" data-id=\"48711d5\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Outside of route calculations, geohashes also support many of the core features on Grab including identifying points of interest. For example, when users enter their pick-up location, the app can retrieve records of places on the map, so they can pick a landmark nearby that might be easier to identify in real life.<\/p><p>We are also constantly adding new POIs to help our driver-partners locate customers quickly or to ensure our merchant database is updated. With accurate geohashing, our system can automatically see which parts of a city\u2019s map might be lacking. This allows our operations teams to send out more field collectors on the ground.<\/p><p>In some cities, we have regular job boards that send out collection requests to our driver-partners, allowing them to pick up additional mapping gigs where they are to supplement their income.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-90f17d2 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"90f17d2\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-437166b\" data-id=\"437166b\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"parent":180237,"menu_order":0,"template":"grab21-default","acf":[],"_links":{"self":[{"href":"https:\/\/www.grab.com\/sg\/wp-json\/wp\/v2\/editorial\/180437"}],"collection":[{"href":"https:\/\/www.grab.com\/sg\/wp-json\/wp\/v2\/editorial"}],"about":[{"href":"https:\/\/www.grab.com\/sg\/wp-json\/wp\/v2\/types\/editorial"}],"version-history":[{"count":24,"href":"https:\/\/www.grab.com\/sg\/wp-json\/wp\/v2\/editorial\/180437\/revisions"}],"predecessor-version":[{"id":255534,"href":"https:\/\/www.grab.com\/sg\/wp-json\/wp\/v2\/editorial\/180437\/revisions\/255534"}],"up":[{"embeddable":true,"href":"https:\/\/www.grab.com\/sg\/wp-json\/wp\/v2\/editorial\/180237"}],"wp:attachment":[{"href":"https:\/\/www.grab.com\/sg\/wp-json\/wp\/v2\/media?parent=180437"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}