I need to geocode an Excel file of addresses in Greece ("number", "name", "address", "city", "country" are my columns) using MMQGIS with OpenStreetMap.

I took all the steps to turn it to a .csv-file (converted .xls to .txt, then to UTF-8 .txt, then to .csv). I managed to create valid locations to save my output files, ran the Geocoding, but, my shapefile -as well as the attribute table- is empty of content.

enter image description here

Any ideas and suggestions would be very welcome!

PS: My actual Excel file is quite longer, this is a file for practicing.

  • Can you be so kind and share a sample of your data with us? – Taras Dec 20 '20 at 12:07
  • See the documentation: Input CSV File: The input address CSV file. This file should be encoded in the UTF-8 character set. Although other 8-bit encodings (like Windoze ISO-8859-x) will work if only ASCII characters are present, non-ASCII characters may cause unpredictable behavior. – Taras Dec 20 '20 at 12:13
  • @Taras: even UTF-8 encoded, the plugin did not recognize an address with one single non-ascii-character (ü), so the documentation seems quite optimistic, to say the least... The exactely same string works perfectly on the OSM website, so Nominatim is not the problem. – Babel Dec 20 '20 at 12:21
  • 1
    @Irini_X., do you have some experience with geocoding using Python, for instance, GeoPy? If yes, I can suggest geocoding your addresses with GeoPy and afterwards bringing them already with coordinates into QGIS. Because as was mentioned by @babel Nominatim does not have problems to geocode non-ASCII characters for instance "Εγνατία 24, Θεσσαλονίκη" gives 40.6388031 22.938241. I think it has something to do with MMQGIS. – Taras Dec 20 '20 at 12:32
  • 1
    Once again, thank you for taking the time to answer my question, @Taras. I do like and appreciate this kind and supportive community here A LOT!!! PLease, give me some time to try out your suggestions and will get back with more material, as well as part of the data, to work on. – Irini_X. Dec 20 '20 at 17:11

The short answer: this is a limitation of the plugin - it does not accept any non-ascii characters. The MMQGIS website states about the input CSV file:

This file should be encoded in the UTF-8 character set. Although other 8-bit encodings (like Windoze ISO-8859-x) will work if only ASCII characters are present, non-ASCII characters may cause unpredictable behavior.

However, even when saving it as a UTF-8 encoded CSV, it does not work even when using just one ASCII-character (ü) in an address.

Workaround: convert your addresses to latin characters or use an alternative tool for geocoding.

Longer answer as suggested by empirical evidence after some testing: The MMQGIS plugin has a problem with non-ASCII characters. For a test-case, I used a few addresses (street/house-no) I got from OpenStreetMap (OSM) to be sure that they are in the OSM/Nominatim database I use for geocoding.

With simple names such as Hallerstrasse 54,Bern it works perfectly. When I add a nearby address, Brückfeldstrasse 12,Bern it does not generate any output for that, even if OSM knows this address. So clearly the plugin has difficulties interpreting the german diacritic Umlaut (ü). As you use greek characters, this applies to your addresses as well.

However, when I tried to transliterate an address from Greece to latin characters, it worked. See this address here: https://www.openstreetmap.org/node/4711635403, Εγνατία 24, Θεσσαλονίκη. When I use as an input Egnatia 24,Thessaloninik,Greece, it works perfectly. The same is true for other non-latin scripts like georgian alphabet: Abo Tbilieli Street,Tbilisi,Georgia works, but აბო თბილელის ქუჩა does not produce any results. When you paste this non-lating string to the search field on https://www.openstreetmap.org/, it finds the correct place. So Nominatim can handle non ascii characters. That's why the limitation must be on the part of the plugin.

Workaround: convert your addresses to latin characters, even though that probably will not be that unambiguous as in the case above. It seems that OSM/Nominatim has also some own translitaration in the background. Even when looking for Derkon, Thessaloniki, it correctly finds the street (in the plugin as well), even though the street name is not available in latin characters in the OSM data set: https://www.openstreetmap.org/way/14886850

Or try another tool for geocoding greek place names (that, by the way, would be another question here on GIS SE) - or check out this: https://stackoverflow.com/a/9730451/13651925

  • I cannot thank you enough!! Your suggestions do seem to work or, to put it more accurately, shed a light to move forward. Please, give me some time to try more thoroughly the solutions you indicated and will get back with detailed results, hopefully some answers that work too. – Irini_X. Dec 20 '20 at 16:51
  • You're welcome. Feel free to come back with any questions - if it's connected to this answer, you can add it here as a comment. For further questions, according to the policy of this site, post a new question. If this answer was helpful, consider accepting it. – Babel Dec 20 '20 at 16:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.