From OpenStreetMap Wiki
Jump to navigation Jump to search

CNominatim is an freeware collection of MFC classes which handles Nominatim queries. Nominatim is a web service provided by OpenStreetMap to convert addresses to locations on a map and the reverse also known as Geocoding which converts a lat / long point or specific OSM element to an address. It is developed by PJ Naughter pjna

The two main methods provided are Search and AddressLookup. The search method performs the address lookup query, while the AddressLookup method performs the reverse geocoding query. CNominatim v1.0 was released in October 2010.


  • Provides a simple MFC Header only module to easily call the Nominatim web services.
  • Supports all the parameters to both methods as documented at
  • Internally the classes uses the Wininet API to hides the detail of calling the web services.
  • The classes hides the details of downloading and parsing the XML response via MSXML6 and all response values are served up as simple C++ class variables.
  • The HTTP user agent string can be customized via CNominatimSearchQuery::m_sUserAgent and CNominatimReverseGeocodingQuery::m_sUserAgent
  • Supports both the and servers.
  • All errors are reported as a simple HRESULT value from the two main methods
  • Supports using an existing HINTERNET session if your application already uses a specific session handle.