Skip to main content

I have a bunch of CSV spatial data that have no street location allocated to them. I was wondering if FME can import a basemap of google earth or google maps of my location and using an attribute apply a street name to my csv points?

We can able to open base map along with our features using "FME Inspector". We have options to select available base maps.


There's a number of basemaps available by default, although most of them do require an account with the service that offers them. You also have the option to add your own, e.g. through WMS or WMTS (although technically any dataset in a format that's supported by FME can be used as a basemap).

 

Then the second part of the question, the basemaps that are supplied with FME are only imagery, so you can't get any data from them. However, what you can do is use the GeoCoder transformer to reverse geocode (get a street number/name for a set of coordinates). The GeoCoder offers a few geocoding services, including Google. Again you'll need an account for most of them and they tend to not be free, although there may be free tiers (I know OpenCage has a pretty generous free tier).


OK - let's elaborate a little bit on the second part of your question: how to find the closest address to each of the latitude/longitude coordinates in your CSV. As @Hans van der Maarel​ already has indicated, this process is called reverse geocoding. From within the Geocoder transformer you can link to several geocoding services, and for most of them you do indeed need credentials.

But you might have a look at the OpenStreetMap option, using the (free and) open-source Nominatim geocoder.

Pleas find attached a little example workspace: it creates a point, reprojects it to WGS84 and extracts the coordinates, which are input to the reverse geocoding service. And yes, this provides the _address of our local Dutch office.

HTH,

Egge-Jan

reverse geocoding  


There's a number of basemaps available by default, although most of them do require an account with the service that offers them. You also have the option to add your own, e.g. through WMS or WMTS (although technically any dataset in a format that's supported by FME can be used as a basemap).

 

Then the second part of the question, the basemaps that are supplied with FME are only imagery, so you can't get any data from them. However, what you can do is use the GeoCoder transformer to reverse geocode (get a street number/name for a set of coordinates). The GeoCoder offers a few geocoding services, including Google. Again you'll need an account for most of them and they tend to not be free, although there may be free tiers (I know OpenCage has a pretty generous free tier).

Thanks @Hans van der Maarel​ 


OK - let's elaborate a little bit on the second part of your question: how to find the closest address to each of the latitude/longitude coordinates in your CSV. As @Hans van der Maarel​ already has indicated, this process is called reverse geocoding. From within the Geocoder transformer you can link to several geocoding services, and for most of them you do indeed need credentials.

But you might have a look at the OpenStreetMap option, using the (free and) open-source Nominatim geocoder.

Pleas find attached a little example workspace: it creates a point, reprojects it to WGS84 and extracts the coordinates, which are input to the reverse geocoding service. And yes, this provides the _address of our local Dutch office.

HTH,

Egge-Jan

reverse geocoding  

@egge​ Mate, thanks a bunch, I'll apply right now. Legend!


Reply