📜 ⬆️ ⬇️

MapCode - not an easy short address

In response to the optimistic and fascinating article “Mapcode is a simple and short address” , I would like to respond to the criticism of this system in order not to ignite ignorant minds with global ideas a la “cancellation of time zones” once again. So, what was unsaid and what is “not so” in this “address idyll”:

  1. First and foremost, this system is not “short” in its full meaning: you may not get an “AB.CD” address purely because of the MapCode encoding principle. For example, a certain point in the Arctic: “ZQDZY.98D3” is not so brief, right? Reason: short addresses are obtained only if your region is listed in MapCode. Actually, this is why it turns out to be short, that first a known region is indicated, and then a point (with small coordinates-displacements) within this region. "No region - no short address."
  2. The second important note: the system is built on predefined regions, introduced (hardcoded) into the counting program. So, the system becomes clumsily-static, requiring updating throughout the fleet of devices with MapCode. Moreover, we immediately fall into the limitations of embedded devices (where the account is in kilobytes).
  3. Worse: for exact coordinates, the system clearly requires the indication of the country that in this age of globalization it is not so “unimportant” - just a “bare” code cannot be sent to an email. Again the inconvenience.
  4. After a quick study of the source code (and this is 2.5 thousand lines of any utilitarian only in the si file!), I want to take it as in the well-known joke - “rewrite everything”. Well, the “simple and convenient system” should not be such a mess of heterogeneous coding algorithms (their SUTs), regions and codings!
  5. And by the way about the encodings ... When I read that the letters “O” and “I” were thrown out of the address code (so as not to be confused with the numbers 0 and 1), I even somehow began to respect the authors - to throw off such a huge problem when reading the code! But when the speeches were about confusing the Russian letter “H” with the English “H”, the face darkened from facepalm. Well, well done Archimedes, flashed intelligence! How did we email for 20 years without you ?? But this increases the complexity of coding, while all the same ... the problem remains! How do you explain to a blonde with a business card that you can read all the letters somehow? People got used to English letters! Yes, and it is foolish to somehow invent a "global address system", but at the same time using national alphabets - what is the global nature of Chinese numbers in Kukuyevo? Again, "abstractions flow."
  6. Finally, there is a fundamental disagreement: the system is built to shorten human addresses, but a person just cannot read it (without the help of a computer)! Well, if there is a computer, then the codes are not particularly needed. In fact, 100% of the benefits of MapCode are achieved only in this ideal case: both interacting parties are in the same country, in a densely populated city (i.e., “short addresses” work and no country code is needed), you are called from stationary to mobile (t Ie sending SMS is excluded), you are dictated by 4 digits and you enter them into GPS (i.e. there is no Internet, no email, google maps is not, populated by robots ), and you find the address you need. Do not you think that this all looks like retrograde and some very narrow case of use? Here and in the age of Google maps (without which I don’t travel to any address), it seems silly to invent a “sometimes round” (i.e., sometimes short) wheel, which is useful in a poor percentage of cases. Yes, and do not forget: the pedestrians also do not ask “how to get to B5.Z16?” - the long “address” is better, “there is such a blue house and a passage to the courtyard” than codes.


And then, as correctly pointed out in the comments : why torture one place when there is a normal, accurate, truly global standard Geo URI ? Yes, the numbers are more authentic, but these are numbers - they are easier to dictate than an email , there is less confusion “O” or “0” with them, and even faster to enter than the alphabet. One would think with the brain that it would be absolutely perfect to get rid of the point! (for systems without FPU).
')
Summing up, the “conceptually” system is interesting, but applicable exactly as it is coded: in a narrow region / state level region.

Now an idea has come up in my head: maybe stupid to use recursion? "Let the Earth be a square." We divide the square, say, into a 6x6 matrix, number the cells with the alphabet [A-Z0-9]. And further, each cell is the same square, which we divide by a matrix, etc. We obtain a recursive descent to any level of accuracy, and using one “number” and is applicable for any point on the planet. The “kitchen” complexity of the algorithm is lines 30. Without additional tables and pros / cons / points. If you want to minimize - enter a small table of the main regions that will not exactly undergo changes (the continent or part of it). And then - pure mathematics.

For example, in the United States from North Dakota to Houston - about 2,200 km. For 8 described iterations (i.e., 8 numbers of letters), you can converge to a square of 1.3x1.3 m - this approximately corresponds to the accuracy of GPS + WAAS. Such a system does not need to update or apply some kind of super-exact real calculations. At the same time, instead of meaningless postcodes, one could write this international code + it is also in QRCode - the postmen will cry out with emotion!

Oh, to live!

Source: https://habr.com/ru/post/230529/


All Articles