Open Source search based on OpenStreetMap data
Go to file
Sarah Hoffmann 60c1301fca 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.
2023-04-06 16:54:00 +02:00
.github add typing information for pygments to requirements 2023-02-14 11:58:08 +01:00
cmake use data paths from new nominatim.paths 2022-11-27 12:15:41 +01:00
data modify data import logic to load country names from yaml 2022-03-12 15:20:57 +08:00
docs minor adjustment to reverse zoom translation 2023-03-20 20:47:42 +01:00
lib-php minor adjustment to reverse zoom translation 2023-03-20 20:47:42 +01:00
lib-sql fix a number of corner cases with interpolation splitting 2023-04-06 16:54:00 +02:00
man update and extend man page 2021-10-18 09:03:07 +02:00
module update CI tests to postgresql 15 2022-11-04 16:21:15 +01:00
munin docs: fix typos 2022-07-20 22:05:31 +08:00
nominatim switch CLI lookup command to Python implementation 2023-04-03 14:40:41 +02:00
osm2pgsql@4facd1aea4 update osm2pgsql (flex not building index) 2022-12-18 10:10:58 +01:00
settings flex style: reinstate postcode boundaries 2023-04-03 09:17:50 +02:00
test fix a number of corner cases with interpolation splitting 2023-04-06 16:54:00 +02:00
utils port multi-region update scripts to nominatim tool 2021-08-14 23:55:48 +02:00
vagrant add new geoalchemy requirement 2023-01-28 11:51:26 +01:00
.gitignore docs: section about database layout 2021-10-29 12:03:22 +02:00
.gitmodules update osm2pgsql to latest version 2012-09-29 18:53:21 +02:00
.mypy.ini add SQLAlchemy table schema for Nominatim tables 2023-01-28 11:51:26 +01:00
.pylintrc add output formatters for ReverseResults 2023-03-25 15:45:03 +01:00
AUTHORS add consistent SPDX copyright headers 2022-01-03 16:23:58 +01:00
ChangeLog update ChangeLog to verison 4.2.2 2023-03-22 23:45:59 +01:00
CMakeLists.txt drop support for Python 3.6 2023-01-03 10:03:00 +01:00
CONTRIBUTING.md fixed typos in docs and code comments 2023-03-06 17:09:38 +05:30
COPYING tabs-to-spaces 2016-09-04 03:19:48 +02:00
phpcs.xml add PHPCS Squiz.Arrays.ArrayDeclaration.KeyNotAligned rule 2018-05-08 00:37:41 +02:00
README.md Remove the installation warning 2021-09-19 13:01:32 +02:00
SECURITY.md add latest security incident 2023-02-22 11:24:04 +01:00
VAGRANT.md VAGRANT.md - replace local.php settings with .env 2022-12-22 03:12:30 +01:00
Vagrantfile Update Vagrantfile 2022-11-29 11:12:10 +03:00

Build Status codecov

Nominatim

Nominatim (from the Latin, 'by name') is a tool to search OpenStreetMap data by name and address (geocoding) and to generate synthetic addresses of OSM points (reverse geocoding). An instance with up-to-date data can be found at https://nominatim.openstreetmap.org. Nominatim is also used as one of the sources for the Search box on the OpenStreetMap home page.

Documentation

The documentation of the latest development version is in the docs/ subdirectory. A HTML version can be found at https://nominatim.org/release-docs/develop/ .

Installation

The latest stable release can be downloaded from https://nominatim.org. There you can also find installation instructions for the release, as well as an extensive Troubleshooting/FAQ section.

Detailed installation instructions for current master can be found at nominatim.org as well.

A quick summary of the necessary steps:

  1. Compile Nominatim:

     mkdir build
     cd build
     cmake ..
     make
     sudo make install
    
  2. Create a project directory, get OSM data and import:

     mkdir nominatim-project
     cd nominatim-project
     nominatim import --osm-file <your planet file>
    
  3. Point your webserver to the nominatim-project/website directory.

License

The source code is available under a GPLv2 license.

Contributing

Contributions, bugreport and pull requests are welcome. For details see contribution guide.

Questions and help

For questions, community help and discussions you can use the Github discussions forum or join the geocoding mailing list.