Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/marians/geogut
Tiny command line tool(s) for geocoding from strings
https://github.com/marians/geogut
Last synced: 27 days ago
JSON representation
Tiny command line tool(s) for geocoding from strings
- Host: GitHub
- URL: https://github.com/marians/geogut
- Owner: marians
- Created: 2012-07-10T16:05:42.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2014-04-09T17:05:22.000Z (over 10 years ago)
- Last Synced: 2024-04-14T14:46:11.703Z (7 months ago)
- Language: Python
- Size: 143 KB
- Stars: 6
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
geogut
======Tiny command line tool(s) for geocoding from strings
## gut.py
This script for now does one thing only: It tries to return the geo-position (longitude, latitude) of a street intersection.
It uses the Overpass API, which is based on OpenStreetmap data. This means that returned data is courtesy of OpenStreetmap. See http://www.openstreetmap.org/copyright on how to attribute.
### Usage
python gut.py [options] "Street1 / Street2"
Street1 and Street2 have to be actual street names. If they have an intersection, the location of the intersection will be printed out.
### Example
This will find the intersection of the two streets "Am Bayenturm" and "Ubierring". The option "-b" gives a bounding box which restricts the search result to a certain area. In this case, it is a box around the city of Cologne, Germany.
> python gut.py -b 6.7,50.8,7.1,51.0 "Am Bayenturm / Ubierring"
>>>> 6.967146475,50.922364224999995For batch processing give file with an intersection on each line as `stdin` and get a pair of coordinates for each line on `stdout`. `stderr` is used for log messages.
> python gut.py -b 6.7,50.8,7.1,51.0 < input.txt > output.txt
### Parameters
#### -b, --bbox=[BBOX]
This is optional but highly recommended, since street names are highly ambigious. By restricting the search to a certain bounding box you can ensure that the result is more or less constrained to a certain city or regions. This also helps you speed up the query and limit data transfer considerably!
If you leave out this option, you risk bad results. If intersections of several streets with the same name exist, the average of these points will be returned. This might be in the middle of nowhere.
The bounding box is given as comma-seperated float values in the following order:
1. lower longitude
2. lower latitude
3. higher longitude
4. higher latitude### Caching
Overpass API requests are cached automatically in a file called `geogut_cache.py` in the current working directory.
This speeds up identical requests and takes load from the Overpass servers.You can delete the cache file in order to make sure that the server is connected for fresh results. The file
will be recreated upon next run.