Archive for June, 2007

FOSS4G 2007: Too much goodness!

Over 200 proposals were made for presentations at FOSS4G 2007. Narrowing these down to the required 120 would be an impossible task for one committee, so we’ve taken the community-based approach of allowing you to choose your favourites.

I completed my selection this morning, after visiting the website and getting an email telling me how to rate the proposals. It said “try to restrict yourself
to between 25 and 40 expressions of interest if you can”. I thought… no problem, I’ve never been to a conference where there’s that many interesting sessions. Wrong. In the end I (barely) made it into this window, but it took me over an hour of careful reading and weighing to decide which sessions I was most interested in.

The breadth of choice for FOSS4G 2007 attendees is going to be amazing, regardless of which proposals make the final cut. When you combine the unique opportunity of hands-on workshops (filling up fast), in-conference labs, and the amazing slate of presentations, the value is incredible. Especially if you register now to take advantage of the early-bird rate.

-J

3 Comments

I Heart KML Schema!

Update: this information is now out of date because of improvements to the KML format in version 2.2. You can read about this in a later post and in Google’s great tutorial on extended data.

Recently, Chris over at FortiusOne has written a couple articles, focusing largely on the Schema tag in KML. One thing in particular from this article got me thinking:

Google Earth will display your custom fields in the markers that get displayed in a Schema-based KML file, but it’s still up to you to make a pretty-looking description if you want, and if you want to include some of the data in your custom fields, you’ll have to duplicate the information which isn’t ideal.

This certainly seems like a bit of a roadblock for the good old Schema tag. It really breaks the whole separation of content from style idea, which surprised me because this separation had been accommodated in other KML tags. So I started hacking… and found that this isn’t really a limitation. One word: BalloonStyle.

Using this tag, you can easily use Schema to transport relatively pure attributes, while pointing to style information located elsewhere in the document or, if you’re in the mood, in a different document entirely.

Here’s some data in a relatively simple schema:

 <Newt>
   <name>Sammy G</name>
   <styleUrl>http://www.jasonbirch.com/files/kml_schema_style.kml#newt_style</styleUrl>
   <Point>
     <coordinates>1.75,1.75,0</coordinates>
   </Point>
   <newt_id>36</newt_id>
   <newt_breed>Common Orange Slitherer</newt_breed>
   <newt_slime_factor>7.2</newt_slime_factor>
   <newt_tail_length>6</newt_tail_length>
 </Newt>

Which can be combined with the following BalloonStyle:

 <Style id="newt_style">
  <BalloonStyle>
   <text><![CDATA[
    <h1>$[name]</h1>
    <table>
     <tr>
      <td>Breed:</td>
      <td>$[newt_breed]</td>
     </tr>
     <tr>
      <td>Tail Length:</td>
      <td>$[newt_tail_length]</td>
     </tr>
     <tr>
      <td>Slime Factor:</td>
      <td>$[newt_slime_factor]</td>
     </tr>
     <tr>
      <td colspan="2"><img src=
       "http://www.jasonbirch.com/files/jason_small.jpg?id=$[newt_id]"
       /></td>
     </tr>
    </table>
   ]]></text>
  </BalloonStyle>
 </Style>

To give you the fully separated content/style shown below:

Sammy G Meets World

Now, I think that’s downright cool. I can have my cake and eat it too. If you want to see this example live in Google Earth ™, just click on the image above. You can also view the source of the content document, or of the style document. I’ll leave it as an exercise for the reader to determine whether this technique can be used with more complex tags than SimpleField, such as SimpleArrayField and ObjField :)

I am aware of one other application (Safe Software’s FME) that is using the Schema tag to pass around attributes, and have really liked the idea ever since I first saw it in Rebecca Moore’s anti-logging KML file. It’s easy to use, doesn’t require external documents, and combined with other KML goodness allows you to pack styling around with your fully attributed data.

There is a nasty rumour floating around that Schema has been deprecated. It isn’t listed as such in the KML docs yet, and I certainly hope that it isn’t too late to ensure continued support for this handy tag from Google.

-J

7 Comments

Learning MapGuide

Jim O’Leary will be offering a pair of courses on MapGuide Open Source at the British Columbia Institute of Technology (BCIT) this fall. Jim is an experienced educator, and has been actively promoting open source geospatial and neogeography in the Vancouver PHP community.

