Skip to main content

Announcing FluentGeoApi - a C# wrapper to

I'm pleased to make public the fruits of my late nights....FluentGeoApi!

I previously mentioned that I am working on a private/personal project - well it's got an element of geolocation to it and after a bit of internet research I found In order to interact with GeoAPI I decided to write a fluent style wrapper over the top of it and I've just released v1.0.0.0, a .Net 3.5 C# library to take the pain out of making REST calls and dealing with the GeoJson wire format used by GeoAPI. It's not 100% coverage of the API but I plan on getting there ASAP...however I've implemented Create/Modify/Delete a user entity, Simple and Keyword Search which is enough to release it.

If you are working with geolocation data/features in your .Net application I would check out - I've been really impressed with what if offers (and if you hit the api < 20,000 times a day it won't cost you a penny!) - hopefully you'll also consider using FluentGeoApi too - the combination means you could be reading, writing and searching geolocation data in minutes!

Drop me a comment if you need help with it or have some feedback - hope it's useful!


Anonymous said…
I am having trouble using the binary release... I tried to submit a Issue on the WIKI but the "Submit Issue" button is greyed out for me.

Here are the details:

What steps will reproduce the problem?
1. download binary release (
2. Create a new Winforms app (test app)
3. Add a reference to FluentGeoApi.dll
4. Add a "using IAgile.Platform.GeoApi.v1"

What is the expected output? What do you see instead?
The V1 name space doesn't exist.. the only items exposed root items off GEO are IAgile.Platform.Geo.Serialisers and using IAgile.Platform.Geo.Interfaces

What version of the product are you using? On what operating system
I am using V1002 with VS2010

Please provide any additional information below.
When you First add the reference to the application you can in fact see the IAgile.Platform.GeoApi.v1 namespace.. however if you try to compile that namespace no longer becomes valid
James Simmonds said…
Ok, the submit button is disabled until you enter some text in the "Summary" field.

I'll take a look at the docs and the v1 namespace problem you are seeing. I'll feed back here and also add a comment to the code site (or upload your issue).



PS: thanks for the good description of the problem, makes my life much easier!
Anonymous said…
Sounds good... thanks for looking at it.

And yes I feel like a moron for not seeing the summary field on the wiki.. duh :(
Anonymous said…
FYI I submitted the issue to the WIKI.. we can track from there.

sorry about the cross post
James Simmonds said…
Ok, it looks like a mistake in the wiki docs. I've fixed them and the using statement should be,

using IAgile.Platform.Geo.GeoApi.v1;

I've not verified this, just had a quick look at the codebase but I think this is the problem.


Anonymous said…
I just replied.. that doesnt solve it .. the namespace doesnt exist.

see my comment and project on the wiki.
Anonymous said…
I replied to the wIKI and attached a sample project.. not sure you got the actual core problem.
James Simmonds said…
Ok so for benefit of everyone else the issue is tracked here

I think the answer after looking at the test project is that it references both fluentgeoapi.dll & all the dlls it is ilmerged from. You only need to reference fluentgeoapi.dll - however I've not tested this theory as I've been on the road today.

Popular posts from this blog

Walk-Thru: Using Wolfpack to automatically deploy and smoke test your system

First, some history... The advent of NuGet has revolutionised many many aspects of the .Net ecosystem; MyGet, Chocolatey & OctopusDeploy to name a few solutions building upon its success bring even more features to the table.

I also spotted that NuGet could solve a problem I was having with my OSS System Monitoring software Wolfpack; essentially this is a core application framework that uses plugins for extension (Wolfpack Contrib) but how to unify, standardise and streamline how these plugins are made available? NuGet to the rescue again - I wrapped the NuGet infrastructure (I deem NuGet to be so ubiquitous and stable that is has transcended into the software "infrastrucuture" hall of fame) with a new OSS project called Sidewinder. Sidewinder allows me to wrap all my little extension and plugins in NuGet packages and deploy them directly from the Wolfpack application - it even allows me to issue a new version of Wolfpack and have Wolfpack update itself, sweet huh?


Geckoboard Countdown Widget v2

v2 is here, now with added colours! This time using the RAG Numbers widget to display your date countdown - as you get nearer the date the number will change from green to amber then red.

The new url is:!
Note 1: notice the new /rag/ path and the msg querystring param.
Note 2: the original v1 url still works

To use this on your Geckoboard add a new "Custom Widget/RAG Numbers" widget. By default the number will turn amber at 10 or less days to go and red at 3 or less days to go however you can change these with the querystring (see below).

Required querystring params
date: "yyyy-mm-dd" format, this is the target date to countdown totz: timezone offset in hours from GMT that you are in. Can be negative if you are behind GMT
Optional querystring params
msg: the label that appears next to the number of days (remember to encode spaces as +). The default is "Days Remaining" if you…

Resharper add-in idea - highlight IDisposable vars

[Update 18th July 2013]
@RobGibbens and Greg Hurlman picked up on this - Rob pointed out that there is an FxCop rule that can do this and Greg suggested a Visual Studio extension. I've had a quick look at the Visual Studio options and it looks like an "Editor Extension" is a good fit....hmmm, Project New, click...doh...dammit I really don't have time for this but it looks a fun little diversion! I'll update here if I get anything working.

[Original Post]
Had an interesting idea for a Visual Studio Resharper add-in the other day but don't have the time to implement it so thought I would put it out might already exist (and hopefully someone can point me in the right direction) or someone will build it (Darren Voisey where are you?!).

The idea is very simple really - when you have a variable for an object that implements IDisposable it gets highlighted or a tell-tale is displayed to let you know it should be disposed or should be wrapped in a using sta…