views:

75

answers:

5

Hi,

I am in the middle of designing a web form for German and French users. Within this form, the users would have to type street names several times.

I want to minimize the annoyance to the user, and offer autocomplete feature based on common French and German street names.

Any idea where I can a royalty-free list?

Thanks a bunch,

Adam

+1  A: 

You could start by pulling names via Google API (just find e.g. lat/long outer bounds - of Paris and go to the center) - but since Google limits API use, it would probably take very long to do it.

I had once contacted City of Bratislava about the street names list and they sent it to me as XLS. Maybe you could try doing that for your preferred cities.

dusoft
Thanks, but it would take years to get a lawyer's advice on Google's terms; I'll start by searching municipal sites. Thanks!
Adam Matan
+1  A: 

Start with http://en.wikipedia.org/wiki/Category:Streets_in_Germany and http://en.wikipedia.org/wiki/Category:Streets_in_France. You may want to verify the Wikipedia copyright isn't more protective than would be suitable for your needs.

Edit (merged from my own comment): Of course, to answer the "programmatically" part of your question: figure out how to spider and scrape those Wikipedia category pages. The polite thing to do would be to cache it, rather than hitting it every time you need to get the street list; refreshing once every month or so should be sufficient, since the information is unlikely to change significantly.

stack
+1 Thanks! these articles are quite small, I'll try to find their French\German equivalents.
Adam Matan
Good point -- the French/German equivalents do indeed have more street names. For Germany: http://de.wikipedia.org/wiki/Kategorie:Straße_in_Deutschland, and for France: http://fr.wikipedia.org/wiki/Catégorie:Liste_de_rues_de_commune_française. As I mentioned above, you'd want to traverse the Category pages contained in those Categories. For example, you can click through to http://de.wikipedia.org/wiki/Kategorie:Straße_in_Berlin for streets in Berlin.
stack
Another thing to consider is that Wikipedia will probably (I have not verified this) skew towards streets with historical significance, and will *definitely* not provide a complete list. The issue here, of course, is that the set of streets with historical significance may not have a sufficiently large intersection (no pun intended) with the set of streets expected to be entered on your form most often.
stack
A: 

@dusoft might be onto something - maybe someone at a government level can help? I don't think that a simple list of street names cannot be copyrighted, nor any royalties be charged. If that is the case, maybe you could even scrape some mapping data from something like a TomTom?

Colin Pickard
A: 

The "Deutsche Post" offers a list with all street names in Germany:
http://www.deutschepost.de/dpag?xmlFile=link1015590_3877

They don't mention the price, but I reckon it's not for free.

longeasy
Already talked to them - definitely not free.
Adam Matan
+1  A: 

Would your users have to type the same street name multiple times? Because you could easily prevent this by coding something that prefilled the fields.

Another option could be to use your user database as a resource. Query it for all the available street names entered by your existing users and use that to generate suggestions. Of course this would only work if you have a considerable number of users.

[EDIT] You could have a look at OpenStreetMap with their Planet.osm dumbs (or have a look here for a dump containing data for just Europe). That is basically the OSM database with all the map information they have, including street names. It's all in an XML format and streets seem to be stored as Ways. There are tools (i.e. Osmosis) to extract the data and put it into a database, or you could write something to plough through the data and filter out the street names for your database.

tomlog
+1 That's part of the plan, but it would be nice to have something to begin with.
Adam Matan