Reading Time: 6 minutes


More and more companies are using geocoding at some point in their business processes. Geocoding can help companies take smarter decisions by offering customers location-specific services and more. The fact is, geocoding is becoming a go-to resource for those with high hopes of increasing revenue, reducing expenses, and driving up customer loyalty and satisfaction. This is where an API like GeoNames comes into play.

Geocoding & Geotagging

Geocoding is the process of finding associated geographic coordinates (often expressed as latitude and longitude) from other geographic data, such as street addresses, or zip codes (postal codes). With geographic coordinates the features can be mapped and entered into Geographic Information Systems, or the coordinates can be embedded into media such as digital photographs via geotagging.
Reverse geocoding is the opposite: finding an associated textual location such as a street address, from geographic coordinates.

latest report
Learn why we are the Leaders in API management and iPaaS

Geotagging (also written as GeoTagging) is the process of adding geographical identification metadata to various media such as a Geotagged photograph or video, websites, SMS messages, or RSS feeds and is a form of geospatial metadata. These data usually consist of latitude and longitude coordinates, though they can also include altitude, bearing, distance, accuracy data, and place names. It is commonly used for photographs, giving geotagged photographs.

Geotagging can help users find a wide variety of location-specific information. For instance, one can find images taken near a given location by entering latitude and longitude coordinates into a suitable image search engine. Geotagging-enabled information services can also potentially be used to find location-based news, websites, or other resources. Geotagging can tell users the location of the content of a given picture or other media or the point of view, and conversely on some media platforms show media relevant to a given location.

GeoNames Cloud Connector for Mule

GeoNames is a worldwide geographical database that contains over 10 million geographical names and consists of 7.5 million unique features whereof 2.8 million populated places and 5.5 million alternate names. All features are categorized into one out of nine feature classes and further subcategorized into one out of 645 feature codes. Beyond names of places in various languages, data stored include latitude, longitude, elevation, population, administrative subdivision and postal codes. All coordinates use the World Geodetic System 1984 (WGS84). GeoNames features include direct and reverse geocoding, finding places through postal codes, finding places next to a given place, and finding Wikipedia articles about neighbouring places.

Using this connector in your Mule application is pretty straightforward. First you need to set the user name that will be used to access GeoNames API:

<geonames:config username="demo"/>

Then you are ready to use it. The connector supports all of GeoNames API operations, currently around 40. For example, if you want to search for postal codes for San Francisco:

Let’s say you want to find Wikipedia articles written in Spanish for the city of London:

Or perhaps, you have some coordinates for which you have to find Wikipedia articles near to:

Maybe you need to give a user the points of interest (restaurants, shops, museums, etc.) located near his/her location:

Want to try out GeoNames Cloud Connector?

Really easy, first add the following snippet to your Maven POM:

<repositories>
    <repository>
        <id>mulesoft-releases</id>
        <name>MuleSoft Releases Repository</name>
        <url>http://repository.mulesoft.org/releases/</url>
        <layout>default</layout>
    </repsitory>
</repositories>

then add the connector as a dependency:

<dependency>
    <groupId>org.mule.modules</groupId>
    <artifactId>mule-module-geonames</artifactId>
    <version>1.0</version>
</dependency>

Hope you find this new connector useful. If you want more information about this connector and maybe browse its source code you can check its home page.

Stay tuned, in my next blog post I will talk about a new Cloud Connector for Jira!