In the first three-day session, Jim covers all of the MapGuide basics in a format that doesn’t require any programming knowledge. In the second session, he moves deeper into the MapGuide APIs and also shows how to work with other popular GIS components such as PostGIS, Oracle, and Google Earth.

I am not surprised that BCIT is offering this course. One of the smartest folks I have ever worked with–Rob Hewlett–is an instructor there. Also, a couple years ago my employer took on a practicum student–Colin Robertson–who developed a full web map during his short term. BCIT has the technological chops to realize how important this kind of content is.

I hope that this is just the tip of the iceberg, as educational institutions begin to understand that they can provide real value to their students (and the students’ potential employers) by introducing them to open source geospatial technologies.

-J

P.S. note to self: try not to forget about BCIT’s deadline for practicum placements AGAIN this year

7 Comments

Who writes history?

About a year and a half ago, Autodesk entered into the open source geospatial community with an announcement that caused a storm of controversy and recrimination in the MapServer community. I thought that this had all been worked out, but Karel Cech just posted a semi-informed rant on the subject and brought it up again.

Here’s my measured response:

MapServer Enterprise is not another name for MapGuide Open Source. The brand is plain-and-simple MapGuide, and shouldn’t be referred to as anything else. Autodesk’s packaged commercial version is called MapGuide Enterprise. Perhaps this is what the ADSK representative was referring to?

To add a little clarification to Karel’s history… Back in 2005, the MapServer technical steering committee worked with Autodesk in an attempt to make Autodesk’s entry into open source geospatial a productive experience for both MapServer and for what would become MapGuide. Working in secrecy and failing to include the larger MapServer community in this effort had some nasty repercussions at the time (brand confusion, community turmoil, etc). However, Autodesk’s Gary Lang acted graciously throughout, and within a week had backed away from using the MapServer name. This, despite the weeks of effort it took the development team to re-brand, re-package, and re-test the code base, and despite the time and money that had already been spent marketing the new brand.

Since then, Autodesk has proven its commitment to open development processes. The MapGuide developers at Autodesk use Fogel’s Producing Open Source Software as a bible and conscientiously work with our user community to guide the future of MapGuide in as open a way as possible. They have also proven their commitment to the larger open source geospatial community through the ongoing funding and support of the Open Source Geospatial Foundation. OSGeo acts as an umbrella organisation for MapGuide, MapServer, and many other leading-edge open source geospatial applications.

As Karel says, it’s great that there are several alternative geospatial server platforms available in the open source domain. I would certainly encourage anyone who requires a web mapping platform to properly evaluate MapGuide, MapServer, GeoServer and other open source geospatial platforms to determine which meets their needs. Choose the best tool for the job; choice is a huge part of the open source value proposition. But whatever you do, don’t dismiss any one of them based on a single inaccurate blog post.

Disclosure: I am a MapGuide Open Source Project Steering Committee member (though not speaking for the PSC here) and am NOT an Autodesk employee.

- J

P.S. MapGuide does offer a JSP Web API alongside its functionally equivalent PHP and ASP.Net interfaces. However, contrary to Karel’s claims, MapGuide is not built on Java. MapGuide is entirely coded in cross-platform C++, using SWIG to generate the user-facing web APIs. It leverages many of the same open source C-based libraries used by MapServer and other applications, such as Proj.4, GEOS and, indirectly, GDAL and OGR.

5 Comments

Compliance testing gone wild…

After years of supporting an IE / Windows web map, I am going to make darned sure that our next-gen application is cross-browser. Tonight I kicked it up a notch and tested the platform the kool kids are using this year: Opera on Wii!

Here are some screen shots; I was amazed that it worked (mostly):

Opening CemeteryMap from my Wii favourites

There she is... evidence that these screenshots aren't mockups

And... it works!

But how the heck do I print?

Anyone know how to print from a Wii? ;)

This app is not really ready for public consumption yet (problems with data) but you can have a look at it if you want:

Nanaimo Cemetery Map Development Site

It uses MapGuide Open Source and the new Fusion framework being developed by DM Solutions Group. We have used the same platform to develop a mobile boulevard mowing management application, and have a full rewrite of our MapGuide 6.5 application underway as well.

-J

4 Comments