This adds a copyright notice to all C++ files and the README clarifying
the license. (There is no change of the license.) This also removes a
few names explicitly mentioned as copyright holders, instead refering to
the git log which has a full list of all osm2pgsql developers. (There is
also still the AUTHORS file which names the most important developers.)
The only exception is the sprompt.cpp file which was taken from
PostgreSQL and keeps its original license information (and, of course,
the files in contrib).
This fixes pretty much exclusively unsued-parameter
warnings. Removes some function parameters which have
fallen out of use and also the permutating parameter
test. The latter did not really do what it promised
and was pretty much beyond repair.
The query instance can work on a single connection. This saves
a couple of connections in the processing stage.
Requires slightly changing the behviour of the connections
that copy in the data. They need to commit, so that the
data becomes visible.
middle also needs to start the tables earlier, because
the tables must have been created when preparing queries
in the query connection.
Middle has three interface classes: middle_query_t, middle_t
and slim_middle_t. They inherit from each other. This is
problematic when one wants to supply a middle implementation
that follows a similar inheritence structure.
There is actualy no need that the interfaces for inserting
(middle_t and slim_middle_t) inherit from middle_query_t.
The code is very clear about which interface is needed by
which class.
This change splits off the middle_query_t interface and
cleans up the code where the clear distinction was still
missing.
Needs some larger rework of the middle test which did rely
on being able to access both interface types. There is now
a template class for testing middle that also contains
some more common boilerplate code.
Moves reprojection until after node locations are retrieved
from the node caches and stores the unprojected coordinates.
This is a DB-breaking change. Reimport required.
- make use of osmium's proj wrapper class CRS
- use virtual functions instead of switching over projection
- remove duplicate code (mainly WSG84 to mercator transformation)
- use custom projections also with --proj 4326 and 900913 (fixes#514)
This commit includes some larger structural changes:
- parse_t and parse_delegate_t removed, osm2pgsql now directly
creates a parse_osmium_t object
- bbox class replaced with osmium::Box
- code duplication in parse_stats_t cleaned up
- add generic parse() function for tests, also to avoid code duplication
In this initial step libosmium only functions as another parser
frontend, replacing the pbf and xml parsers. o5m is still parsed
with the native parser.
Other notable changes include:
- refactor of parse.hpp
- retire UTFsanitizer and remove sanitize option
- make C++11 compiler mandatory (required by libosmium)
- update pbf proto descriptions