Launch Site Happy Geocode
This is an entry in the 2012 Rails Rumble. After checking it out, we encourage you
to leave feedback and then take a look at the hundreds of other amazing entries.
By "geocologne"
Description
The OpenStreetMap has tons of great data. But one big thing is missing: a good geocoder. In this rails rumble we implemented one. One that is supposed to be awesome and scaleable.
As the backend database we used the new NoSQL database ArangoDB (http://www.arangodb.org)!
We took the OpenStreetMap data and transposed it in a way that made more sense for geocoding. During the implementation we found some flaws and tried to adjust. Due to the pure amount of data, the lack of a scalable machine for transposing and the time we had to process the data, we reduced the dataset to North Rhine-Westphalia, Germany. This means you can search for addresses in Köln, Bochum, or even Düsseldorf.
Next to the Rails application that lies in the RailsRumble repository, we created an importer (happy-importer) gem that takes an OSM-XML export and transposes it into our format. We also created a parser (parsec) for German street addresses that disects the user input and normalizes the data to be searched. Both gems can be found at a seperate organization: https://github.com/happy-geocode/
If you are not familiar with German addresses, here are some sample queries for you:
Street & City: Christinenweg, Hamm
Street & Zip: Markfestestraße, 52457
Street, City & State: Bredeneyer Straße, Essen, NRW
Streets with unusual names:
- Scharpenberg, Mülheim an der Ruhr
- Dimbeck, Mülheim an der Ruhr
Built By
Built With
Interested in seeing what was used to build this application? Resources may include things like open source libraries, third party APIs, and icons.
Main Application:
- rails
- ashikawa-ar (https://github.com/triAGENS/ashikawa-ar)
- bootstrap-sass-rails
- leaflet-rails
- font-awesome-rails
- simple-navigation
- haml-rails
- coderay
- capistrano
- JS...
Main Application:
- rails
- ashikawa-ar (https://github.com/triAGENS/ashikawa-ar)
- bootstrap-sass-rails
- leaflet-rails
- font-awesome-rails
- simple-navigation
- haml-rails
- coderay
- capistrano
- JS:
- leaflet
- jQuery.cookie (https://github.com/carhartl/jquery-cookie)
- jQuery.balloon
Parsec
- rspec
happy-importer
- rake
- parsec
- ashikawa-core (https://github.com/triAGENS/ashikawa-core)
- nokogiri
- rspec
Additional resources:
- ArangoDB NoSQL Database ( http://arangodb.org )
- Geofabrik OSM Dump ( http://download.geofabrik.de )
- German Zip Codes ( http://sourceforge.net/projects/mapbender/files/Data/PLZ/plz.zip and http://www.cebus.ch/de/plz-bundesland.htm )
- Geonames.org - list of German Cities ( http://geonames.org )
2012