Hi everyone, this is the update on the final phase of my progress in enhancing Nominatim’s search results ranking.

Previous Diary Entries

To have a background understanding of the project, you can check the overview of the project followed by the project’s first phase down below.

  1. Project Overview
  2. Phase 1

Project’s Pull Request

To see the code of the project, you can check the pull request here.

Detailed Report of the Project

The detailed version of the report can be read here.

What Has Been Done

  • Enabled PostGIS to work with raster files
  • Nominatim CLI tool can now import OSM views data from the GeoTIFF file
  • Nominatim CLI tool has the ability to refresh the OSM views data and recompute the importance scores
  • Integrated OSM views data into the algorithm that computes the places’ importance scores which are used in ranking Nominatim’s search results
  • Added some unit tests
  • Updated the documentation and added a detailed report of the experiments conducted

Possible Next Steps

There is a weak correlation between the OSM views data and the wiki importance data. A number of possible reasons have been outlined in the detailed version of this report in which further investigation is needed to have a better understanding of this outcome. Apart from that, the OSM views import feature can be enhanced so that the user can specify the zoom level when importing the data, or even have multiple zoom levels data imported one after the other so that the OSM views data have a higher degree of accuracy.

What I have learned

Working on this project certainly sharpened my SQL skills since the data that I was working with is huge which lead me to learn more about optimizing SQL queries so that they can be executed in less time. In addition to that, I have learned a lot about processing rasters and working with geographic objects inside databases which is something entirely new to me. Furthermore, I got exposed to several data normalization techniques and understood their pros and cons so that I can choose which one to use when processing raw data depending on the context of the given project.


I would like to thank my mentors, Sarah Hoffman (@lonvia) and Marc Tobias (@mtmail), for their guidance and support throughout the implementation of this project. I would also like to thank Paul Norman (@pnorman) for his comment and the discussion I had with him afterward that shaped the implementation of this project. I would also like to thank OpenCage for providing me with the server to work with on this project. I had a great learning experience and I am thankful to Google Summer of Code and to the OpenStreetMap Foundation for this opportunity.

Location: Taman Tun Dr Ismail, TTDI, Kuala Lumpur, 60000, Malaysia

Login to leave a comment