WFS-T adventures with Mapinfo 9.5

So i’ve been a bit late taking a look at the new Mapinfo Professional v9.5. With the consistent dissapointment towards the consumption of OGC standards in commercial apps I wasn’t holding my breath … but wait a sec, it did work and it worked damn well. I mean, it worked flawlessly; updates, inserts, deletes, lock support and it also comes complete with a semi-intelligent conflict manager.


A few more suggestions to improve things further (for anyone listening~) …

  1. Add HTTP compression handling. Huge performance gains with the transfer of features and its really a no brainer to enable in any http library.
  2. I am by no means a “Mapinfo Master” ™, but it would be great to enable an automated WFS Table refresh especially if you are retrieving features based on CURRENT_MAPPER.  I guess the CTRL+F5 shortcut makes it easy-ish … but i certainly found myself wondering whether i had retrieved the features or not and ended up just sending unnecessary requests.
  3. If a transaction is successful, give me some kind of alert. Alerting only when it fails does not instill much confidence whether my long edit session went through or not (even after refreshing)
  4. It would be fantastic to add helpful warning messages when performance drops. I’d imagine most users would skim over the maxfeatures and column / row filters and just add the layer.
  5. If the first request takes 5 minutes and Mapinfo tells me i just retrieved 4000 poly features totalling 10mb and it kindly directed me to the WFS how-to, i’d be more inclined to see what the filtering options were all about :)

So there’s no WFS1.1 support … but i’m still trying to get my head around handling the axis order issue and are more than happy to let sleeping dogs lie … at least for the moment. I only had time to test against our Geoserver installs, but it certainly seems tested against many other apps including Cadcorp, Ionic & Mapinfo. Geoserver specific here, but the advanced security in 1.6.x works very well with the bundled support for basic authentication.


6 thoughts on “WFS-T adventures with Mapinfo 9.5”

  1. Hey Chris,
    this is really good news, the more software talks open standards, the merrier, having an established desktop gis player in the mix never hurts. Wondering how is the situation with ArcGIS 9.3, did they fix stuff, how is the editing experience (if any?). Sorry for the dumb questions but I’m mostly untouched by ESRI software ;)

  2. Hey Andrea,

    ArcGIS 9.3 still doesnt have transactional support, however the read support appears to be at a more “usable” state. Its still lacking a lot of polish that Mapinfo has though. Little things that quickly turn into big items with ESRI support …

    1. Sending WFS1.1 requests when its clear it doesnt handle the 1.1 changes such as axis ordering at all (not configurable either, will send 1.1 regardless!)
    2. No filter customisation. Defaults to BBOX via HTTP GET, not possible to change .. anything really.
    3. Opening the attribute table attempts to send an unbounded WFS request (eg. download the whole featuretype, instead of just the features i have already recieved)
    4. Simply restyling WFS layers will resend the WFS query .. what???

    But as i said, 9.3 is an improvement but still no where near robust.

    You may see some rationale behind some of my enhancements to Geoserver in these items :-)

  3. Doh, yeah, too bad. About the restilying and subsequent request, I believe uDig is doing the same. The rationale is, you don’t know when data on the server is modified so you requery at each step.
    QGis assumes the opposite, just downloads once and then never re-queries the server again.
    Given the WFS protocol is not helping here this behaviour should at least be configurable on the client side.

  4. Yeah i’ll marginally accept that excuse, but user-choice should always be preferred.

    Its not just with restyling either, identifying features in ArcGIS? Expect another getfeature request (with a very small BBOX)

    I guess it all gets back to the lack of any suggested way of implementing the standards. Mapinfo at least in my eyes is certainly one of the best as you can do either (one off request vs dynamic approach)

  5. Hi Chris,
    I was wondering how you ascertained when a wfs query was sent out. I’m playing with Arc 9.3 & wfs, and from the logs it appears to send out a wfs query on the when you add the layer, then index the features and store it in a file.

    The interop logs do not indicate a wfs query after the style has been changed, or opening the attribute table, or changing the aoi of the map. As well as the index files do not look to have been updated since the initial query.

    So a couple of questions:
    1) I’m interested in how you’ve found a way to trigger a wfs query or any documentation on what is actually going on.

    2) In ArcMap 9.2 & WFS, (please correct me if I’m wrong!) I think only the features in the aoi get loaded. However, when I write a feature cursor to search all the features in the FeatureClass, I get all the features, not just the ones loaded in the AOI. Does this mean that ArcObjects is getting all the features from the WFS sever?

    Thank you!

  6. Hi Rebecca,

    Arc9.3 WFS support has improved over the 9.2 series so you may be right regarding the style change not sending another request.

    Easiest way to confirm is to use a proxy such as Charles or Fiddler2 to intercept and analyse all queries sent by ArcGIS.

    RE: 2), yes you are correct. Any operation that relies on the whole FeatureClass (such as attribute table, calculator, styling etc.) results in an unbounded wfs request for all features. This is really the killer for 9.2 support, and i also believe not all of these are resolved in 9.3 either.

    Grab one of the proxies i mentioned and report back. I’d like to confirm i’m not imagining things :)

Comments are closed.