]>
git.openstreetmap.org Git - nominatim.git/log
marc tobias [Mon, 29 May 2023 22:22:18 +0000 (00:22 +0200)]
Vagrantfile - remove Ubuntu 18
Sarah Hoffmann [Sat, 27 May 2023 06:56:06 +0000 (08:56 +0200)]
Merge pull request #3067 from lonvia/python-search-api
Python implementation of Search API
Sarah Hoffmann [Fri, 26 May 2023 16:09:03 +0000 (18:09 +0200)]
make code backwards-compatible with older Python versions
Sarah Hoffmann [Fri, 26 May 2023 15:36:05 +0000 (17:36 +0200)]
remove tests for old PHP cli commands
Sarah Hoffmann [Fri, 26 May 2023 14:31:43 +0000 (16:31 +0200)]
fix new linting warning
Sarah Hoffmann [Fri, 26 May 2023 13:08:48 +0000 (15:08 +0200)]
fix various failing BDD tests
Sarah Hoffmann [Fri, 26 May 2023 12:10:57 +0000 (14:10 +0200)]
add support for search by houenumber
Sarah Hoffmann [Fri, 26 May 2023 09:52:27 +0000 (11:52 +0200)]
ignore name rankings without variants
Sarah Hoffmann [Fri, 26 May 2023 09:44:25 +0000 (11:44 +0200)]
properly close connections when shutting down starlette
Sarah Hoffmann [Fri, 26 May 2023 09:43:11 +0000 (11:43 +0200)]
fix geocodejson address assignment
The categories should be assigned the address part with the
highest address rank not lowest.
Sarah Hoffmann [Fri, 26 May 2023 09:40:45 +0000 (11:40 +0200)]
add server fronting for search endpoint
This also implements some of the quirks of free-text search of the
V1 API, in particular, search for categories and coordinates.
Sarah Hoffmann [Fri, 26 May 2023 07:05:44 +0000 (09:05 +0200)]
add timestamps to HTML debug output
Sarah Hoffmann [Wed, 24 May 2023 21:17:15 +0000 (23:17 +0200)]
mingle names from linked places into results
Sarah Hoffmann [Wed, 24 May 2023 20:54:54 +0000 (22:54 +0200)]
switch CLI search command to python implementation
Sarah Hoffmann [Wed, 24 May 2023 16:12:34 +0000 (18:12 +0200)]
make localisation of results explicit
Localisation was previously done as part of the formatting but might
also be useful on its own when working with the results directly.
Sarah Hoffmann [Wed, 24 May 2023 15:43:28 +0000 (17:43 +0200)]
add API functions for search functions
Search is now split into three functions: for free-text search,
for structured search and for search by category. Note that the
free-text search does not have as many hidden features like
coordinate search. Use the search parameters for that.
Sarah Hoffmann [Wed, 24 May 2023 11:52:31 +0000 (13:52 +0200)]
implement actual database searches
Sarah Hoffmann [Tue, 23 May 2023 09:20:34 +0000 (11:20 +0200)]
implement search builder
Sarah Hoffmann [Mon, 22 May 2023 13:49:03 +0000 (15:49 +0200)]
implement token assignment
Sarah Hoffmann [Mon, 22 May 2023 09:07:14 +0000 (11:07 +0200)]
add query analyser for legacy tokenizer
Sarah Hoffmann [Mon, 22 May 2023 07:23:19 +0000 (09:23 +0200)]
add factory for query analyzer
Sarah Hoffmann [Mon, 22 May 2023 06:46:19 +0000 (08:46 +0200)]
query analyzer for ICU tokenizer
biswajit-k [Sun, 21 May 2023 18:19:04 +0000 (23:49 +0530)]
add ci-test for taginfo file generation
Sarah Hoffmann [Sat, 20 May 2023 21:46:15 +0000 (23:46 +0200)]
add data structure for tokenized query
biswajit-k [Fri, 19 May 2023 17:52:42 +0000 (23:22 +0530)]
docs: add installation instruction for dkjson package
biswajit-k [Wed, 26 Apr 2023 18:14:20 +0000 (23:44 +0530)]
Add script to generate taginfo project description
Sarah Hoffmann [Fri, 19 May 2023 06:55:26 +0000 (08:55 +0200)]
Merge pull request #3064 from lonvia/clicmd-debug-output
Enable debug output on command line
Sarah Hoffmann [Thu, 18 May 2023 20:37:46 +0000 (22:37 +0200)]
enable debug output on command line
Sarah Hoffmann [Thu, 18 May 2023 20:27:18 +0000 (22:27 +0200)]
Merge pull request #3063 from lonvia/variable-parameters
Rework how search parameters are handed to the Python API
Sarah Hoffmann [Thu, 18 May 2023 18:27:07 +0000 (20:27 +0200)]
fix use of subquery in reverse
Sarah Hoffmann [Thu, 18 May 2023 16:29:41 +0000 (18:29 +0200)]
move zoom_to_rank computation to extra file
Sarah Hoffmann [Thu, 18 May 2023 16:09:07 +0000 (18:09 +0200)]
add tests for parameter converter
Sarah Hoffmann [Thu, 18 May 2023 16:07:11 +0000 (18:07 +0200)]
Merge pull request #3062 from lonvia/enable-psycopg
Add support for psycopg 3 in the frontend
Sarah Hoffmann [Thu, 18 May 2023 15:42:23 +0000 (17:42 +0200)]
switch API parameters to keyword arguments
This switches the input parameters for API calls to a generic
keyword argument catch-all which is then loaded into a dataclass
where the parameters are checked and forwarded to internal
function.
The dataclass gives more flexibility with the parameters and makes
it easier to reuse common parameters for the different API calls.
Sarah Hoffmann [Thu, 18 May 2023 11:03:03 +0000 (13:03 +0200)]
actions: run tests against psycopg
Sarah Hoffmann [Thu, 18 May 2023 11:00:59 +0000 (13:00 +0200)]
enable API use with psycopg 3
Sarah Hoffmann [Mon, 8 May 2023 14:35:31 +0000 (16:35 +0200)]
Merge pull request #3050 from mtmail/tiger-check-if-database-frozen
when adding Tiger data, check first if database is in frozen state
Marc Tobias [Tue, 2 May 2023 16:37:36 +0000 (18:37 +0200)]
when adding Tiger data, check first if database is in frozen state
Sarah Hoffmann [Mon, 8 May 2023 09:12:17 +0000 (11:12 +0200)]
Merge pull request #3054 from lonvia/add-amenity-to-documentation
Docs: reintroduce amenity parameter for structured search
Sarah Hoffmann [Mon, 8 May 2023 08:24:12 +0000 (10:24 +0200)]
docs: reintroduce amenity parameter for structured search
Sarah Hoffmann [Tue, 11 Apr 2023 17:20:08 +0000 (19:20 +0200)]
Merge pull request #3006 from biswajit-k/generalize-filter
generalize filter function for sanitizers
Sarah Hoffmann [Fri, 7 Apr 2023 12:04:58 +0000 (14:04 +0200)]
Merge remote-tracking branch 'upstream/master'
Sarah Hoffmann [Fri, 7 Apr 2023 11:59:52 +0000 (13:59 +0200)]
Merge pull request #3030 from lonvia/interpolation-corner-cases
Fix a number of corner cases with interpolation splitting
Sarah Hoffmann [Thu, 6 Apr 2023 14:54:00 +0000 (16:54 +0200)]
fix a number of corner cases with interpolation splitting
Snapping a line to a point before splitting was meant to ensure
that the split point is really on the line. However, ST_Snap() does
not always behave well for this case. It may shorten the interpolation
line in some cases with the result that two points housenumbers
suddenly fall on the same point. It might also shorten the line down
to a single point which then makes ST_Split() crash.
Switch to a combination of ST_LineLocatePoint and ST_LineSubString
instead, which guarantees to keep the original geometry. Explicitly
handle the corner cases, where the split point falls on the beginning
or end of the line.
Sarah Hoffmann [Tue, 4 Apr 2023 09:09:17 +0000 (11:09 +0200)]
use place_to_be_deleted when force deleting objects
Sarah Hoffmann [Mon, 3 Apr 2023 14:20:47 +0000 (16:20 +0200)]
Merge pull request #3023 from lonvia/lookup-api
Python implementation of Lookup API
Sarah Hoffmann [Mon, 3 Apr 2023 12:38:40 +0000 (14:38 +0200)]
switch CLI lookup command to Python implementation
Sarah Hoffmann [Mon, 3 Apr 2023 10:11:23 +0000 (12:11 +0200)]
add lookup call to server glue
Sarah Hoffmann [Mon, 3 Apr 2023 09:23:51 +0000 (11:23 +0200)]
add tests for new lookup API
Sarah Hoffmann [Mon, 3 Apr 2023 09:11:11 +0000 (11:11 +0200)]
rename lookup() API to details and add lookup call
The initial plan to serve /details and /lookup endpoints from
the same API call turned out to be impractical, so the API now
also has deparate functions for both.
Sarah Hoffmann [Mon, 3 Apr 2023 08:40:38 +0000 (10:40 +0200)]
python lookup: add function for simple lookups
Sarah Hoffmann [Mon, 3 Apr 2023 08:00:42 +0000 (10:00 +0200)]
python lookup: factor out finding in tables into own function
Sarah Hoffmann [Mon, 3 Apr 2023 10:12:13 +0000 (12:12 +0200)]
Merge remote-tracking branch 'upstream/master'
Sarah Hoffmann [Mon, 3 Apr 2023 10:11:49 +0000 (12:11 +0200)]
Merge pull request #3021 from lonvia/readd-postalcode-relations
Flex style: reinstate postalcode relations
Sarah Hoffmann [Mon, 3 Apr 2023 08:07:06 +0000 (10:07 +0200)]
bdd: disable detail tests searching by place ID
Place IDs are not stable and cannot be used in tests.
Sarah Hoffmann [Mon, 3 Apr 2023 07:17:50 +0000 (09:17 +0200)]
flex style: reinstate postcode boundaries
Postcode boundaries don't have a name, so need to be imported
unconditionally.
biswajit-k [Sat, 11 Mar 2023 08:22:07 +0000 (13:52 +0530)]
generalize filter for sanitizers
Sarah Hoffmann [Fri, 31 Mar 2023 20:19:46 +0000 (22:19 +0200)]
Merge pull request #3019 from lonvia/add-data-postprocessing
Add postprocessing to add-data function
Sarah Hoffmann [Tue, 28 Mar 2023 12:48:41 +0000 (14:48 +0200)]
call osm2pgsql postprocessing flush_deleted_places() when adding data
Sarah Hoffmann [Fri, 31 Mar 2023 16:01:50 +0000 (18:01 +0200)]
Merge pull request #3020 from lonvia/reverse-api
Python implementation of reverse
Sarah Hoffmann [Thu, 30 Mar 2023 07:58:02 +0000 (09:58 +0200)]
limit results for country lookup
Sarah Hoffmann [Wed, 29 Mar 2023 18:49:34 +0000 (20:49 +0200)]
add BDD tests for new layers parameter
Sarah Hoffmann [Wed, 29 Mar 2023 15:21:33 +0000 (17:21 +0200)]
python reverse: add support for point geometries in interpolations
Sarah Hoffmann [Tue, 28 Mar 2023 13:05:52 +0000 (15:05 +0200)]
add wsgi entry point for falcon server
Sarah Hoffmann [Tue, 28 Mar 2023 13:03:00 +0000 (15:03 +0200)]
add wsgi entry point for starlette
uvicorn needs a parameter-free function to start.
Sarah Hoffmann [Tue, 28 Mar 2023 12:57:39 +0000 (14:57 +0200)]
ignore broken data in interpolation table
Sarah Hoffmann [Tue, 28 Mar 2023 12:53:45 +0000 (14:53 +0200)]
disable prepared statements
Prepared statements do not work well with the partial indexes that
Nominatim uses because all Python constants are replaced with
parameters. A query like:
placex.select().where(placex.c.rank_address.between(4, 25)
gets translated into a prepared query with two parameters:
SELECT * FROM placex WHERE rank_address BETWEEN %s and %s
And this does not work with a partial index of:
CREATE INDEX on placex(geometry) WHERE rank_address between 4 and 25
Sarah Hoffmann [Sun, 26 Mar 2023 16:09:33 +0000 (18:09 +0200)]
switch reverse CLI command to Python implementation
Sarah Hoffmann [Sun, 26 Mar 2023 10:22:34 +0000 (12:22 +0200)]
make sure PHP and Python reverse code does the same
The only allowable difference is precision of coordinates. Python uses
a precision of 7 digits where possible, which corresponds to the
precision of OSM data.
Also fixes some smaller bugs found by the BDD tests.
Sarah Hoffmann [Sat, 25 Mar 2023 16:04:02 +0000 (17:04 +0100)]
add server glue for reverse API call
Sarah Hoffmann [Fri, 24 Mar 2023 20:45:47 +0000 (21:45 +0100)]
add output formatters for ReverseResults
These formatters are written in a way that they can be reused for
search results later.
Sarah Hoffmann [Fri, 24 Mar 2023 10:16:02 +0000 (11:16 +0100)]
ignore NotImplementedErrors when compiling SQL
Sarah Hoffmann [Fri, 24 Mar 2023 09:08:01 +0000 (10:08 +0100)]
factor out layer checks in reverse function
Sarah Hoffmann [Thu, 23 Mar 2023 21:38:37 +0000 (22:38 +0100)]
python: implement reverse lookup function
The implementation follows for most part the PHP code but introduces an
additional layer parameter with which the kind of places to be returned
can be restricted. This replaces the hard-coded exclusion lists.
Sarah Hoffmann [Tue, 21 Mar 2023 23:07:17 +0000 (00:07 +0100)]
add python implementation of reverse
This adds an additional layer parameter and slightly changes the
queries to do more efficient lookups for large area features.
Sarah Hoffmann [Tue, 21 Mar 2023 16:42:53 +0000 (17:42 +0100)]
api: make details parameter optional
Sarah Hoffmann [Tue, 21 Mar 2023 15:24:26 +0000 (16:24 +0100)]
api: generalize error handling
Return a consistent error response which takes into account the chosen
content type. Also adds tests for V1 server glue.
Sarah Hoffmann [Tue, 14 Mar 2023 13:21:35 +0000 (14:21 +0100)]
split SearchResult type
Use adapted types for the different result types. This makes it
easier to have adapted output formatting and means there are only
result fields that are filled.
Sarah Hoffmann [Thu, 23 Mar 2023 08:20:25 +0000 (09:20 +0100)]
Merge pull request #3013 from mtmail/changelog-4-2-x
update ChangeLog to verison 4.2.2
marc tobias [Wed, 22 Mar 2023 22:45:59 +0000 (23:45 +0100)]
update ChangeLog to verison 4.2.2
Sarah Hoffmann [Tue, 21 Mar 2023 08:58:53 +0000 (09:58 +0100)]
Merge pull request #3011 from lonvia/fix-flex-scripts
Fix extra tag handling in some flex scripts
Sarah Hoffmann [Tue, 21 Mar 2023 07:56:50 +0000 (08:56 +0100)]
Merge remote-tracking branch 'upstream/master'
Sarah Hoffmann [Tue, 21 Mar 2023 07:56:25 +0000 (08:56 +0100)]
Merge pull request #3010 from lonvia/adapt-zoom-for-reverse
Minor adjustments to reverse zoom translation
Sarah Hoffmann [Mon, 20 Mar 2023 20:42:24 +0000 (21:42 +0100)]
remove more tags from full style
The full style should only save the necessary tags needed for
processing.
Sarah Hoffmann [Mon, 20 Mar 2023 20:20:27 +0000 (21:20 +0100)]
fix handling of unused extra tags
The tags can only be moved to extra tags after the main tags have been
handled.
Sarah Hoffmann [Mon, 20 Mar 2023 19:47:42 +0000 (20:47 +0100)]
minor adjustment to reverse zoom translation
Add a 'village' zoom level at 13 between town and neighbourhood
and a all locality-like objects for zoom 15. These zoom levels had
the same behaviour as the lower level so far. However, the distinction
for village and locality may be useful at times.
Sarah Hoffmann [Fri, 10 Mar 2023 09:01:43 +0000 (10:01 +0100)]
Merge remote-tracking branch 'upstream/master'
Sarah Hoffmann [Fri, 10 Mar 2023 09:01:24 +0000 (10:01 +0100)]
Merge pull request #3003 from lonvia/rework-bdd-api-tests
Reorganize code around BDD API tests and extend reverse API tests
Sarah Hoffmann [Thu, 9 Mar 2023 20:47:29 +0000 (21:47 +0100)]
bdd: be more fuzzy with coordinate comparisons
Sarah Hoffmann [Thu, 9 Mar 2023 19:57:43 +0000 (20:57 +0100)]
avoid recent Python dialect
Sarah Hoffmann [Thu, 9 Mar 2023 19:24:07 +0000 (20:24 +0100)]
fix polygon simplification in reverse results
polygon_threshold has never really worked for reverse.
Sarah Hoffmann [Thu, 9 Mar 2023 19:20:50 +0000 (20:20 +0100)]
bdd: extend reverse API tests for format checks
Reorganise the API reverse tests and extend the checks for the
output format, testing for all expected fields.
Sarah Hoffmann [Thu, 9 Mar 2023 19:10:51 +0000 (20:10 +0100)]
bdd: add tests for valid debug output
Sarah Hoffmann [Thu, 9 Mar 2023 18:49:55 +0000 (19:49 +0100)]
bdd: replace old formatting strings
Sarah Hoffmann [Thu, 9 Mar 2023 18:40:24 +0000 (19:40 +0100)]
bdd: more format checks for reverse XML
Sarah Hoffmann [Thu, 9 Mar 2023 18:31:21 +0000 (19:31 +0100)]
bdd: new step variant 'result contains in field'
This replaces the + notation for recursing into result dictionaries.
Sarah Hoffmann [Thu, 9 Mar 2023 17:01:45 +0000 (18:01 +0100)]
bdd: factor out computation of result to-check lists
Sarah Hoffmann [Thu, 9 Mar 2023 16:55:27 +0000 (17:55 +0100)]
bdd: replace property_list construct with standard check functions
Sarah Hoffmann [Thu, 9 Mar 2023 16:44:34 +0000 (17:44 +0100)]
bdd: remove special case for osm_type field
The fuzzy field check hide cover formatting errors. Use 'osm' when
only caring about the conent.
Sarah Hoffmann [Thu, 9 Mar 2023 16:05:05 +0000 (17:05 +0100)]
bdd: reorganise field comparisons
Move comparision on Field values from assert_field() into a
comparator class. Replace BadRowValueAssert with a simpler
check_row() function.