[OSM-dev] Why is ford=yes not rendered in the default style?
Tom Hughes
tom at compton.nu
Fri Nov 27 09:51:02 UTC 2015
On 27/11/15 09:44, Gerd Petermann wrote:
> Do we have a database design that stores each OSM element
> with numerous columns for all possible supported attributes?
> I guess that would explain why there are technical limits.
Yes the current schema has one column for each tag, but obviously
limited to certain tags chosen when the database is created.
So there is a highway column, a waterway column, a name column and so
on, which the value being the value of the tag in question, or null if
the object doesn't have that tag.
So it's obviously quite wasteful to create hundreds of columns for
relatively rare tags that will be null for most records.
Hence the reason the tools how have the option to store some or all tags
in a single hstore column - that's basically a column whose value is a
hash of keys and values. You can read more here:
https://github.com/openstreetmap/osm2pgsql/blob/master/docs/usage.md#hstore
So the idea is that at the next reload some of the rarer key values
would be moved into an hstore column, and that extra tags could be
included in that set.
It does need some matching changes to the style sheet though, as the
syntax for SQL queries to select on values in the hstore will be
different to the condition for selecting on a normal column.
Tom
--
Tom Hughes (tom at compton.nu)
http://compton.nu/
More information about the dev
mailing list