Skip to content

Commit d17fb9e

Browse files
authored
Merge pull request #74 from osm2pgsql-dev/generalization-road-map
Add chapter on generalization to road map
2 parents ac567c9 + 9273fa8 commit d17fb9e

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

about/road-map.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,3 +154,35 @@ since version 1.7.0.
154154
This is an area where we need more input from users to see what their needs
155155
are. And we need to do more research where OSM data handling can be generalized
156156
and where domain-specific knowledge is needed.
157+
158+
159+
### Generalization
160+
161+
For small zoom levels, geodata needs to be generalized. This is needed for
162+
speed and to reduce the amount of data being moved around over the network. But
163+
it is also needed to show maps that are usable and useful, and that look good.
164+
We have started work on this with the [generalization
165+
project](https://osm2pgsql.org/generalization/), but there is much more to do.
166+
167+
Generalization is implemented in several "strategies" that deal with certain
168+
types of data and solve specialized use cases. Currently there are only a few
169+
strategies implemented and we plan to add many more. For instance there are
170+
existing strategies to generalize landcover data, but no strategies yet to do
171+
generalizations of road networks.
172+
173+
Generalization strategies fall into several "families". Some strategies always
174+
work on *all* data. Those are easier to implement but make updates more
175+
expensive. Some strategies are tile-based, updates can be done tile-by-tile.
176+
Missing is a general framework for implementing strategies with object-based
177+
updates. For this osm2pgsql needs to keep track of all input objects that have
178+
been used for some generalized object so that changes in those objects can be
179+
reflected in the generalized object. Such a mechanism probably also has to
180+
keep track of specific attributes of those objects so that new objects with
181+
those attributes can be taken into account.
182+
183+
Currently generalization is still marked as experimental. It is used through
184+
the `osm2pgsql-gen` program and only loosely integrated with the rest of
185+
osm2pgsql. We want to get to a better integration but it is as yet unclear
186+
how exactly this should look. This is also related to several other topics
187+
mentioned in this road map.
188+

0 commit comments

Comments
 (0)