roberdam / Xaddress

Xaddress - Give 7 billion people an instant physical address
http://xaddress.org
MIT License
1.18k stars 46 forks source link

Make Xaddress state-independent #27

Open Venca24 opened 6 years ago

Venca24 commented 6 years ago

For encoding the coordinates into Xaddress you have to currently use tables based on territory of states. This system has some disadvantages:

Possible solution (but you can came up with your own):

This could encode everything what can be encoded now, but it wouldn't require change because of occupation or establishment of a new state. It could additionally encode any position on Earth (including those on high seas) and theoretically also positions on another planets and moons (introducing regions by 15° of longitude).

What do you think or do you have another idea how to solve the issue?

spidergears commented 6 years ago

Seems interesting and more functional. Let's get some more reviews and feedback.

roberdam commented 6 years ago

Hi! @Venca24 , Thanks for your well thought contribution, answering your comments:

it's unclear which table use for disputed or occupied territories like Crimea or Kosovo (requiring use of e.g. Serbian table for Kosovo could also make the adoption of Xaddress hard there),

There is no problem with overlapping zones, you can have both states and they will resolve to the same location.

when there is new independent state, you have to update the whole system to include it (including independent implementations),

Yes, in regard to the long Xaddress that will be true, and indeed an inconvenience.

I had the same concerns, the main thing is the balance between a intuitive address that looks , feels and tell you about a location ( with the state included) and the exact foolproof technical solution.

The best answer so far that I came up was to include both Xaddress as a part of the service, the long address included with the state, and the short address, that deals with the other issues you mention.

Short addresses are state independent, can be used outside of jurisdiction of any state (like high seas) as you mention.

captura

Let me know what you think about it

Venca24 commented 6 years ago

@roberdam The intuitive addresses you can still use, but you don't need table for each region or state to generate the address, you can use just one (bigger) table or just one algorithm.

You could still use address like 8529 OUR PIANISTS, Ile-de-France, France instead of (or in addition to) 8529 OUR PIANISTS, OMEGA and map each region or state to its respective time zone. (It's just example of the format, I didn't do the recalculation of the exact address.) In such a case you will never have to recalculate the main address (especially P2) regardless what happens on the ground.

I see the advantage in Xaddress and in similar concepts to also enable quick communication of position over the phone or generally by speech as it is quicker as transmit the usual geographic coordinates the same way. This can be used e.g. in emergency calls, or for delivery of anything in rural areas. For this the short addresses doesn't seem to be suitable.

By the way: where is described the algorithm to generate the short addresses?

roberdam commented 6 years ago

I do not see any reason why that would not work, do you have any specific implementation in mind?.

The short address encode is in https://github.com/roberdam/Xaddress/blob/master/encode_func.rb line 641 def short_encode(xlatitude,xlongitude), and the short decode is https://github.com/roberdam/Xaddress/blob/master/decode_func.rb line 517 def short_decode(codigo), is very simple to understand even if you dont program in Ruby.

Venca24 commented 5 years ago

I've got currently just this one implementation in mind:

The address of the main square of my city (Brno) should then be:

When I speak about time zones, I always mean the US military time zones, not the legal time zones as the second ones can be even wider than 15 degrees (e.g. the People's Republic of China).