What3Words Geocoding Extensions
With the advent of location-based services, the demand for location data has dramatically increased. Geocoded locations have become necessary in many GIS analysis, cartography, and decision-making workflows. A reliable geocoding system that can effectively return any location on earth with sufficient accuracy is desired. This study is motivated by a need for a geocoding system to support university campus applications. Address-based geocoding systems have been used for decades. However, they present limitations in address resources, address standardization, and address database maintenance. These limitations have recently sparked an interest in developing alternative geocoding systems that apply alphanumeric codes as a reference to locations, such as Geohash, Google’s Open Location Code, and what3words to name a few. Comparing to other geocoders, what3words (w3w) has many advantages. It uses a simple format of code consisting of three words, it is less error-prone, codes are easier to memorize, and multiple languages are supported. However, its fixed resolution (consisting of 3 m by 3 m square cells) and lack of consideration of the third dimension may limit its applicability. To better support geographic applications with special requirements, the w3w geocoding system needs to be extended. This paper proposes extensions of w3w in two aspects: variable resolution and third dimension support. A geocoding processing tool that implements these extensions is being developed to support the need of a university campus’ facility management, emergency evacuation and route navigation planning, student survey data management, and other location-based services.
KeywordsGeocoding systems what3words Geocoding processing Location-based services
Methods to determine a location on a digital map or find the optimal paths to get there are becoming increasingly relevant to everyday life. Location encoding (also known as geocoding) is an approach that transforms an address, postal code, place name, or another geographic reference to geographic coordinates (Goldberg 2011; Lee 2009; Karimi et al. 2011). This allows spatial analysis, mapping, and other geolocation related processes to be performed in GIS software packages. As such, a variety of geocoding systems have been created to support specific applications including, but not limited to, marking locations on a map, route finding and navigation, and local searching. A geocoding system consists of three components: (i) the input data—address, the name of a place, or code; (ii) the geocoder—the processing algorithm; and (iii) the output data—the location coordinates corresponding to the input data. Reverse geocoding functions perform the opposite task and convert coordinates into the address, name, or code of the location.
Address-based geocoding, which refers to “address matching” including a postal code and place’s name, has been dominant for decades. Numerous efforts have been made to improve address-based geocoding. However, they were not able to completely restrain all limitations involved (Lee 2009). Alphanumeric code geocoding systems have emerged more recently. These systems provide alternative methods to overcome the problems with address-based geocoding.
An alphanumeric code geocoding uses codes as a reference to locations. It partitions the earth surface into arrays of cells, often in layers of variant resolution, and assigns each cell a unique alphanumeric code. Codes can then be converted into the centroid coordinates of the cells. Examples of these geocoding schemes include Geohash, MapCode, c-Squares, WMO squares, Open Post Code, Google’s Open Location Code, and what3words (Barr 2015; Stefanakis 2016). The latter one is of particular interest to this study.
what3words (w3w) divides the earth’s surface into a grid of 3 m by 3 m squares; each assigned a unique code consisting of three dictionary words separated by periods, e.g., the entrance to the CN Tower in Toronto, Canada, is located at “select.threaten.shelters” (Barr 2015). This method allows for easier memorization of locations and is supported in multiple languages. Meanwhile, the three-word code is efficient to encode and decode. w3w provides a website, apps for iOS and Android, and an API that enables bidirectional conversion between the three dictionary words assigned to the grid cells and latitude/longitude coordinates (Barr 2015).
w3w has demonstrated some advantages over the traditional address-based geocoding. It is estimated that over 4 billion people on Earth are physically disconnected because of lack of a reliable street address (Barr 2015). But even when street addresses are available, they are very often unable to describe the location. For example, locations inside parks or large facilities (e.g., stadiums or hospitals with multiple entrances) may be hundreds of meters away from the nearest address. The use of directions (such as “behind the main building find a storehouse; deliver the package to the right door facing the park”) instead of address has become a common practice. However, this is usually ambiguous as it relies on local knowledge, while it cannot be interpreted automatically (Stefanakis 2016).
Apparently, the w3w grid can meet the fundamental need of addressing people and places no matter the existence of a reliable street address. The opportunities, that w3w presents, have been widely recognized around the globe. Governments of at least five nations with poor addressing systems have already adopted w3w for their postal services, while w3w has been recently used as an addressing mechanism in disaster relief missions and emergency response (The Ethicalist 2017).
Besides the opportunities, w3w presents limitations that complicate its usefulness to certain geographic applications. Specifically, w3w has a fixed resolution of 3 m × 3 m and provides no consideration of elevation. How can the what3words geocoding system be extended to address these limitations? How could these extensions be applied to support geographic applications such as a micro-scale area of a university campus? To answer these questions, this study has established three main objectives: (a) to design alternative w3w geocoding extension models, (b) to implement geocoding algorithms for the extended models, (c) to apply the extended models and associated algorithms in various applications relevant to a university campus. This paper focuses on the first objective.
An elevation extension of the w3w geocoding system can be beneficial for locating entities in three-dimensional space. In the example of Fig. 1, the desk is located on the fifth floor of a building. Its relative height (above the ground) is 13 m (i.e., each floor is 3 m high, and the desk is 1 m high). Hence, the location of the desk can be described by three words supplemented by a code that provides its relative height, e.g., “psychic.rolling.recital.tan.RH7”. A reverse geocoding process would turn the above code into the location of the desk expressed in (x, y, z) coordinates, i.e., (− 66.64174, 45.950082, 13).
It is believed that the development of the extensions above could facilitate various geographic applications in a university campus such as campus navigation, emergency evacuation, facility management, and student survey data management.
The paper content is organized into five Sections. In “Geocoding Systems and what3words” section provides the state-of-the-art of geocoding systems including a discussion on the advantages and disadvantages of these systems. In “Extensions of what3words” section introduces the models to extend the w3w geocoding system to support variable resolution and elevation. In “Applications” section discusses some potential applications and example scenarios of the extended w3w geocoding system. In “Forward and Reverse Geocoding Transformations” section presents the forward and reverse transformations between extended w3w codes and the corresponding geographic coordinates. In “Conclusion” section summarizes the proposed extensions and presents some future developments.
Geocoding Systems and what3words
Geocoding is one of the basic geospatial operations that convert addresses, postal codes, place names, or other geographic references to geographic coordinates (Goldberg 2011; Lee 2009; Karimi et al. 2011). It plays a vital role in the spatial analysis as geocoding technology has been utilized in many application areas such as epidemiology, environmental science, emergency management, marketing, planning, and location-based services. These applications involve a broad range of disciplines including, but not limited to, geography, geographic information science, computer science, digital libraries, history, and economics (Goldberg 2011; Karimi et al. 2011). Geocoded data provides a basis for subsequent spatial analysis and mapping. Errors associated with the geocoded data are likely to propagate through subsequent processing, analysis, modeling, and decision-making (Goldberg 2011; Karimi et al. 2011). Therefore, it is important to obtain accurate locations from geocoding processes.
There are two categories of geocoding schemes adopted by geocoding systems: address-based and alphanumeric code-based. The address-based geocoding scheme makes use of two main models: street network geocoding and rooftop geocoding (also known as address-point geocoding), which have been widely used for decades (Lee 2009; Karimi et al. 2011; Zandbergen 2008).
Address-based geocoding systems have many constraints including coverage, standardization, maintenance, and precision. The coverage issues occur because these systems are unable to geocode locations with no official address (Barr 2015). It is estimated that, worldwide, over two billion people live at locations with no official street name or house number (Geelen 2015). Standardization is an issue because address-based systems require properly formatted input, whereas address formats vary from location to location (Lee 2009). Also, these systems require high maintenance as address databases must be updated regularly to reflect real-world changes for the entire coverage area (Lee 2009). Last but not least, precision can be a major concern. Geocoding in rural areas is often offset-prone (Kellison 2012). Even in urban areas, where geocoders are typically more precise, they use as a reference the centroid of structures or parcels. Entire university buildings, business parks, and farms are abstracted to single points that do not carry sufficient precision for many applications (Chen et al. 2016; Goldberg et al. 2007; Karimi et al. 2011).
Alphanumeric code geocoding scheme provides an alternative way for describing a geographic location. Multiple alphanumeric code-based geocoding systems are already available to convert between alphanumeric codes and geographic coordinates: Geohash, MapCode, c-Squares, WMO squares, Open Post Code, Google’s Open Location Code, and what3words (Barr 2015; Stefanakis 2016). These systems assign systematic alphanumeric labels to locations (polygons) over the earth, which are converted to geographic coordinates using mapping formulas, instead of graphs and an address database (Barr 2015). Alphanumeric code geocoding systems share several advantages: (i) every cell is assigned a unique and static code, (ii) codes are simple to encode and decode, and (iii) codes are efficient for communication (Chen et al. 2016).
w3w, compared to other alphanumeric code geocoding systems, has three significant advantages. First, it is the cleanness of the coding scheme as the use of dictionary words is less error-prone than a code mixing letters and numbers. Secondly, it is easier to remember (Barr 2015). Finally, it supports multiple languages. Other alphanumeric code geocoding systems provide a code combining random Latin characters with numbers, which can be as long as ten characters for a high resolution. The codes provided by these systems are hard to remember, while they are not language- or culture-independent (Rhind 2015). On the other hand, as opposed to other alphanumeric geocoding systems, w3w has a fixed resolution of 3 m × 3 m. This may impede an efficient modeling in applications, such as in indoor environments where a finer resolution is required, or in outdoor environments where a coarser resolution is preferable.
None of those mentioned above geocoding systems considers the third dimension, i.e., elevation (Stefanakis 2016). 3D geocoding and 3D reverse geocoding services are still a challenge (Verbree and Zlatanova 2007). An address-based 3D geocoding system for the indoor environment was proposed by Lee (2009). However, this method inherits the limitations of address-based geocoding systems and does not offer an appropriate solution for 3D location-based services.
Overall, alphanumeric code geocoding systems may demonstrate advantages over address-based geocoding ones in many aspects. Furthermore, a comparison between the alphanumeric code geocoding systems reveals that w3w has many significant advantages that can be utilized to better support specific geographic applications (Barr 2015). However, w3w still has limitations, such as a fixed resolution and no consideration of elevation. This study introduces a series of extensions of the w3w geocoding system to overcome the above limitations.
Extensions of what3words
Variable Resolution Extension Models—Finer Resolution
A fundamental principle of the w3w geocoding system is that the words assigned to a square give no clue as to the words of adjacent squares (Barr 2015). In other words, the w3w geocoding system is non-hierarchical and non-topological. In TTEM and QTEM models, though, the fourth word conveys some locational semantics as it corresponds to a given sub-square within each 3 m by 3 m square.
The location precision for a point under BCEM
The 4th element length (number of letters)
Max_vertical offset (m)
Max_horizontal offset (m)
Variable Resolution Extension Models—Coarser Resolution
Alternative coarser resolution representations
The Third Dimension Extension Models—Elevation
Alternative extension models for the third dimension
The letter(s) H, RH, and F represent the diverse types of elevation, i.e., absolute, relative, and floor, respectively. The number following the letters H and RH describes height values in units of meters. Letter F is followed by the floor label (e.g., 3, 0, -2, or E), a period, and optionally a number describing the relative height from the surface of the floor in meters. Various types of floor description (i.e., Ground Floor, Floor C) need to be considered and standardized.
Combination of the Extension Models
Applications of the proposed geocoding extension models to a university campus
Describe a path between rooms and support navigation
Label rooms and important sites, such as exit, entrance, and extinguisher
Track equipment, books, and personnel
Locate facility management points of interest (POI) for maintenance or repair
Define safety area for emergency evacuation
Describe paths between various locations (buildings) on campus
Manage student survey data
Provided that a university campus extends in a relatively small and local area consisting of up to a few hundred thousands of 3 m × 3 m squares, a single word (e.g., word1 in w3w) may turn out to be sufficient for encoding these squares. This way the combined code in Fig. 13 may be abbreviated to three words: “word1.resolution.elevation” for local use. Obviously, a search must be done to make sure that no two w3w squares in the campus share the same word1 of the original w3w code.
Clearly, both the w3w encoding and the proposed extensions assume a positioning precision that goes beyond the capabilities of common outdoor or indoor positioning systems mounted to mobile devices, such as cell phones. There are, however, systems that can reach the required precisions, such as the relative kinematic positioning (RKP; Teunissen and Montenbruck 2017) using satellite systems, or the ultra-wideband technology for 3D positioning (Pozyx 2017). It is anticipated that systems like those will be in wide use in the future.
A geocoder software tool is currently being developed. The tool will implement the two-way transformation between five-element codes (using the various w3w extension models introduced in “Extensions of what3words” section) and local or universal coordinates in 3D space for individual locations. Also, it will support the two-way mapping of basic geometric elements, such as lines, surfaces, and solids (used to model the entities of interest in various university campus applications) to extended w3w codes (Table 4).
Forward and Reverse Geocoding Transformations
The following paragraphs describe the two-way transformation between an extended code and the corresponding geographic coordinates. The forward geocoding converts an extended code into geographic coordinates including elevation. The reverse geocoding converts geographic coordinates and elevation into an extended code. Both transformations make use of the what3words API (Application Programming Interface; w3w API 2017) as an integral component.
If a three dictionary words code were provided, the geographic coordinates of the centroid point (Lng, Lat) for the corresponding 3 m by 3 m square cell could be retrieved using the what3words API. These coordinates will be reported as a result of the transformation.
If an extended code with the fourth element (word4) were provided, the first three words would feed the what3words API to retrieve the geographic coordinates of the centroid point (Lng, Lat) for the corresponding 3 m by 3 m square cell. Then, the fourth word or element will be used to calculate the offset from the centroid point (ΔX, ΔY). Depending on the extension model in use, the corresponding calculations will be carried out, and the geographic coordinates of the location will be retrieved and reported.
If an extended code with the fifth element (word5) were provided, that element would be processed according to the adopted model for the third dimension and the height (Z) of the location will be retrieved to complement the horizontal coordinates.
The optional item r takes a value that determines the resolution level expressed in centimeters. If the value of r < 300 cm, a finer resolution is needed. A series of calculations will be applied to compute the bottom left corner of the 3 m by 3 m square enclosing the location (denoted as LngMin and LatMin, respectively), the offset of the input location from that corner (denoted as ΔX and ΔY, respectively), and ultimately the sub-square that encloses the location at the requested resolution (identified by: row and column). A lookup table (see Figs. 7 and 9) will be used to retrieve the fourth element (word4) that corresponds to that cell. If the value of r > 300 cm, depending on the actual value of r, the fourth element (word4) will be retrieved (see Table 2). If a code representing an arbitrary point is requested (e.g., for r = − 1), the quadtree sub-division algorithm will be used to retrieve the string of binary code which will next be transformed into a letter code (Fig. 10). That letter code composes the fourth element of the code (word 4).
The optional item Z takes a value that determines the height of the location. According to the adopted model for the third dimension, the height (Z) of the location will be transformed into the fifth element (word5) of the extended code.
The computational complexity of the above transformations is anticipated to be in the magnitude of the algorithm complexity of w3w API. The processing of the fourth and fifth elements involves very simple mathematical operations and/or a search in a lookup table of a few hundred of words at most (the number depends on the resolution level; see lookup tables in Figs. 6 and 7), which can easily be ordered and indexed so that a logarithmic performance is achieved. After the implementation and validation of the geocoder software tool, a series of experiments will be carried out to prove the above argument and extract solid formulas describing the computational complexity of both the forward and reverse transformations.
The storage complexity is driven by the needs of the w3w API. The w3w system uses a proprietary algorithm in combination with a database that stores the triplets of dictionary words for all 3 m × 3 m square cells. The w3w core technology is contained with a file around 10 MB in size that can be run even when an internet connection is not available (Barr 2015). To support some of the extended models introduced in this study, some additional space is also required to store the corresponding look up tables (e.g., Figs. 6 and 7). Obviously, this space is minimal compared to the one needed for the w3w core database.
The address-based geocoding systems have been used for decades. However, these are not universally applicable in large-scale GIS applications. Alternative geocoding systems have been developed to overcome some of the constraints of address-based systems. Alphanumeric code geocoding systems divide earth surface into cells and assign each cell unique alphanumeric codes to represent the location. Each implementation of alphanumeric code geocoding utilizes its geocoding algorithms to transform between alphanumeric codes and the corresponding coordinates.
The w3w geocoding system has several advantages over other geocoding systems. However, due to its limitations, it needs to be extended, so that it can better support geographic applications. To support indoor applications, a finer resolution of squares is required, and elevations must be supported. For outdoor applications, a coarser resolution may also be needed. Therefore, this study proposes a series of extension models to the w3w geocoding system focusing on two main aspects, variable resolution, and elevation.
The variable resolution and elevation extension models are represented by the addition of elements to the standard three elements (words) used by the w3w model. The first three elements of the extended code are still the three words provided by the w3w geocoder. The fourth element is a word representing a variant resolution or an offset from the centroid of the standard w3w square. The fifth and final element is a label to representing elevation. These extensions comply with and retain the advantages of the w3w geocoding system.
The extension models proposed in this study may further enhance the w3w geocoding system to better support geographic applications ranging from business and marketing to social and economic development of countries. The level of extension required in each application is variable and subject to the application needs as well as the decisions taken by both developers and end users.
Notice that, the first four elements (words) in the combined code refer to locations on the earth’s surface and their values are considered static. However, the fifth element refers to elevation, and its value (except the absolute height) depends on changes in infrastructure (e.g., building or road construction). For this reason, a sixth element could be added to provide a temporal reference. The extension of the combined five-word code with a sixth word representing time may also serve in modeling spatiotemporal applications. This is another direction for future research.
The authors wish to thank the editors and anonymous reviewers for their valuable comments on the initial manuscript.
Compliance with Ethical Standards
The manuscript is compliant with ethical standards.
Conflict of Interest
The authors declare that they have no conflict of interest.
- Geelen P (2015) Mapcode downloads and developer resources. Retrieved from mapcode.com: http://www.mapcode.com/downloads.html?iso3=112&mapcode=49.4V [Visited on October 31, 2017]
- Goldberg D, Wilson J, Knoblock C (2007) From text to geographic coordinates: The current state of geocoding. URISA Journal 19(1):33–46Google Scholar
- Kellison MT (2012) Address points and a master address file: improving efficiency in the City of Chino. Master dissertation. Los Angeles, California, USA: University of Southern CaliforniaGoogle Scholar
- Pozyx (2017) Pozyx accurate positioning. Retrieved from https://www.pozyx.io/ [Visited on October 31, 2017]
- Rhind G (2015) How Google could improve open location code. Retrieved from pcapredict.com: http://resources.pcapredict.com/index.php/google-open-location-codes/#comment-3294363901 [Visited on October 31, 2017]
- Stefanakis E (2016) Location encoding systems—could geographic coordinates be replaced and at what cost? GoGeomatics Magazine. Retrieved from https://gogeomatics.ca/location-encoding-systems-could-geographic-coordinates-be-replaced-and-at-what-cost/ [Visited on October 31, 2017]
- Teunissen P, Montenbruck O (Eds) (2017) Springer handbook of global navigation satellite systems (Springer Handbooks) 1st edn. Springer, Cham, p 1327Google Scholar
- The Ethicalist (2017) How three words are making the world a safer place. Social Business. Retrieved from https://theethicalist.com/three-words-making-world-safer-place/ [Visited on October 31, 2017]
- w3w API (2017). what3words restful API. Retrieved from https://docs.what3words.com/api/v2/ [Visited on October 31, 2017]
- Zandbergen PA (2008) A comparison of address point, parcel and street geocoding techniques. Comput Environ Urban Syst 32(2008):214–232. https://doi.org/10.1016/j.compenvurbsys.2007.11.006 CrossRefGoogle Scholar