Library for working with GeoNames dump
Project description
Library to query places from GeoName dumps (http://download.geonames.org/export/dump/).
Installation
geonames requires Python 2.7 or 3.5+ as well as numpy and pandas packages. It can be installed with,
pip install geonames
Usage
The best way to search for a specific location is to have a “filter” value and then the place’s name. The filter will reduce the number of rows to check considerably. For example, when searching for a location in the US there are (currently) 2237584 entries. However, once a state is specified (e.g. West Virigina) the number drops down to 35932; 1/60th of the original number of rows.
import geonames
import io
import urllib.request as request
import zipfile
name = 'Bath(Berkeley Springs)' # (Berkeley Springs, West Virgina)
# Download US geonames dataset
US = request.urlopen('http://download.geonames.org/export/dump/US.zip')
zipfile = zipfile.ZipFile(io.BytesIO(US.read()))
# Load data
geo = geonames.GeoNames(zipfile.open('US.txt'))
# Search with state specified (`admin1code` filters by state)
location = next(geo.search(name=name, admin1code='WV'))
print(location)
Which (if all goes well) should output:
geonameid 4.7987e+06
name Berkeley Springs
asciiname Berkeley Springs
alternatenames Berkeley Spring,Berkeley Springs,Warm Springs
latitude 39.6264
longitude -78.2292
featureclass H
featurecode SPNG
countrycode US
countrycode2 NaN
admin1code WV
admin2code 065
admin3code NaN
admin4code NaN
population 0
elevation 185
dem 194
timezone America/New_York
modificationdate 2011-12-12
certainty 86
Name: 741633, dtype: object
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for geonames_lib-0.4.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e9012ccedecc8c6bd4762eaaab07629ed0233959b77b5ac3b049e8b51fb3f3c |
|
MD5 | fbc3db0fbfde6cc63f2917c11360b68e |
|
BLAKE2b-256 | 5e7e14dc08eb6318768ce251c19b61998c13c2d10f74ac45a186e4788f1ed0e9 |