OpenStreetMap

SafwatHalaby's diary

Recent diary entries

Achavi Helper Website

Posted by SafwatHalaby on 14 November 2017 in English (English)

Achavi’s main use is analyzing changes in an area between two time periods, but it can also analyze changests.

However, for some reason, that feature is not exposed via a graphical UI and requires tinkering with bookmarklets or urls. The Achavi “about” page claims dragging and dropping a changeset URL would analyze it, but this does not seem to work.

I created a simple helper site. Type a changeset ID or URL, and it will be analyzed with Achavi.

http://www.safwat.xyz/achavi/

Thought experiment: What if values had no keys?

Posted by SafwatHalaby on 16 June 2017 in English (English)

I’ve been contemplating the various OSM tagging disputes and disagreements, and I thought of this: If you take 100 regular people to a park with benches, grass, trees, and some gravel paths, and ask them what they’re seeing, they will probably all say “benches, grass, trees, gravel paths”. There would be close to a 100% consensus and no major disputes.

So why is OSM tagging different? Our problem is that the system forces us to categorize those physical objects into abstract, artificially constructed buckets called “keys”, and, naturally, this categorization is subjective and different mappers will want different schemes. Should grass be put in the “landuse” bucket, or the “natural” bucket? Wait, what if a landuse=military has grass? Maybe we should create a new bucket called “landcover” and put grass there? How do we reconcile all that with man_made? What do we do with the prexisting tags? And on and on.

Why not abandon the buckets?

Clearly, many tags do require key=value pairs. e.g. name or website. But these are usually non-physical and non disputed. In our hypothetical eutopia, a node can have both traditional tags and value-only tags. The former are usually abstract, the latter usually physical.

I am well aware this requires API changes. I don’t know if it’s worth it, I know it has shortcomings, and I don’t know if it’s practical any time soon, or ever, but I thought I’d share for the sake of discussion, brainstorming, and so on.

Here are some tagging examples:

format: key=value, key=value … [value, value, value, ….]

  • A grassy park with some picnic tables [park, grass, picnic_tables] (If someone wants to fine-grain it in the future, removes picnic_tables from the area and adds picnic_table for specific nodes).
  • Plaza with concrete floor: name=”The Plaza”, website=”http://etc” [plaza, concrete] (nowadays: Is plaza man_made or landuse or amenity? Let me check the Wiki one more time…)
  • Military base with trees and grass on a sandy beach. name=”base1”, [militaryBase, trees, grass, sand] (nowadays: Disputed tagging mess involving landcover,landuse,man_made,surface,natural)

As a bonus, this resolves the “double values” problem. If a shop sells both flowers and watches, by all means: name=”John’s flowers & watches”, [florist, watches] (Or perhaps [shop, florist, watches])