NGeo has moved to github

For the latest source code, please look here. The codeplex project will remain here for historical purposes for a brief time, but from now on, all new code will be available only at github.

WTF is NGeo?

NGeo makes it easier for users of geographic data to invoke GeoNames and Yahoo! GeoPlanet / PlaceFinder services. You'll no longer have to write your own GeoNames, GeoPlanet, or PlaceFinder clients. It's developed in ASP.NET 4.0, and uses WCF ServiceModel libraries to deserialize JSON data into Plain Old C# Objects.

How can I use it?

using (var geoNamesClient = new NGeo.GeoNames.GeoNamesClient())
{
    var toponym = geoNamesClient.Get(6295630, "demo"); // replace with your own username
    // do something with the data
}

Why should I use it?

There are at least 2 other GeoNames clients that we're aware of, and they are listed on the GeoNames Client Libraries page. This project is very much like the .NET WCF project written by Baretta2 / Myren. We started modifying the Myren.GeoNames.Client project source code because we bought premium GeoNames credits, and needed to invoke a different service URL. Also, since Baretta2's project was published, GeoNames has started requiring a username parameter to be passed to each web service invocation.

But that wasn't enough. We also needed a client for the Yahoo! GeoPlanet API, and to our knowledge, there is not one of these written in .NET. So we rolled our own.

But that still wasn't enough. We also wanted this code to be available as a NuGet package, so that we could use it in multiple projects.

So if you want a NuGet package that can give your app a client for GeoNames, Yahoo! GeoPlanet, and Yahoo! PlaceFinder services, this is the only one we're aware of.

What if I don't like it?

So far, we've only built out clients for the services we use in our projects. If you would like to contribute to this project instead of building your own, let us know.

Last edited Feb 27, 2012 at 6:41 PM by danludwig, version 10