Skip to main content

Offline reverse geocoder

Project description

Reverse Geocoder takes a latitude / longitude coordinate and returns the nearest town/city. This library improves on existing libraries called reverse_geocode developed by Richard Penman & reverse_geocoder by Ajay Thampi in the following ways:

  • support init non-singleton instance of RGeocoder to support different stream simultaneously (creating RGeocoderImpl class to support that)

  • added the capability change the header columns when loading custom stream and loaded different schemas

  • added query_dist to support returning distance in addtion to the reverse geocoding data itself

  • added do_extract to trigger extraction for any Geonames file, e.g: 1000, 15000 etc

  • removed win32 and python2 support. added utility function to load data from files/buffers

Example usage:
>>> import rvgeocoder as rvg
>>> coordinates = (41.852968, -87.725730), (48.836364, 2.357422)
>>> rvg.search(coordinates)
[OrderedDict([('lat', '41.84559'),
          ('lon', '-87.75394'),
          ('name', 'Cicero'),
          ('admin1', 'Illinois'),
          ('admin2', 'Cook County'),
          ('cc', 'US')]),
 OrderedDict([('lat', '48.85341'),
          ('lon', '2.3488'),
          ('name', 'Paris'),
          ('admin1', 'Ile-de-France'),
          ('admin2', 'Paris'),
          ('cc', 'FR')])]

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page